#0
nonstandard
0.00004000 BSV
Q!)»ÞFá@Õï6Í{y2i
ýáØù=NI
ªF%Q®Mª{"__cls":"class VaccineToken {\n constructor(to, coinCount, 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 = coinCount;\n this.previousOwners = previousOwners;\n this._amount = parseInt(options[\"amount\"], 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":[["0329bb1bde46e140d5ef36cd7b791a32690dfde1d8f93d4e4982850faa1a462587"],1000000,[],{"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":"","amount":0,"satoshis":100000},false]}u
https://whatsonchain.com/tx/b53ae392ff893cc0711c8bddfe13a69d29d2f7ef5f944b6c3bb2a69bcbf9a572