Settings

Blockchain
Network
Unit
Language
Theme
Sound New Block

Transaction

7bc1a0d0e172d9973e297c73dfa1206ece0f3bc33c798b5f5a462ddd185fe7bd
Timestamp (utc)
2022-02-03 06:46:10
Fee Paid
0.00003009 BSV
(
20.98440711 BSV
-
20.98437702 BSV
)
Fee Rate
500.2 sat/KB
Version
1
Confirmations
256,567
Size Stats
6,015 B

5 Outputs

Total Output:
20.98437702 BSV
  • jrunLoUM«{"in":1,"ref":["native://Jig","43690c89c8fc6f5f2121be6301585dc38b75337b948e271982b9c0d591318e72_o1","f97d4ac2a3d6f5ed09fad4a4f341619dc5a3773d9844ff95c99c5d4f8388de2f_o1"],"out":["8298d55c8e0ab1d73c39c15e58ae77d642711cb08b6b0b6b1761979806aadc9a","cc968dffd27bcf2f4bcdb838dc4f88a7f4314b9f75b94fd2e7bfd12d07959397","5e7c28803ab6c177babab4f67b4c139695b21c3721122e7c606b7e73a938abde"],"del":[],"cre":["n1V6mVgHLLoZMkzsqgpeAv5SatrA5BGM4G","n1V6mVgHLLoZMkzsqgpeAv5SatrA5BGM4G"],"exec":[{"op":"DEPLOY","data":["class GameCardStateJig extends Jig {\n init(owner, initialDefinitionSig, initialZone) {\n this.owner = owner;\n this.defSig = initialDefinitionSig;\n this.zone = initialZone;\n this.controllingPlayerId = owner;\n this.LVL1_ZONES = [GZone.Battlefield, GZone.Stack, GZone.Discard, GZone.Trash];\n this.LVL2_ZONES = [GZone.Hand, GZone.Sideboard];\n this.LVL3_ZONES = [GZone.Deck];\n }\n _validateZoneDefSig(zone, defSig) {\n if (this.LVL1_ZONES.includes(zone) && !/^[A-Z]/.test(defSig)) {\n throw new Error(\"Card defSig not level one for public zone\");\n }\n if (this.LVL2_ZONES.includes(zone) && !defSig.startsWith(\"2\")) {\n throw new Error(\"Card defSig not level two\");\n }\n if (this.LVL3_ZONES.includes(zone) && !defSig.startsWith(\"3\")) {\n throw new Error(\"Card defSig not level three\");\n }\n }\n setZone(zone, defSig) {\n if (zone === GZone.Stack) {\n throw new Error(\"Call addStack to add to stack\");\n }\n this._validateZoneDefSig(zone, defSig);\n this.zone = zone;\n this.stackOrder = null;\n if (defSig) {\n this.defSig = defSig;\n }\n }\n addToStack(defSig, game) {\n this._validateZoneDefSig(GZone.Stack, defSig);\n this.zone = GZone.Stack;\n this.defSig = defSig;\n this.stackOrder = game.players.flatMap(x => x.cardStates).filter(x => x.zone === GZone.Stack).length;\n }\n setDefSig(sig) {\n this._validateZoneDefSig(this.zone, sig);\n this.defSig = sig;\n }\n setTapped(isTapped) {\n this.isTapped = isTapped;\n }\n resetWithSig(sig, zone, isTapped) {\n if (zone === GZone.Stack) {\n throw new Error(\"Call addStack to add to stack\");\n }\n this._validateZoneDefSig(zone, sig);\n this.defSig = sig;\n this.zone = zone;\n this.isTapped = isTapped;\n this.controllingPlayerId = this.owner;\n this.stackOrder = null;\n }\n}",{"deps":{"GZone":{"Battlefield":"Battlefield","Deck":"Deck","Discard":"Discard","Hand":"Hand","Sideboard":"Sideboard","Stack":"Stack","Trash":"Trash"},"Jig":{"$jig":1}},"metadata":{"emoji":"🎴"}},"class GameDeckJig extends Jig {\n init(owner, locationSigs, cardHashes) {\n expect(locationSigs).toBeObject();\n expect(cardHashes).toBeArray();\n this.owner = owner;\n this.locationSigs = locationSigs;\n this.cardHashes = cardHashes;\n }\n}",{"deps":{"Jig":{"$dup":["1","deps","Jig"]}},"metadata":{"emoji":"🎴"}}]},{"op":"UPGRADE","data":[{"$jig":0},"class GamePlayerJig extends Jig {\n init(player, startingLife, deck) {\n expect(deck).toBeInstanceOf(GameDeckJig);\n function isRealPlayer(obj) {\n return obj && \"owner\" in obj;\n }\n if (isRealPlayer(player)) {\n this.owner = player.owner;\n this.playerName = player.playerName;\n }\n else {\n this.owner = player.address;\n this.playerName = \"Computer\";\n this.isAI = true;\n this.aiPrivKeyEncr = player.privKeyEncrypted;\n }\n this.maxPermTreasuresPlayedPerTurn = 1;\n this.permTreasuresPlayedThisTurn = 0;\n this.life = startingLife;\n this.maxHandSize = 5;\n this._prevMaxHandSize = 5;\n this.isDead = false;\n this.floatingMana = {\n Yellow: 0,\n Black: 0,\n Red: 0,\n Blue: 0,\n Green: 0,\n Colorless: 0\n };\n // init(owner: string, initialDefinitionSig: string, initialZone: Zone)\n this.cardStates = deck.locationSigs.deck\n .map(x => new GameCardStateJig(this.owner, x, GZone.Deck))\n .concat(deck.locationSigs.sideboard.map(x => new GameCardStateJig(this.owner, x, GZone.Sideboard)));\n this.startingDeck = deck;\n }\n resetTreasuresPlayed() {\n this.permTreasuresPlayedThisTurn = 0;\n }\n setMaxHandSize(size) {\n this._prevMaxHandSize = this.maxHandSize;\n this.maxHandSize = size;\n }\n revertMaxHandSize(size) {\n this.maxHandSize = this._prevMaxHandSize;\n }\n setMana(floating) {\n this.floatingMana = floating;\n }\n addMana(color, amount) {\n this.floatingMana[color] += amount;\n }\n incrPermTreasuresPlayed() {\n this.permTreasuresPlayedThisTurn++;\n }\n setDeckCards(newDeck) {\n // remove old deck cards and concat new ones\n this.cardStates = this.cardStates.filter(x => x.zone !== GZone.Deck).concat(newDeck);\n }\n}",{"deps":{"GZone":{"Battlefield":"Battlefield","Deck":"Deck","Discard":"Discard","Hand":"Hand","Sideboard":"Sideboard","Stack":"Stack","Trash":"Trash"},"GameCardStateJig":{"$jig":4},"GameDeckJig":{"$jig":5},"Jig":{"$jig":1},"PlayerJig":{"$jig":2},"expect":{"$jig":3}},"metadata":{"emoji":"🧙"}}]}]}
    https://whatsonchain.com/tx/7bc1a0d0e172d9973e297c73dfa1206ece0f3bc33c798b5f5a462ddd185fe7bd