tx · 5YD2rLZCg4ZEuU4ttWUDTLKkaDaHdCLvrzizac3WMuFN

3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ:  -0.01000000 Waves

2021.07.24 00:29 [1626824] smart account 3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ > SELF 0.00000000 Waves

{ "type": 13, "id": "5YD2rLZCg4ZEuU4ttWUDTLKkaDaHdCLvrzizac3WMuFN", "fee": 1000000, "feeAssetId": null, "timestamp": 1627075781713, "version": 2, "chainId": 84, "sender": "3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ", "senderPublicKey": "J7rxZzeYSPADJy4erG5pvXRfkEStFn2ytek6F4Xx2VPY", "proofs": [ "4dmKe8vfsw8n1KPCEYr2Xhuy6QhXSBemAN6iAYQVo1cipHB5xAmYJwWN1xAfKL4z9NGDMaP7ByoHrPJUwQGD5FvD" ], "script": "base64:AAIDAAAAAAAABGEIARIFCgMBAQEaHwoCYTESGXJhbmRvbWl6ZXJTb2xkaWVyUGxheWVyMDEaCQoCYTISA2ludhoZCgJhMxITcmFuZFNvbGRpZXJQbGF5ZXIwMRoeCgJhNBIYcmFuZG9taXplckh1bnRlclBsYXllcjAxGhgKAmE1EhJyYW5kSHVudGVyUGxheWVyMDEaHAoCYTYSFnJhbmRvbWl6ZXJCb3NzUGxheWVyMDEaFgoCYTcSEHJhbmRCb3NzUGxheWVyMDEaHwoCYTgSGXJhbmRvbWl6ZXJTb2xkaWVyUGxheWVyMDIaGQoCYTkSE3JhbmRTb2xkaWVyUGxheWVyMDIaHgoCYjESGHJhbmRvbWl6ZXJIdW50ZXJQbGF5ZXIwMhoYCgJiMhIScmFuZEh1bnRlclBsYXllcjAyGhwKAmIzEhZyYW5kb21pemVyQm9zc1BsYXllcjAyGgoKAmI0EgRyYW5kGhgKAmI1EhJpbmRleFNvbGRpZXJCdWZmZXIaFwoCYjYSEWluZGV4SHVudGVyQnVmZmVyGhUKAmI3Eg9pbmRleEJvc3NCdWZmZXIaEAoCYjgSCmN1cnJlbnRLZXkaDwoCYjkSCWJ0Y0Ftb3VudBoVCgJjMRIPY3VycmVudEtleUJ5dGVzGgwKAmMyEgZ1bmRlYWQaFAoCYzMSDmtpbmdPZnRoZUFyZW5hGg0KAmM0EgckbWF0Y2gwGgcKAmM1EgFhGhsKAmM2EhVzb2xkaWVyUmFuZG9tUGxheWVyMDEaGgoCYzcSFGh1bnRlclJhbmRvbVBsYXllcjAxGhgKAmM4EhJib3NzUmFuZG9tUGxheWVyMDEaGwoCYzkSFXNvbGRpZXJSYW5kb21QbGF5ZXIwMhoaCgJkMRIUaHVudGVyUmFuZG9tUGxheWVyMDIaGAoCZDISEmJvc3NSYW5kb21QbGF5ZXIwMhoNCgJkMxIHc29sZGllchoMCgJkNBIGaHVudGVyGgoKAmQ1EgRib3NzGiAKAmQ2EhppbmRleFNvbGRpZXJCdWZmZXJQbGF5ZXIwMRofCgJkNxIZaW5kZXhIdW50ZXJCdWZmZXJQbGF5ZXIwMRodCgJkOBIXaW5kZXhCb3NzQnVmZmVyUGxheWVyMDEaIAoCZDkSGnBvd2VyU29sZGllckJ1ZmZlclBsYXllcjAxGh8KAmUx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", "height": 1626824, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9i9oy8yFaSm4CZvLSMjoQ7Gsf1KL19XvozpLLbxdc14E Next: AdqiCvU8mvgKLqBqVQyxvnFUoAGQmePUz7gNFkkpkZFp Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let game = match getBinary(this, "game") {
5- case s: ByteVector =>
6- s
7- case _: Unit =>
8- base58'GGvfcHWwd2azCVLaeeQzr6Ccyn'
9- case _ =>
10- throw("Match error")
11-}
12-
134 func randomizerSoldierPlayer01 (inv) = {
14- let randSoldierPlayer01 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
5+ let randSoldierPlayer01 = (lastBlock.generationSignature + toBytes(lastBlock.timestamp))
156 sha256(randSoldierPlayer01)
167 }
178
189
1910 func randomizerHunterPlayer01 (inv) = {
20- let randHunterPlayer01 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
11+ let randHunterPlayer01 = (inv.transactionId + lastBlock.generationSignature)
2112 sha256(randHunterPlayer01)
2213 }
2314
2415
2516 func randomizerBossPlayer01 (inv) = {
26- let randBossPlayer01 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
17+ let randBossPlayer01 = toBytes(lastBlock.timestamp)
2718 sha256(randBossPlayer01)
2819 }
2920
3021
3122 func randomizerSoldierPlayer02 (inv) = {
32- let randSoldierPlayer02 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
23+ let randSoldierPlayer02 = inv.transactionId
3324 sha256(randSoldierPlayer02)
3425 }
3526
3627
3728 func randomizerHunterPlayer02 (inv) = {
38- let randHunterPlayer02 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
29+ let randHunterPlayer02 = inv.callerPublicKey
3930 sha256(randHunterPlayer02)
4031 }
4132
4233
4334 func randomizerBossPlayer02 (inv) = {
44- let rand = (((inv.callerPublicKey + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
35+ let rand = lastBlock.generationSignature
4536 sha256(rand)
4637 }
4738
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let game = match getBinary(this, "game") {
5- case s: ByteVector =>
6- s
7- case _: Unit =>
8- base58'GGvfcHWwd2azCVLaeeQzr6Ccyn'
9- case _ =>
10- throw("Match error")
11-}
12-
134 func randomizerSoldierPlayer01 (inv) = {
14- let randSoldierPlayer01 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
5+ let randSoldierPlayer01 = (lastBlock.generationSignature + toBytes(lastBlock.timestamp))
156 sha256(randSoldierPlayer01)
167 }
178
189
1910 func randomizerHunterPlayer01 (inv) = {
20- let randHunterPlayer01 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
11+ let randHunterPlayer01 = (inv.transactionId + lastBlock.generationSignature)
2112 sha256(randHunterPlayer01)
2213 }
2314
2415
2516 func randomizerBossPlayer01 (inv) = {
26- let randBossPlayer01 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
17+ let randBossPlayer01 = toBytes(lastBlock.timestamp)
2718 sha256(randBossPlayer01)
2819 }
2920
3021
3122 func randomizerSoldierPlayer02 (inv) = {
32- let randSoldierPlayer02 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
23+ let randSoldierPlayer02 = inv.transactionId
3324 sha256(randSoldierPlayer02)
3425 }
3526
3627
3728 func randomizerHunterPlayer02 (inv) = {
38- let randHunterPlayer02 = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
29+ let randHunterPlayer02 = inv.callerPublicKey
3930 sha256(randHunterPlayer02)
4031 }
4132
4233
4334 func randomizerBossPlayer02 (inv) = {
44- let rand = (((inv.callerPublicKey + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
35+ let rand = lastBlock.generationSignature
4536 sha256(rand)
4637 }
4738
4839
4940 @Callable(inv)
5041 func play (indexSoldierBuffer,indexHunterBuffer,indexBossBuffer) = {
5142 let currentKey = inv.caller
5243 let btcAmount = extract(inv.payment)
5344 let currentKeyBytes = toBase58String(inv.caller.bytes)
5445 let undead = base58'DdM4S3gFdTGCTPeNH1xRE3KjaUNDosoXCKvEY76VfP4o'
5546 let kingOftheArena = match getString(this, "kingOftheArena") {
5647 case a: String =>
5748 a
5849 case _ =>
5950 ""
6051 }
6152 if ((0 > assetBalance(currentKey, undead)))
6253 then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a troca em Swap Decks.")
6354 else if ((kingOftheArena == ""))
6455 then WriteSet([DataEntry("kingOftheArena", currentKeyBytes), DataEntry("btcAmount", btcAmount.amount), DataEntry("indexSoldierBuffer", indexSoldierBuffer), DataEntry("indexHunterBuffer", indexHunterBuffer), DataEntry("indexBossBuffer", indexBossBuffer)])
6556 else {
6657 let soldierRandomPlayer01 = (toInt(randomizerSoldierPlayer01(inv)) % 4)
6758 let hunterRandomPlayer01 = (toInt(randomizerHunterPlayer01(inv)) % 4)
6859 let bossRandomPlayer01 = (toInt(randomizerBossPlayer01(inv)) % 2)
6960 let soldierRandomPlayer02 = (toInt(randomizerSoldierPlayer02(inv)) % 4)
7061 let hunterRandomPlayer02 = (toInt(randomizerHunterPlayer02(inv)) % 4)
7162 let bossRandomPlayer02 = (toInt(randomizerBossPlayer02(inv)) % 2)
7263 let soldier = match getInteger(this, ("soldier0" + toString(soldierRandomPlayer01))) {
7364 case a: Int =>
7465 a
7566 case _ =>
7667 0
7768 }
7869 let hunter = match getInteger(this, ("hunter0" + toString(hunterRandomPlayer01))) {
7970 case a: Int =>
8071 a
8172 case _ =>
8273 0
8374 }
8475 let boss = match getInteger(this, ("boss0" + toString(bossRandomPlayer01))) {
8576 case a: Int =>
8677 a
8778 case _ =>
8879 0
8980 }
9081 let indexSoldierBufferPlayer01 = match getInteger(this, "indexSoldierBuffer") {
9182 case a: Int =>
9283 a
9384 case _ =>
9485 0
9586 }
9687 let indexHunterBufferPlayer01 = match getInteger(this, "indexHunterBuffer") {
9788 case a: Int =>
9889 a
9990 case _ =>
10091 0
10192 }
10293 let indexBossBufferPlayer01 = match getInteger(this, "indexBossBuffer") {
10394 case a: Int =>
10495 a
10596 case _ =>
10697 0
10798 }
10899 let powerSoldierBufferPlayer01 = if ((indexSoldierBufferPlayer01 == soldierRandomPlayer01))
109100 then 50
110101 else 0
111102 let powerHunterBufferPlayer01 = if ((indexHunterBufferPlayer01 == hunterRandomPlayer01))
112103 then 500
113104 else 0
114105 let powerBossBufferPlayer01 = if ((indexBossBufferPlayer01 == bossRandomPlayer01))
115106 then 5000
116107 else 0
117108 let totalSoldierHunterBossPlayer01 = (((((soldier + hunter) + boss) + powerSoldierBufferPlayer01) + powerHunterBufferPlayer01) + powerBossBufferPlayer01)
118109 let powerSoldierBufferPlayer02 = if ((indexSoldierBuffer == soldierRandomPlayer02))
119110 then 50
120111 else 0
121112 let powerHunterBufferPlayer02 = if ((indexHunterBuffer == hunterRandomPlayer02))
122113 then 500
123114 else 0
124115 let powerBossBufferPlayer02 = if ((indexBossBuffer == bossRandomPlayer02))
125116 then 5000
126117 else 0
127118 let totalSoldierHunterBossPlayer02 = (((((soldier + hunter) + boss) + powerSoldierBufferPlayer02) + powerHunterBufferPlayer02) + powerBossBufferPlayer02)
128119 throw(((("totalSoldierHunterBossPlayer01:" + toString(totalSoldierHunterBossPlayer01)) + "/ totalSoldierHunterBossPlayer02:") + toString(totalSoldierHunterBossPlayer02)))
129120 }
130121 }
131122
132123

github/deemru/w8io/873ac7e 
63.94 ms