Q!ºýxz¸¬© o½_R\Å92¾v S\\³!Íy¶ªÚþ«tÒZ«Óo#¥í0û¹÷kÕR®MP
{"__cls":"class KYCProcessSC {\r\n constructor(\r\n owners = [],\r\n agent,\r\n fund,\r\n requirements = []\r\n ) {\r\n this._owners = owners;\r\n this.agent = agent\r\n this.fund = fund\r\n this.requirements = requirements.map(req => [req, '', 'Not Uploaded']);\r\n this.kycOnboarded = false;\r\n }\r\n\r\n addOwners(publicKeys) {\r\n this._owners = [...new Set(this._owners.concat(publicKeys))];\r\n }\r\n\r\n uploadKYCRequirement(reqName, documentId) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName)\r\n if (!!curRequirement) {\r\n curRequirement[1] = documentId\r\n curRequirement[2] = 'Pending'\r\n } else {\r\n throw new Error('No such requirement')\r\n }\r\n }\r\n \r\n approveKyc(reqName) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName)\r\n if (!!curRequirement) {\r\n curRequirement[2] = 'Approved'\r\n if(this.requirements.every((r) => r[2] === 'Approved')) this.kycOnboarded = true \r\n } else {\r\n throw new Error('No such requirement')\r\n }\r\n }\r\n \r\n rejectKyc(reqName) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName)\r\n if (!!curRequirement) {\r\n curRequirement[2] = 'Rejected'\r\n this.kycOnboarded = false \r\n } else {\r\n throw new Error('No such requirement')\r\n }\r\n }\r\n\r\n addRequirement(reqName) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName)\r\n if (!!curRequirement) {\r\n throw new Error('Such requirement already exists')\r\n } else {\r\n this.requirements.push([reqName, '', 'Not Uploaded'])\r\n }\r\n }\r\n\r\n removeRequirement(reqName) {\r\n const curRequirementIndex = this.requirements.findIndex(req => req[0] === reqName)\r\n if (curRequirementIndex > -1) {\r\n this.requirements.splice(curRequirementIndex, 1);\r\n } else {\r\n throw new Error('No such requirement')\r\n \r\n }\r\n }\r\n}","__index":{"obj":0},"__func":"constructor","__args":[["03bafd07787ab898ac06a909996fc205bd0f5f525cc53932be760053939b5c5cb3","02cdad8b79b6aadafe8dab7419d25aab81d36f23a51d9ced9908308cfbb9f76bd5"],"4d5fa6b4dc4976571d502e56b95881b366c79084ea504354ee25d3d76aed8e2d:0","e15578db8935651ff3905799f7783e44ad7ee3ad8f4d7bc1bfbc42089f113531:0",[["Passport","1 Month"],["National ID","5 Years"]]]}u
https://whatsonchain.com/tx/undefined