#0
nonstandard
0.00004000 BSV
Q!Fê ÁË ôR¿Wsß[§Â4°Ë:H½§O s![K¿«ïسr_ÅdwÊ,ß
ºVÓ#i8R®MÑ
{"requirements_0_0":1,"requirements_1_0":2,"__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","028315925b4bbf8dabefd894b3107f725fc5647794ca2c9d15df0dba56d3236938"],"93009ac529eb83a719eb7fdba5c3d9499f62a6acef776d232ba96693aa827287:0","f5de5931a266b2c82471a82ca8229b99833107761f16463bd4a8d0a2f56a1b84:0",[{"requirementName":"Passport","added":"1/17/2021","_rootId":"93009ac529eb83a719eb7fdba5c3d9499f62a6acef776d232ba96693aa827287:0"},{"requirementName":"Financial Report","added":"1/17/2021","_rootId":"93009ac529eb83a719eb7fdba5c3d9499f62a6acef776d232ba96693aa827287:0"}]]}u
https://whatsonchain.com/tx/119e443c0441ad56abc0300b98a75ff9eae39aa88e80989da050fd6dd6f225bc