Settings

Blockchain
Network
Unit
Language
Theme
Sound New Block

Transaction

b6468e0e835f5b1ff3dfb5853a2c6c5bca82ad1a06a3ec6d9fc73d9603189b5f
Timestamp (utc)
2020-12-05 03:02:33
Fee Paid
0.00002864 BSV
(
0.01296432 BSV
-
0.01293568 BSV
)
Fee Rate
500.2 sat/KB
Version
1
Confirmations
333,063
Size Stats
5,725 B

5 Outputs

Total Output:
0.01293568 BSV
  • jrunM!{"in":0,"ref":["native://Jig","1f0abf8d94477b1cb57629d861376616f6e1d7b78aba23a19da3e6169caf489e_o1"],"out":["1f59e48d625ab15f92c5889d81040b4ad82f9771b4f8a76352297c5af0387d8c","7e497385fb132823acdaf6c0f8116207859bbf355684bf081d75767c46673a1e","48467598af0ebb9245336cff240c55e45c606c04276d03874e13bc6c9f3b0028"],"del":[],"cre":["mjsxvTLNM5sQn8yj3qdmpbsa1W6PYoSu5v","mjsxvTLNM5sQn8yj3qdmpbsa1W6PYoSu5v","mjsxvTLNM5sQn8yj3qdmpbsa1W6PYoSu5v"],"exec":[{"op":"DEPLOY","data":["class Lilypad extends Jig {\n init(...t) {\n if (Object.getPrototypeOf(this.constructor) === Jig)\n throw new Error(\"Lilypad must be extended\");\n if (caller === this.constructor)\n return this.wc(caller.mintAmount),\n this.amount = caller.mintAmount,\n this.satoshis = caller.satoshis,\n void (this.owner = caller.workOwner);\n if (caller && caller.constructor === this.constructor)\n return this.wc(caller.sendAmount),\n this.amount = caller.sendAmount,\n void (this.owner = caller.sendOwner);\n if (!Array.isArray(t) || t.length < 2)\n throw new Error(\"Invalid tokens to combine\");\n if (t.some(t => t.constructor !== this.constructor))\n throw new Error(\"Cannot combine different token classes\");\n if (t.some(e => (e => t.reduce((t, n) => n === e ? t + 1 : t, 0))(e) > 1))\n throw new Error(\"Cannot combine duplicate tokens\");\n this.amount = 0,\n t.forEach(t => { this.amount += t.amount, t.destroy() }),\n this.wc(this.amount)\n }\n\n //{sha256:, target:\"21e8\", amount:, satoshis:1000}\n static mint(t) {\n if (this.supply !== undefined && (this.supply + t.amount) > 218000000000000) throw new Error(\"Cannot exceed total supply.\");\n if (typeof t.satoshis === \"number\")\n this.satoshis = t.satoshis < 1000 ? 1000 : t.satoshis;\n this.mintAmount = t.amount;\n this.workOwner = new Lock21e8(t.sha256, t.target, this.validators);\n const e = new this;\n return delete this.mintAmount,\n delete this.workOwner,\n delete this.satoshis,\n this.supply += t.amount,\n this.count += 1, e;\n }\n\n destroy() {\n super.destroy(),\n this.amount = 0\n }\n\n dust() {\n this.satoshis = 0;\n }\n\n send(t, e = this.amount) {\n if (this.wc(e), e > this.amount)\n throw new Error(\"Not enough funds\");\n this.sendAmount = e;\n this.sendOwner = new Lock1404(t, this.validators);\n const n = new this.constructor;\n return delete this.sendAmount,\n delete this.sendOwner,\n this.amount === e ? this.destroy() : this.amount -= e, n;\n }\n\n wc(t) {\n if (\"number\" != typeof t)\n throw new Error(\"amount is not a number\");\n if (!Number.isInteger(t))\n throw new Error(\"amount must be an integer\");\n if (t <= 0)\n throw new Error(\"amount must be positive\");\n if (t > Number.MAX_SAFE_INTEGER)\n throw new Error(\"amount too large\")\n }\n}",{"deps":{"Jig":{"$jig":0},"Lock1404":{"$jig":3},"Lock21e8":{"$jig":4}}},"class Lock1404 {\n constructor(to, validators) {\n if (to.length !== 34) throw new Error(\"Can only send to address.\");\n if (Array.isArray(validators) !== true) throw new Error('validators must be array');\n if (validators.length < 2) throw new Error('At least two validators required.');\n this.to = to;\n this.validators = validators;\n }\n\n script() {\n let script = `OP_DUP OP_HASH160 ${this.to} OP_EQUALVERIFY 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} 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}}},"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('At least two validators required');\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":{"$dup":["3","deps","asm"]}}}]}]}
    https://whatsonchain.com/tx/b6468e0e835f5b1ff3dfb5853a2c6c5bca82ad1a06a3ec6d9fc73d9603189b5f