Q!Fê ÁË ôR¿Wsß[§Â4°Ë:H½§O s!ª@ËìATÂ¥©/O²¥Ù"©ÑÞ¬EÓ1R®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 => [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[2] === '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":[["02ad46ea20c1cb20f452bf885773df5b14a71c14c234b0cb3a48bda74f94007316","028eaa40cbec41548e97c2a5a92f4f8b82b2a5d990220b12a9d1de8390ac45d331"],"93009ac529eb83a719eb7fdba5c3d9499f62a6acef776d232ba96693aa827287:0","e84c57bab3b870648a96c6071032f45c6888984477e89d4d5baea30e6fb93b1c:0",["Passport","Financial Report"]]}u
https://whatsonchain.com/tx/undefined