Q!eáã5ÁÕÒǨãEoðøn®@tHÇí G¿ «#!M:talK¢x+¦á>Êq&ÈÏw^õ\ãN&R®M(
{"__cls":"class KYCProcessSC {\n constructor(\n owners = [],\n agent,\n fund,\n requirements = []\n ) {\n this._owners = owners;\n this.agent = agent\n this.fund = fund\n // this.requirements = requirements.map(req => ({'name': req, 'documentId': '', status: 'Not Uploaded'}));\n this.requirements = requirements.map(req => [req, '', 'Not Uploaded']);\n this.kycOnboarded = false;\n }\n\n addOwners(publicKeys) {\n this._owners = [...new Set(this._owners.concat(publicKeys))];\n }\n\n uploadKYCRequirement(reqName, documentId) {\n const curRequirement = this.requirements.find(req => req[0] === reqName)\n if (!!curRequirement) {\n curRequirement[1] = documentId\n curRequirement[2] = 'Pending'\n } else {\n throw new Error('No such requirement')\n }\n }\n \n approveKyc(reqName) {\n const curRequirement = this.requirements.find(req => req[0] === reqName)\n if (!!curRequirement) {\n curRequirement[2] = 'Approved'\n if(this.requirements.every((r) => r.status === 'Approved')) this.kycOnboarded = true \n } else {\n throw new Error('No such requirement')\n }\n }\n \n rejectKyc(reqName) {\n const curRequirement = this.requirements.find(req => req[0] === reqName)\n if (!!curRequirement) {\n curRequirement[2] = 'Rejected'\n this.kycOnboarded = false \n } else {\n throw new Error('No such requirement')\n }\n }\n\n addRequirement(reqName) {\n const curRequirement = this.requirements.find(req => req[0] === reqName)\n if (!!curRequirement) {\n throw new Error('Such requirement already exists')\n } else {\n this.requirements.push([reqName, '', 'Not Uploaded'])\n }\n }\n\n removeRequirement(reqName) {\n const curRequirementIndex = this.requirements.findIndex(req => req[0] === reqName)\n if (curRequirementIndex > -1) {\n this.requirements.splice(curRequirementIndex, 1);\n } else {\n throw new Error('No such requirement')\n \n }\n }\n}","__index":{"obj":0},"__func":"constructor","__args":[["0365e1e3358dc1d5d2c7a8e3456ff093f86eae40749848c7ed200647bf00ab2394","02874d3a74616c044b8da278ad2ba6e13e19811cca712696c8cf775ef55ce34e26"],"0811b50e78050af1efc8e5696dd0ba2042c5ebe0b36066643d27989cc0008aa7:0","226dd13529d081c9eeeac7d97fd7fb368deceb7e00c22caab91b2b34b4156a42:0",["Passport","Financial"]]}u
https://whatsonchain.com/tx/undefined