Q!ë[<V¬½µÒ0mXkdÿ
vªoìw)FZÿ!gÑòa7ÓîzÙ`»ÕÃGç.v>lN?YÒq¿(æR®Mi
{"__cls":"class KYCProcessSC {\r\n constructor(owners = [], agent, fund, requirements = []) {\r\n this._owners = owners;\r\n this.agent = agent;\r\n this.fund = fund;\r\n this.requirements = requirements.map(req => [req[0] || '', req[1] || '', '', 'Not Uploaded', '', '']); //[name, expirationPeriod, documentId, status, revDate, comments]\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[2] = documentId;\r\n curRequirement[3] = 'Uploaded';\r\n } else {\r\n throw new Error('No such requirement');\r\n }\r\n }\r\n\r\n approveKyc(reqName, revDate) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName);\r\n if (!!curRequirement) {\r\n curRequirement[3] = 'Approved';\r\n curRequirement[4] = revDate;\r\n curRequirement[5] = '';\r\n if (this.requirements.every(r => r[3] === '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, comments, revDate) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName);\r\n if (!!curRequirement) {\r\n curRequirement[3] = 'Rejected';\r\n curRequirement[4] = revDate;\r\n curRequirement[5] = comments;\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([curRequirement[0], curRequirement[1], '', '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}","__index":{"obj":0},"__func":"constructor","__args":[["03eb5b3c56acbd9e9fb5d230916d586b64ff0d11761daa6f1c12ec779729465aff","0267d1f261ad37d3ee7ad99a60bb9dd510c347e72e763e6c4e3f5915d271bf28e6"],"f70bf1e3f8941dc4c9fbd6543c96d02d25eaece21f1d43bd05764ec0079c69d7:0","269534d475ba5408992d1d80fc829984099a3cdd275faabb1c71a6a9f198942c:0",[["ID","100 Days"]]]}u
https://whatsonchain.com/tx/undefined