Settings

Blockchain
Network
Unit
Language
Theme
Sound New Block

Transaction

1eee88b855942282c98a0dca4259db472f00c27cce20cccacfd7ff8c533e62bc
Timestamp (utc)
2020-12-05 00:15:30
Fee Paid
0.00001924 BSV
(
0.01301059 BSV
-
0.01299135 BSV
)
Fee Rate
500.1 sat/KB
Version
1
Confirmations
332,850
Size Stats
3,847 B

5 Outputs

Total Output:
0.01299135 BSV
  • jrunMÊ {"in":0,"ref":["native://Jig","1f0abf8d94477b1cb57629d861376616f6e1d7b78aba23a19da3e6169caf489e_o1"],"out":["01611a167a89f7bda2c8e901a191145bfdda80cf2a2cbc180f03ed3520c7eae0","f41b8ad141e04f48cc087bba782f28d93d80b7751b55e9c0e6b77f24ab179bb2","805cb4dce51247b3a00a5d2e55debea18839144bd07a084fceadb69e3a47b5fb"],"del":[],"cre":["mjsxvTLNM5sQn8yj3qdmpbsa1W6PYoSu5v","mjsxvTLNM5sQn8yj3qdmpbsa1W6PYoSu5v","mjsxvTLNM5sQn8yj3qdmpbsa1W6PYoSu5v"],"exec":[{"op":"DEPLOY","data":["class Token extends Jig {init(){if(Object.getPrototypeOf(this.constructor)===Jig)throw new Error(\"Token must be extended\");if(caller===this.constructor)return this.Ba(caller.mintAmount),this.amount=caller.mintAmount,void(this.sender=null);if(caller&&caller.constructor===this.constructor)return this.Ba(caller.changeAmount),this.amount=caller.changeAmount,this.owner=caller.owner,void(this.sender=caller.sender);throw new Error(\"Must create token using mint()\")}static mint(t){this.mintAmount=t;const e=new this;return delete this.mintAmount,this.supply+=t,e}destroy(){super.destroy(),this.amount=0,this.sender=null}send(t,e=this.amount){if(this.Ba(e),e>this.amount)throw new Error(\"Not enough funds\");let n=null;return e<this.amount&&(this.changeAmount=this.amount-e,n=new this.constructor,delete this.changeAmount),this.amount=e,this.sender=this.owner,this.owner=t,n}combine(...t){if(!Array.isArray(t)||t.length<1)throw new Error(\"Invalid tokens to combine\");if(t.some((t=>t.constructor!==this.constructor)))throw new Error(\"Cannot combine different token classes\");const e=t.concat([this]);if(e.some((t=>(t=>e.reduce(((e,n)=>n===t?e+1:e),0))(t)>1)))throw new Error(\"Cannot combine duplicate tokens\");return t.forEach((t=>{this.amount+=t.amount,t.destroy()})),this.sender=null,this.Ba(this.amount),this}Ba(t){if(\"number\"!=typeof t)throw new Error(\"amount is not a number\");if(!Number.isInteger(t))throw new Error(\"amount must be an integer\");if(t<=0)throw new Error(\"amount must be positive\");if(t>Number.MAX_SAFE_INTEGER)throw new Error(\"amount too large\")}}",{"decimals":0,"deps":{"Jig":{"$jig":0}},"icon":{"emoji":null},"sealed":false,"supply":0,"symbol":null,"version":"2.0"},"class TestToken extends Token { }",{"deps":{"Lock21e8":{"$jig":4},"Token":{"$jig":2}}},"class Lock21e8 {\n constructor(sha256, target, validators = []) {\n let reHex = /^[0-9a-fA-F]+$/;\n //check for length and verify it's hex.\n if (sha256.length !== 64) throw new Error('sha256 is invalid length');\n if (reHex.test(sha256) !== true) throw new Error('sha256 is not hex');\n if (target.length % 2 !== 0) throw new Error('target is invalid');\n if (reHex.test(target) !== true) throw new Error('target is not hex');\n if (Array.isArray(validators) !== true) throw new Error('validators must be array');\n if (validators.length < 2) throw new Error('Must have atleast two validators');\n this.sha256 = sha256;\n this.target = target;\n this.validators = validators;\n }\n\n script() {\n let script = `${this.sha256} ${this.target} OP_SIZE OP_6 OP_PICK OP_SHA256 OP_SWAP OP_SPLIT OP_DROP OP_EQUALVERIFY OP_DROP OP_3 OP_SWAP `;\n for (let i = 0; i < this.validators.length; i++) {\n script += `${this.validators[i]} `;\n }\n script += `OP_${this.validators.length+1} OP_CHECKMULTISIG`;\n return asm(script);\n }\n\n domain() {\n return 1 + 73 + 1 + 73 + 1 + 73 + 1 + 32;\n }\n}",{"deps":{"asm":{"$jig":1}}}]}]}
    https://whatsonchain.com/tx/1eee88b855942282c98a0dca4259db472f00c27cce20cccacfd7ff8c533e62bc