tx · FmYuJTKASXeq54swy8UYfMEnKZTC16KTLLcBNzTudX4E

3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA:  -0.01000000 Waves

2021.07.24 09:02 [1627329] smart account 3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA > SELF 0.00000000 Waves

{ "type": 13, "id": "FmYuJTKASXeq54swy8UYfMEnKZTC16KTLLcBNzTudX4E", "fee": 1000000, "feeAssetId": null, "timestamp": 1627106578380, "version": 2, "chainId": 84, "sender": "3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA", "senderPublicKey": "4P5V3b5K49wXNGa4M6SwDgHAMBa582FxTsF5qjWePQo3", "proofs": [ "64VvWLnT6NQhga9sqW14ZDZP9wQoearxJLDrLuFN4TUvDXwTVPjuQt16m38sBiLnjT9CihRvRTbmWAppEnjXj2R7" ], "script": "base64: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cXVpcmlyLCByZWFsaXplIGEgY29tcHJhIGVtIFN3YXAgRGVja3MuAwMJAAAAAAAAAgUAAAAOY2FyZEluVGhlQXJlbmECAAAAAAYJAAAAAAAAAgUAAAAQcGxheWVySW5UaGVBcmVuYQIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEHBsYXllckluVGhlQXJlbmEFAAAAEHBsYXllckluVGhlQXJlbmEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAOY2FyZEluVGhlQXJlbmEFAAAACGNhcmROYW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA5hcmVuYUNhcmRTY29yZQUAAAAQY3VycmVudENhcmRTY29yZQUAAAADbmlsAwkAAAAAAAACBQAAABFjdXJyZW50Q2FyZFN0YXR1cwIAAAAEVXNlZAkAAAIAAAABAgAAAB1Fc3RhIGNhcnRhIGrDoSBmb2kgdXRpbGl6YWRhIQQAAAAGd2lubmVyAwkAAGYAAAACBQAAABBjdXJyZW50Q2FyZFNjb3JlBQAAAA5hcmVuYUNhcmRTY29yZQUAAAAPY3VycmVudEtleUJ5dGVzBQAAABBwbGF5ZXJJblRoZUFyZW5hBAAAAAt3aW5uaW5nQ2FyZAMJAABmAAAAAgUAAAAQY3VycmVudENhcmRTY29yZQUAAAAOYXJlbmFDYXJkU2NvcmUFAAAAD2N1cnJlbnRLZXlCeXRlcwUAAAAQcGxheWVySW5UaGVBcmVuYQQAAAAccG9pbnRzUmVtYWluaW5nT25XaW5uaW5nQ2FyZAMJAABmAAAAAgUAAAAQY3VycmVudENhcmRTY29yZQUAAAAOYXJlbmFDYXJkU2NvcmUJAABlAAAAAgUAAAAQY3VycmVudENhcmRTY29yZQUAAAAOYXJlbmFDYXJkU2NvcmUJAABlAAAAAgUAAAAOYXJlbmFDYXJkU2NvcmUFAAAAEGN1cnJlbnRDYXJkU2NvcmUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAARcGxheWVySW50VGhlQXJlbmEFAAAABndpbm5lcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA5jYXJkSW5UaGVBcmVuYQUAAAAIY2FyZE5hbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADmFyZW5hQ2FyZFNjb3JlBQAAABxwb2ludHNSZW1haW5pbmdPbldpbm5pbmdDYXJkBQAAAANuaWwAAAAATmeeKQ==", "height": 1627329, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BaLifCGSBEWHWWZXwMXstrAascqfzapLP7F3cdKAU97R Next: 7fu9MsNHf9brEMAouggmcUkFcPjjHMrsLWFeFhYxEBzP Diff:
OldNewDifferences
1414 let cardsGame = ["Undead_01", "Undead_02", "Undead_03", "Undead_04", "Undead_05", "Undead_07", "Undead_08", "Undead_09", "Undead_10"]
1515 let classGame = ["Undead"]
1616 let assetsGame = ["3btiz2mNkbcFhcAww6Zn6WaRtDY3mLHf2dbJHNNbdUFk"]
17- let kingOftheArena = match getString(this, "kingOftheArena") {
18- case a: String =>
19- a
20- case _ =>
21- ""
22- }
2317 let currentCardStatus = match getString(this, ("status_" + cardNameCurrentPlayer)) {
2418 case t: String =>
2519 t
5650 then throw("A classe enviada não existe no game! Por favor contate o suporte!")
5751 else if ((0 > assetBalance(currentKey, undead)))
5852 then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a compra em Swap Decks.")
59- else if ((kingOftheArena == ""))
60- then [StringEntry("kingOftheArena", currentKeyBytes)]
61- else if (if ((cardInTheArena == ""))
62- then true
63- else (playerInTheArena == ""))
64- then [StringEntry("playerInTheArena", playerInTheArena), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
65- else if ((currentCardStatus == "Used"))
66- then throw("Esta carta já foi utilizada!")
67- else {
68- let winner = if ((currentCardScore > arenaCardScore))
69- then currentKeyBytes
70- else playerInTheArena
71- let winningCard = if ((currentCardScore > arenaCardScore))
72- then currentKeyBytes
73- else playerInTheArena
74- let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore))
75- then (currentCardScore - arenaCardScore)
76- else (arenaCardScore - currentCardScore)
53+ else if (if ((cardInTheArena == ""))
54+ then true
55+ else (playerInTheArena == ""))
56+ then [StringEntry("playerInTheArena", playerInTheArena), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
57+ else if ((currentCardStatus == "Used"))
58+ then throw("Esta carta já foi utilizada!")
59+ else {
60+ let winner = if ((currentCardScore > arenaCardScore))
61+ then currentKeyBytes
62+ else playerInTheArena
63+ let winningCard = if ((currentCardScore > arenaCardScore))
64+ then currentKeyBytes
65+ else playerInTheArena
66+ let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore))
67+ then (currentCardScore - arenaCardScore)
68+ else (arenaCardScore - currentCardScore)
7769 [StringEntry("playerIntTheArena", winner), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", pointsRemainingOnWinningCard)]
78- }
70+ }
7971 }
8072
8173
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(inv)
77 func play (card,class) = {
88 let currentKey = inv.caller
99 let btcAmount = value(inv.payments[0].amount)
1010 let currentKeyBytes = toBase58String(inv.caller.bytes)
1111 let cardName = ((class + "_") + card)
1212 let cardNameCurrentPlayer = ((((class + "_") + card) + "_") + currentKeyBytes)
1313 let undead = base58'3btiz2mNkbcFhcAww6Zn6WaRtDY3mLHf2dbJHNNbdUFk'
1414 let cardsGame = ["Undead_01", "Undead_02", "Undead_03", "Undead_04", "Undead_05", "Undead_07", "Undead_08", "Undead_09", "Undead_10"]
1515 let classGame = ["Undead"]
1616 let assetsGame = ["3btiz2mNkbcFhcAww6Zn6WaRtDY3mLHf2dbJHNNbdUFk"]
17- let kingOftheArena = match getString(this, "kingOftheArena") {
18- case a: String =>
19- a
20- case _ =>
21- ""
22- }
2317 let currentCardStatus = match getString(this, ("status_" + cardNameCurrentPlayer)) {
2418 case t: String =>
2519 t
2620 case _ =>
2721 ""
2822 }
2923 let currentCardScore = match getInteger(this, ("score_" + cardName)) {
3024 case t: Int =>
3125 t
3226 case _ =>
3327 0
3428 }
3529 let playerInTheArena = match getString(this, "playerInTheArena") {
3630 case t: String =>
3731 t
3832 case _ =>
3933 ""
4034 }
4135 let cardInTheArena = match getString(this, "cardInTheArena") {
4236 case t: String =>
4337 t
4438 case _ =>
4539 ""
4640 }
4741 let arenaCardScore = match getInteger(this, "arenaCardScore") {
4842 case t: Int =>
4943 t
5044 case _ =>
5145 0
5246 }
5347 if (if (!(containsElement(classGame, class)))
5448 then !(containsElement(cardsGame, card))
5549 else false)
5650 then throw("A classe enviada não existe no game! Por favor contate o suporte!")
5751 else if ((0 > assetBalance(currentKey, undead)))
5852 then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a compra em Swap Decks.")
59- else if ((kingOftheArena == ""))
60- then [StringEntry("kingOftheArena", currentKeyBytes)]
61- else if (if ((cardInTheArena == ""))
62- then true
63- else (playerInTheArena == ""))
64- then [StringEntry("playerInTheArena", playerInTheArena), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
65- else if ((currentCardStatus == "Used"))
66- then throw("Esta carta já foi utilizada!")
67- else {
68- let winner = if ((currentCardScore > arenaCardScore))
69- then currentKeyBytes
70- else playerInTheArena
71- let winningCard = if ((currentCardScore > arenaCardScore))
72- then currentKeyBytes
73- else playerInTheArena
74- let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore))
75- then (currentCardScore - arenaCardScore)
76- else (arenaCardScore - currentCardScore)
53+ else if (if ((cardInTheArena == ""))
54+ then true
55+ else (playerInTheArena == ""))
56+ then [StringEntry("playerInTheArena", playerInTheArena), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
57+ else if ((currentCardStatus == "Used"))
58+ then throw("Esta carta já foi utilizada!")
59+ else {
60+ let winner = if ((currentCardScore > arenaCardScore))
61+ then currentKeyBytes
62+ else playerInTheArena
63+ let winningCard = if ((currentCardScore > arenaCardScore))
64+ then currentKeyBytes
65+ else playerInTheArena
66+ let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore))
67+ then (currentCardScore - arenaCardScore)
68+ else (arenaCardScore - currentCardScore)
7769 [StringEntry("playerIntTheArena", winner), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", pointsRemainingOnWinningCard)]
78- }
70+ }
7971 }
8072
8173

github/deemru/w8io/873ac7e 
30.75 ms