tx · AA9o3vjVepKhe5xcmaMNVoz9Nyi8XzcJpFzzfRkdg2ed 3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ: -0.01000000 Waves 2021.07.23 20:39 [1626584] smart account 3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ > SELF 0.00000000 Waves
{ "type": 13, "id": "AA9o3vjVepKhe5xcmaMNVoz9Nyi8XzcJpFzzfRkdg2ed", "fee": 1000000, "feeAssetId": null, "timestamp": 1627062031132, "version": 2, "chainId": 84, "sender": "3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ", "senderPublicKey": "J7rxZzeYSPADJy4erG5pvXRfkEStFn2ytek6F4Xx2VPY", "proofs": [ "4ChVnpuDw2HsPAAsAWSGGJ6GShUz8Dna1vEVAsCYxrVYyFcu3A86ckG2qJZC8b5vfgUuB6JVkakhhcJ6AWgxaXCW" ], "script": "base64:AAIDAAAAAAAAApUIARIFCgMBAQEaEAoCYTESCnJhbmRvbWl6ZXIaCQoCYTISA2ludhoKCgJhMxIEZ2FtZRoNCgJhNBIHJG1hdGNoMBoHCgJhNRIBcxoKCgJhNhIEcmFuZBoYCgJhNxISaW5kZXhTb2xkaWVyQnVmZmVyGhcKAmE4EhFpbmRleEh1bnRlckJ1ZmZlchoVCgJhORIPaW5kZXhCb3NzQnVmZmVyGg4KAmIxEghyYW5kaGFzaBoQCgJiMhIKY3VycmVudEtleRoPCgJiMxIJYnRjQW1vdW50GhUKAmI0Eg9jdXJyZW50S2V5Qnl0ZXMaDAoCYjUSBnVuZGVhZBoUCgJiNhIOa2luZ09mdGhlQXJlbmEaBwoCYjcSAWEaGwoCYjgSFXNvbGRpZXJSYW5kb21QbGF5ZXIwMRoaCgJiORIUaHVudGVyUmFuZG9tUGxheWVyMDEaGAoCYzESEmJvc3NSYW5kb21QbGF5ZXIwMRoVCgJjMhIPc29sZGllclBsYXllcjAxGhQKAmMzEg5odW50ZXJQbGF5ZXIwMRoSCgJjNBIMYm9zc1BsYXllcjAxGiAKAmM1EhppbmRleFNvbGRpZXJCdWZmZXJQbGF5ZXIwMRofCgJjNhIZaW5kZXhIdW50ZXJCdWZmZXJQbGF5ZXIwMRodCgJjNxIXaW5kZXhCb3NzQnVmZmVyUGxheWVyMDEaIAoCYzgSGnBvd2VyU29sZGllckJ1ZmZlclBsYXllcjAxGh8KAmM5Ehlwb3dlckh1bnRlckJ1ZmZlclBsYXllcjAxGh0KAmQxEhdwb3dlckJvc3NCdWZmZXJQbGF5ZXIwMRokCgJkMhIedG90YWxTb2xkaWVySHVudGVyQm9zc1BsYXllcjAxAAAAAQEAAAACYTEAAAABAAAAAmEyBAAAAAJhMwQAAAACYTQJAAQcAAAAAgUAAAAEdGhpcwIAAAAEZ2FtZQMJAAABAAAAAgUAAAACYTQCAAAACkJ5dGVWZWN0b3IEAAAAAmE1BQAAAAJhNAUAAAACYTUDCQAAAQAAAAIFAAAAAmE0AgAAAARVbml0AQAAABNTb2xkaWVySHVudGVyQm9zc3YxCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAAJhNgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAA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", "height": 1626584, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CWGjwnkfji8maxPsQpzjvTs9RpLFsNyuaeYpuPLBLWwC Next: 7WqbGGwe7SYogJucp3XigiBZQn85x4Cbogf9bddZn8uz Diff:
Old | New | Differences | |
---|---|---|---|
35 | 35 | else { | |
36 | 36 | let soldierRandomPlayer01 = toString((toInt(randhash) % 4)) | |
37 | 37 | let hunterRandomPlayer01 = toString((toInt(randhash) % 4)) | |
38 | - | let bossRandomPlayer01 = toString((toInt(randhash) % | |
38 | + | let bossRandomPlayer01 = toString((toInt(randhash) % 2)) | |
39 | 39 | let soldierPlayer01 = match getInteger(this, ("soldier0" + soldierRandomPlayer01)) { | |
40 | 40 | case a: Int => | |
41 | 41 | a |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func randomizer (inv) = { | |
5 | 5 | let game = match getBinary(this, "game") { | |
6 | 6 | case s: ByteVector => | |
7 | 7 | s | |
8 | 8 | case _: Unit => | |
9 | 9 | base58'GGvfcHWwd2azCVLaeeQzr6Ccyn' | |
10 | 10 | case _ => | |
11 | 11 | throw("Match error") | |
12 | 12 | } | |
13 | 13 | let rand = (((((game + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)) | |
14 | 14 | sha256(rand) | |
15 | 15 | } | |
16 | 16 | ||
17 | 17 | ||
18 | 18 | @Callable(inv) | |
19 | 19 | func play (indexSoldierBuffer,indexHunterBuffer,indexBossBuffer) = { | |
20 | 20 | let randhash = randomizer(inv) | |
21 | 21 | let currentKey = inv.caller | |
22 | 22 | let btcAmount = extract(inv.payment) | |
23 | 23 | let currentKeyBytes = toBase58String(inv.caller.bytes) | |
24 | 24 | let undead = base58'DdM4S3gFdTGCTPeNH1xRE3KjaUNDosoXCKvEY76VfP4o' | |
25 | 25 | let kingOftheArena = match getString(this, "kingOftheArena") { | |
26 | 26 | case a: String => | |
27 | 27 | a | |
28 | 28 | case _ => | |
29 | 29 | "" | |
30 | 30 | } | |
31 | 31 | if ((0 > assetBalance(currentKey, undead))) | |
32 | 32 | then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a troca em Swap Decks.") | |
33 | 33 | else if ((kingOftheArena == "")) | |
34 | 34 | then WriteSet([DataEntry("kingOftheArena", currentKeyBytes), DataEntry("btcAmount", btcAmount.amount), DataEntry("indexSoldierBuffer", indexSoldierBuffer), DataEntry("indexHunterBuffer", indexHunterBuffer), DataEntry("indexBossBuffer", indexBossBuffer)]) | |
35 | 35 | else { | |
36 | 36 | let soldierRandomPlayer01 = toString((toInt(randhash) % 4)) | |
37 | 37 | let hunterRandomPlayer01 = toString((toInt(randhash) % 4)) | |
38 | - | let bossRandomPlayer01 = toString((toInt(randhash) % | |
38 | + | let bossRandomPlayer01 = toString((toInt(randhash) % 2)) | |
39 | 39 | let soldierPlayer01 = match getInteger(this, ("soldier0" + soldierRandomPlayer01)) { | |
40 | 40 | case a: Int => | |
41 | 41 | a | |
42 | 42 | case _ => | |
43 | 43 | 0 | |
44 | 44 | } | |
45 | 45 | let hunterPlayer01 = match getInteger(this, ("hunter0" + hunterRandomPlayer01)) { | |
46 | 46 | case a: Int => | |
47 | 47 | a | |
48 | 48 | case _ => | |
49 | 49 | 0 | |
50 | 50 | } | |
51 | 51 | let bossPlayer01 = match getInteger(this, ("boss0" + bossRandomPlayer01)) { | |
52 | 52 | case a: Int => | |
53 | 53 | a | |
54 | 54 | case _ => | |
55 | 55 | 0 | |
56 | 56 | } | |
57 | 57 | let indexSoldierBufferPlayer01 = match getInteger(this, "indexSoldierBuffer") { | |
58 | 58 | case a: Int => | |
59 | 59 | a | |
60 | 60 | case _ => | |
61 | 61 | 0 | |
62 | 62 | } | |
63 | 63 | let indexHunterBufferPlayer01 = match getInteger(this, "indexHunterBuffer") { | |
64 | 64 | case a: Int => | |
65 | 65 | a | |
66 | 66 | case _ => | |
67 | 67 | 0 | |
68 | 68 | } | |
69 | 69 | let indexBossBufferPlayer01 = match getInteger(this, "indexBossBuffer") { | |
70 | 70 | case a: Int => | |
71 | 71 | a | |
72 | 72 | case _ => | |
73 | 73 | 0 | |
74 | 74 | } | |
75 | 75 | let powerSoldierBufferPlayer01 = if ((indexSoldierBufferPlayer01 == (toInt(randhash) % 4))) | |
76 | 76 | then 50 | |
77 | 77 | else 0 | |
78 | 78 | let powerHunterBufferPlayer01 = if ((indexHunterBufferPlayer01 == (toInt(randhash) % 4))) | |
79 | 79 | then 500 | |
80 | 80 | else 0 | |
81 | 81 | let powerBossBufferPlayer01 = if ((indexBossBufferPlayer01 == (toInt(randhash) % 4))) | |
82 | 82 | then 500 | |
83 | 83 | else 0 | |
84 | 84 | let totalSoldierHunterBossPlayer01 = (((((soldierPlayer01 + hunterPlayer01) + bossPlayer01) + powerSoldierBufferPlayer01) + powerHunterBufferPlayer01) + powerBossBufferPlayer01) | |
85 | 85 | throw(((((((((((((((((((((((((((("totalSoldierHunterBossPlayer01:" + toString(totalSoldierHunterBossPlayer01)) + "/n soldierRandomPlayer01:") + soldierRandomPlayer01) + "/ hunterRandomPlayer01:") + hunterRandomPlayer01) + "/ bossRandomPlayer01:") + bossRandomPlayer01) + "/ 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))) | |
86 | 86 | } | |
87 | 87 | } | |
88 | 88 | ||
89 | 89 |
github/deemru/w8io/c3f4982 25.38 ms ◑