tx · 4ZVfvUC7XWawDAKZ85HoqtyeRusgWUmomR7MDMUZmepM

3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ:  -0.01000000 Waves

2021.07.23 20:08 [1626555] smart account 3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ > SELF 0.00000000 Waves

{ "type": 13, "id": "4ZVfvUC7XWawDAKZ85HoqtyeRusgWUmomR7MDMUZmepM", "fee": 1000000, "feeAssetId": null, "timestamp": 1627060142963, "version": 2, "chainId": 84, "sender": "3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ", "senderPublicKey": "J7rxZzeYSPADJy4erG5pvXRfkEStFn2ytek6F4Xx2VPY", "proofs": [ "5BHuusv3Rt9rrs9dFtcFiKVqT8GNjbouammrWATaFf4UzuGMxSSfeEUJQp67FJzbziqdgjUaUud7xfL7TY3xehHQ" ], "script": "base64:AAIDAAAAAAAAApUIARIFCgMBAQEaEAoCYTESCnJhbmRvbWl6ZXIaCQoCYTISA2ludhoKCgJhMxIEZ2FtZRoNCgJhNBIHJG1hdGNoMBoHCgJhNRIBcxoKCgJhNhIEcmFuZBoYCgJhNxISaW5kZXhTb2xkaWVyQnVmZmVyGhcKAmE4EhFpbmRleEh1bnRlckJ1ZmZlchoVCgJhORIPaW5kZXhCb3NzQnVmZmVyGg4KAmIxEghyYW5kaGFzaBoQCgJiMhIKY3VycmVudEtleRoPCgJiMxIJYnRjQW1vdW50GhUKAmI0Eg9jdXJyZW50S2V5Qnl0ZXMaDAoCYjUSBnVuZGVhZBoUCgJiNhIOa2luZ09mdGhlQXJlbmEaBwoCYjcSAWEaGwoCYjgSFXNvbGRpZXJSYW5kb21QbGF5ZXIwMRoaCgJiORIUaHVudGVyUmFuZG9tUGxheWVyMDEaGAoCYzESEmJvc3NSYW5kb21QbGF5ZXIwMRoVCgJjMhIPc29sZGllclBsYXllcjAxGhQKAmMzEg5odW50ZXJQbGF5ZXIwMRoSCgJjNBIMYm9zc1BsYXllcjAxGiAKAmM1EhppbmRleFNvbGRpZXJCdWZmZXJQbGF5ZXIwMRofCgJjNhIZaW5kZXhIdW50ZXJCdWZmZXJQbGF5ZXIwMRodCgJjNxIXaW5kZXhCb3NzQnVmZmVyUGxheWVyMDEaIAoCYzgSGnBvd2VyU29sZGllckJ1ZmZlclBsYXllcjAxGh8KAmM5Ehlwb3dlckh1bnRlckJ1ZmZlclBsYXllcjAxGh0KAmQxEhdwb3dlckJvc3NCdWZmZXJQbGF5ZXIwMRokCgJkMhIedG90YWxTb2xkaWVySHVudGVyQm9zc1BsYXllcjAxAAAAAQEAAAACYTEAAAABAAAAAmEyBAAAAAJhMwQAAAACYTQJAAQcAAAAAgUAAAAEdGhpcwIAAAAEZ2FtZQMJAAABAAAAAgUAAAACYTQCAAAACkJ5dGVWZWN0b3IEAAAAAmE1BQAAAAJhNAUAAAACYTUDCQAAAQAAAAIFAAAAAmE0AgAAAARVbml0AQAAABNTb2xkaWVySHVudGVyQm9zc3YxCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAAJhNgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAA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", "height": 1626555, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7yfotuNMdncKvBRH1YXX8BFVX59hJfuWXrVWo6keQobX Next: BZfd8oW9rBAp1G59MC9tQaqZUsS4eWXEiKri4sZp3Msj Diff:
OldNewDifferences
3333 else if ((kingOftheArena == ""))
3434 then WriteSet([DataEntry("kingOftheArena", currentKeyBytes), DataEntry("btcAmount", btcAmount.amount), DataEntry("indexSoldierBuffer", indexSoldierBuffer), DataEntry("indexHunterBuffer", indexHunterBuffer), DataEntry("indexBossBuffer", indexBossBuffer)])
3535 else {
36- let soldierRandom = toString((toInt(randhash) % 4))
37- let hunterRandom = toString((toInt(randhash) % 4))
38- let bossRandom = toString((toInt(randhash) % 4))
39- let soldierPlayer01 = match getInteger(this, ("soldier0" + soldierRandom)) {
36+ let soldierRandomPlayer01 = toString((toInt(randhash) % 4))
37+ let hunterRandomPlayer01 = toString((toInt(randhash) % 4))
38+ let bossRandomPlayer01 = toString((toInt(randhash) % 4))
39+ let soldierPlayer01 = match getInteger(this, ("soldier0" + soldierRandomPlayer01)) {
4040 case a: Int =>
4141 a
4242 case _ =>
4343 0
4444 }
45- let hunterPlayer01 = match getInteger(this, ("hunter0" + hunterRandom)) {
45+ let hunterPlayer01 = match getInteger(this, ("hunter0" + hunterRandomPlayer01)) {
4646 case a: Int =>
4747 a
4848 case _ =>
4949 0
5050 }
51- let bossPlayer01 = match getInteger(this, ("boss0" + bossRandom)) {
51+ let bossPlayer01 = match getInteger(this, ("boss0" + bossRandomPlayer01)) {
5252 case a: Int =>
5353 a
5454 case _ =>
7272 case _ =>
7373 0
7474 }
75- let powerSoldierBufferPlayer01 = if ((indexSoldierBufferPlayer01 == soldierPlayer01))
75+ let powerSoldierBufferPlayer01 = if ((indexSoldierBufferPlayer01 == (toInt(randhash) % 4)))
7676 then 50
7777 else 0
78- let powerHunterBufferPlayer01 = if ((indexHunterBufferPlayer01 == hunterPlayer01))
78+ let powerHunterBufferPlayer01 = if ((indexHunterBufferPlayer01 == (toInt(randhash) % 4)))
7979 then 500
8080 else 0
81- let powerBossBufferPlayer01 = if ((indexBossBufferPlayer01 == bossPlayer01))
81+ let powerBossBufferPlayer01 = if ((indexBossBufferPlayer01 == (toInt(randhash) % 4)))
8282 then 500
8383 else 0
8484 let totalSoldierHunterBossPlayer01 = (((((soldierPlayer01 + hunterPlayer01) + bossPlayer01) + powerSoldierBufferPlayer01) + powerHunterBufferPlayer01) + powerBossBufferPlayer01)
85- throw(toString(totalSoldierHunterBossPlayer01))
85+ throw(((((((((((((((((((((((((((("totalSoldierHunterBossPlayer01:" + toString(totalSoldierHunterBossPlayer01)) + "/ soldierRandomPlayer01:") + soldierRandomPlayer01) + "/ hunterRandomPlayer01:") + hunterRandomPlayer01) + "/ bossPlayer01:") + toString(bossPlayer01)) + "/ soldierPlayer01") + toString(soldierPlayer01)) + "/ hunterPlayer01") + toString(hunterPlayer01)) + "/ bossPlayer01") + toString(hunterPlayer01)) + "/ indexSoldierBufferPlayer01") + toString(indexSoldierBufferPlayer01)) + "/ indexHunterBufferPlayer01") + toString(indexHunterBufferPlayer01)) + "/ indexBossBufferPlayer01") + toString(indexBossBufferPlayer01)) + "/ powerSoldierBufferPlayer01") + toString(powerSoldierBufferPlayer01)) + "/ powerHunterBufferPlayer01") + toString(powerHunterBufferPlayer01)) + "/ powerBossBufferPlayer01") + toString(powerBossBufferPlayer01)) + "totalSoldierHunterBossPlayer01") + toString(totalSoldierHunterBossPlayer01)))
8686 }
8787 }
8888
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func randomizer (inv) = {
55 let game = match getBinary(this, "game") {
66 case s: ByteVector =>
77 s
88 case _: Unit =>
99 base58'GGvfcHWwd2azCVLaeeQzr6Ccyn'
1010 case _ =>
1111 throw("Match error")
1212 }
1313 let rand = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
1414 sha256(rand)
1515 }
1616
1717
1818 @Callable(inv)
1919 func play (indexSoldierBuffer,indexHunterBuffer,indexBossBuffer) = {
2020 let randhash = randomizer(inv)
2121 let currentKey = inv.caller
2222 let btcAmount = extract(inv.payment)
2323 let currentKeyBytes = toBase58String(inv.caller.bytes)
2424 let undead = base58'DdM4S3gFdTGCTPeNH1xRE3KjaUNDosoXCKvEY76VfP4o'
2525 let kingOftheArena = match getString(this, "kingOftheArena") {
2626 case a: String =>
2727 a
2828 case _ =>
2929 ""
3030 }
3131 if ((0 > assetBalance(currentKey, undead)))
3232 then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a troca em Swap Decks.")
3333 else if ((kingOftheArena == ""))
3434 then WriteSet([DataEntry("kingOftheArena", currentKeyBytes), DataEntry("btcAmount", btcAmount.amount), DataEntry("indexSoldierBuffer", indexSoldierBuffer), DataEntry("indexHunterBuffer", indexHunterBuffer), DataEntry("indexBossBuffer", indexBossBuffer)])
3535 else {
36- let soldierRandom = toString((toInt(randhash) % 4))
37- let hunterRandom = toString((toInt(randhash) % 4))
38- let bossRandom = toString((toInt(randhash) % 4))
39- let soldierPlayer01 = match getInteger(this, ("soldier0" + soldierRandom)) {
36+ let soldierRandomPlayer01 = toString((toInt(randhash) % 4))
37+ let hunterRandomPlayer01 = toString((toInt(randhash) % 4))
38+ let bossRandomPlayer01 = toString((toInt(randhash) % 4))
39+ let soldierPlayer01 = match getInteger(this, ("soldier0" + soldierRandomPlayer01)) {
4040 case a: Int =>
4141 a
4242 case _ =>
4343 0
4444 }
45- let hunterPlayer01 = match getInteger(this, ("hunter0" + hunterRandom)) {
45+ let hunterPlayer01 = match getInteger(this, ("hunter0" + hunterRandomPlayer01)) {
4646 case a: Int =>
4747 a
4848 case _ =>
4949 0
5050 }
51- let bossPlayer01 = match getInteger(this, ("boss0" + bossRandom)) {
51+ let bossPlayer01 = match getInteger(this, ("boss0" + bossRandomPlayer01)) {
5252 case a: Int =>
5353 a
5454 case _ =>
5555 0
5656 }
5757 let indexSoldierBufferPlayer01 = match getInteger(this, "indexSoldierBuffer") {
5858 case a: Int =>
5959 a
6060 case _ =>
6161 0
6262 }
6363 let indexHunterBufferPlayer01 = match getInteger(this, "indexHunterBuffer") {
6464 case a: Int =>
6565 a
6666 case _ =>
6767 0
6868 }
6969 let indexBossBufferPlayer01 = match getInteger(this, "indexBossBuffer") {
7070 case a: Int =>
7171 a
7272 case _ =>
7373 0
7474 }
75- let powerSoldierBufferPlayer01 = if ((indexSoldierBufferPlayer01 == soldierPlayer01))
75+ let powerSoldierBufferPlayer01 = if ((indexSoldierBufferPlayer01 == (toInt(randhash) % 4)))
7676 then 50
7777 else 0
78- let powerHunterBufferPlayer01 = if ((indexHunterBufferPlayer01 == hunterPlayer01))
78+ let powerHunterBufferPlayer01 = if ((indexHunterBufferPlayer01 == (toInt(randhash) % 4)))
7979 then 500
8080 else 0
81- let powerBossBufferPlayer01 = if ((indexBossBufferPlayer01 == bossPlayer01))
81+ let powerBossBufferPlayer01 = if ((indexBossBufferPlayer01 == (toInt(randhash) % 4)))
8282 then 500
8383 else 0
8484 let totalSoldierHunterBossPlayer01 = (((((soldierPlayer01 + hunterPlayer01) + bossPlayer01) + powerSoldierBufferPlayer01) + powerHunterBufferPlayer01) + powerBossBufferPlayer01)
85- throw(toString(totalSoldierHunterBossPlayer01))
85+ throw(((((((((((((((((((((((((((("totalSoldierHunterBossPlayer01:" + toString(totalSoldierHunterBossPlayer01)) + "/ soldierRandomPlayer01:") + soldierRandomPlayer01) + "/ hunterRandomPlayer01:") + hunterRandomPlayer01) + "/ bossPlayer01:") + toString(bossPlayer01)) + "/ soldierPlayer01") + toString(soldierPlayer01)) + "/ hunterPlayer01") + toString(hunterPlayer01)) + "/ bossPlayer01") + toString(hunterPlayer01)) + "/ indexSoldierBufferPlayer01") + toString(indexSoldierBufferPlayer01)) + "/ indexHunterBufferPlayer01") + toString(indexHunterBufferPlayer01)) + "/ indexBossBufferPlayer01") + toString(indexBossBufferPlayer01)) + "/ powerSoldierBufferPlayer01") + toString(powerSoldierBufferPlayer01)) + "/ powerHunterBufferPlayer01") + toString(powerHunterBufferPlayer01)) + "/ powerBossBufferPlayer01") + toString(powerBossBufferPlayer01)) + "totalSoldierHunterBossPlayer01") + toString(totalSoldierHunterBossPlayer01)))
8686 }
8787 }
8888
8989

github/deemru/w8io/c3f4982 
42.98 ms