#0
nonstandard
0.00004000 BSV
Q!°ý-BÓ´àñîÏsý¼úÌLRai¹
!ºÅÂN!Û}
þò£dR)õG¿MWoäB©(p!7ÙZýR®Mî {"__cls":"class KYCProcessSC {\n constructor(owners = [], agent, fund, requirements = []) {\n this._owners = owners;\n this.agent = agent;\n this.fund = fund;\n this.requirements = requirements.map(req => [req[0] || '', req[1] || '', '', 'Not Uploaded', '', '']); //[name, expirationPeriod, documentId, status, revDate, comments]\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[2] = documentId;\n curRequirement[3] = 'Uploaded';\n } else {\n throw new Error('No such requirement');\n }\n }\n\n approveKyc(reqName, revDate) {\n const curRequirement = this.requirements.find(req => req[0] === reqName);\n if (!!curRequirement) {\n curRequirement[3] = 'Approved';\n curRequirement[4] = revDate;\n curRequirement[5] = '';\n if (this.requirements.every(r => r[3] === 'Approved')) this.kycOnboarded = true;\n } else {\n throw new Error('No such requirement');\n }\n }\n\n rejectKyc(reqName, comments, revDate) {\n const curRequirement = this.requirements.find(req => req[0] === reqName);\n if (!!curRequirement) {\n curRequirement[3] = 'Rejected';\n curRequirement[4] = revDate;\n curRequirement[5] = comments;\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([curRequirement[0], curRequirement[1], '', '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}","__index":{"obj":0},"__func":"constructor","__args":[["02b006fd2d42d3b404e0f1eecf73fdbcfacc4c526169b9180d21bac5c21e4e9b1a","037fdb7d850716fef2a364522904f547bf4d576fe47f42a928702137d9035a11fd"],"daeadecd91e14df78f97b8137865ddbfcf388af02bfd4d8123e8b5b79be66c70:0","223d4229f906ccf4a1bb541a04d43271b009e0c45995f031d084ad2acc01c89c:0",[["Passport","2 Years"]]]}u
https://whatsonchain.com/tx/5e612c2d45ffb2f29d8ea7fbcf9b6b2516d10b3e58b5abd89171ba02e8f1229e