#0
nonstandard
0.00004000 BSV
Q!gH#
Áÿp
¹2¨µI¬T¹]?Ñ¢_Öò2Ó!Bj}û+¸{O¤Ð-Ç2r4éu ÀP.¡ûqÄi86R®M {"__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']);\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) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName);\r\n if (!!curRequirement) {\r\n curRequirement[3] = 'Approved';\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) {\r\n const curRequirement = this.requirements.find(req => req[0] === reqName);\r\n if (!!curRequirement) {\r\n curRequirement[3] = '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([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":[["039a6790974804230ac10eff700d89b932a8b549ac54b95d3fd186a25fd6f232d3","02426a177dfb2bb8867b4fa4d02d91c732723417e97509c0502ea1fb71c4693836"],"2ecded6bc84190a69774d9c15679ce897f68b524e511c4ad790291174c2cfb0a:0","5382ee79e0dfba1728d508a31a473911522be8fcb4aca55a8d9871155a390da1:0",[["Passport","2 Years"],["ID","1 Month"],["License","3 Years"]]]}u
https://whatsonchain.com/tx/fb4e458ccc11debff54816ac5ced2bae3ce4ab8dcc592756dbb72110589f7e2c