#0
nonstandard
0.01000000 BSV
Q!ÝÞ¿ï/¹>ãæ~ó$»nþ
ª¼ÿv[äA¿ý!p"Â(#ehB'ô9£{×
1Ö\ $7
¤á¡&ñ½µR®Mà{"__cls":"class VaccineToken {\n constructor(to, supply, previousOwners, options, isDistributed) {\n this.contractTypeID = \"393f0d5f-c3bb-4871-b9fb-b47f4b7ababf\";\n this.contractTypeName = \"VaccineToken\";\n this.contractTypeVersion = \"0.0.2\";\n //_owners/to must be an array passed in\n this._owners = to;\n this.coins = supply;\n this.previousOwners = previousOwners;\n this._amount = parseInt(options[\"satoshis\"], 10);\n this.adminPKs = options[\"adminPKs\"];\n this.revokePK = options[\"revokePK\"];\n this.vial_data = options[\"vial_data\"];\n this.ndc = options[\"ndc\"];\n this.lot_id = options[\"lot_id\"];\n this.manufacturer = options[\"manufacturer\"];\n this.lot_expiration = options[\"lot_expiration\"];\n this.patientPK = options[\"patientPK\"];\n this.providerPK = options[\"providerPK\"];\n this.country = options[\"country\"];\n this.state = options[\"state\"];\n this.postal_code = options[\"postal_code\"];\n this.distributed_on = options[\"distributed_on\"];\n this.adminstration_business_id = options[\"adminstration_business_id\"];\n this.employee_id = options[\"employee_id\"];\n this.practitioner_license_id = options[\"practitioner_license_id\"];\n this.distributed = isDistributed;\n this.fundingRequested = false;\n //this.state = options;\n }\n\n addOwner(pubKey){\n this._owners.push(pubKey);\n }\n\n requestFunds() {\n this.fundingRequested = true;\n }\n\n fund(satoshisToAdd) {\n this._amount += satoshisToAdd;\n this.fundingRequested = false;\n }\n\n drain(pubKey) {\n if (!this.adminPKs.includes(pubKey)) {\n throw new Error(\"You do not have persmission to drain this token.\");\n }\n this._amount = 0;\n return \"Successfully Drained.\";\n }\n\n send(to, coinCount, options) {\n if (this.coins < coinCount) throw new Error(\"Insufficient Token Count.\");\n this.coins -= coinCount;\n let previousOwners = this._owners;\n return new VaccineToken([to,... previousOwners], coinCount, previousOwners, options, false);\n }\n\n distribute(to, options) {\n if (this.coins == 0) throw new Error(\"Insufficient Token Count.\");\n this.coins -= 1;\n let previousOwners = this._owners;\n return new VaccineToken([to,... previousOwners], 1, previousOwners, options, true);\n }\n\n revoke(pubKey) {\n if (this._owners.includes(pubKey)) this.owners = [this.revokePK];\n else throw new Error(\"You do not have permission to revoke this token.\");\n }\n}","__index":{"obj":0},"__func":"constructor","__args":[["02dddebfef2fb90f803e13e3e6037ef324bb6efe7f0daabcff18761c5be441bffd","0270080b22c2282365684227f49339a37bd70d31d65ca024370aa4e1a126f1bdb5"],100000,[],{"adminPKs":[],"revokePK":"","vial_data":"","ndc":"","lot_id":"","manufacturer":"","lot_expiration":"","patientPK":"","providerPK":"","country":"","state":"","postal_code":"","distributed_on":"","adminstration_business_id":"","employee_id":"","practitioner_license_id":"","satoshis":1000000},false]}u
https://whatsonchain.com/tx/e7dc7069ba3406d1d1908a1783054e38e717bf7d2822a71e1ae8d85ee68e6a4b