tx · 7fu9MsNHf9brEMAouggmcUkFcPjjHMrsLWFeFhYxEBzP

3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA:  -0.01000000 Waves

2021.07.24 09:04 [1627330] smart account 3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA > SELF 0.00000000 Waves

{ "type": 13, "id": "7fu9MsNHf9brEMAouggmcUkFcPjjHMrsLWFeFhYxEBzP", "fee": 1000000, "feeAssetId": null, "timestamp": 1627106666913, "version": 2, "chainId": 84, "sender": "3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA", "senderPublicKey": "4P5V3b5K49wXNGa4M6SwDgHAMBa582FxTsF5qjWePQo3", "proofs": [ "3kr6y3U8KBYNPecgqtacMCm35tC6PoiNkVRZaSaDpGTD4hFAEohGcKDbFfg6YsjgDvTcdu1d8un3JieN8aQbCL7B" ], "script": "base64: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cXVpcmlyLCByZWFsaXplIGEgY29tcHJhIGVtIFN3YXAgRGVja3MuAwMJAAAAAAAAAgUAAAAOY2FyZEluVGhlQXJlbmECAAAAAAYJAAAAAAAAAgUAAAAQcGxheWVySW5UaGVBcmVuYQIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEHBsYXllckluVGhlQXJlbmEFAAAAD2N1cnJlbnRLZXlCeXRlcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA5jYXJkSW5UaGVBcmVuYQUAAAAIY2FyZE5hbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADmFyZW5hQ2FyZFNjb3JlBQAAABBjdXJyZW50Q2FyZFNjb3JlBQAAAANuaWwDCQAAAAAAAAIFAAAAEWN1cnJlbnRDYXJkU3RhdHVzAgAAAARVc2VkCQAAAgAAAAECAAAAHUVzdGEgY2FydGEgasOhIGZvaSB1dGlsaXphZGEhBAAAAAZ3aW5uZXIDCQAAZgAAAAIFAAAAEGN1cnJlbnRDYXJkU2NvcmUFAAAADmFyZW5hQ2FyZFNjb3JlBQAAAA9jdXJyZW50S2V5Qnl0ZXMFAAAAEHBsYXllckluVGhlQXJlbmEEAAAAC3dpbm5pbmdDYXJkAwkAAGYAAAACBQAAABBjdXJyZW50Q2FyZFNjb3JlBQAAAA5hcmVuYUNhcmRTY29yZQUAAAAPY3VycmVudEtleUJ5dGVzBQAAABBwbGF5ZXJJblRoZUFyZW5hBAAAABxwb2ludHNSZW1haW5pbmdPbldpbm5pbmdDYXJkAwkAAGYAAAACBQAAABBjdXJyZW50Q2FyZFNjb3JlBQAAAA5hcmVuYUNhcmRTY29yZQkAAGUAAAACBQAAABBjdXJyZW50Q2FyZFNjb3JlBQAAAA5hcmVuYUNhcmRTY29yZQkAAGUAAAACBQAAAA5hcmVuYUNhcmRTY29yZQUAAAAQY3VycmVudENhcmRTY29yZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAABFwbGF5ZXJJbnRUaGVBcmVuYQUAAAAGd2lubmVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAADmNhcmRJblRoZUFyZW5hBQAAAAhjYXJkTmFtZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOYXJlbmFDYXJkU2NvcmUFAAAAHHBvaW50c1JlbWFpbmluZ09uV2lubmluZ0NhcmQFAAAAA25pbAAAAACgmSUt", "height": 1627330, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FmYuJTKASXeq54swy8UYfMEnKZTC16KTLLcBNzTudX4E Next: AWiben3jZtqveDPBNs9EMNUkvc1WtAVHs6uP2JQxWYDB Diff:
OldNewDifferences
5353 else if (if ((cardInTheArena == ""))
5454 then true
5555 else (playerInTheArena == ""))
56- then [StringEntry("playerInTheArena", playerInTheArena), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
56+ then [StringEntry("playerInTheArena", currentKeyBytes), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
5757 else if ((currentCardStatus == "Used"))
5858 then throw("Esta carta já foi utilizada!")
5959 else {
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"]
1717 let currentCardStatus = match getString(this, ("status_" + cardNameCurrentPlayer)) {
1818 case t: String =>
1919 t
2020 case _ =>
2121 ""
2222 }
2323 let currentCardScore = match getInteger(this, ("score_" + cardName)) {
2424 case t: Int =>
2525 t
2626 case _ =>
2727 0
2828 }
2929 let playerInTheArena = match getString(this, "playerInTheArena") {
3030 case t: String =>
3131 t
3232 case _ =>
3333 ""
3434 }
3535 let cardInTheArena = match getString(this, "cardInTheArena") {
3636 case t: String =>
3737 t
3838 case _ =>
3939 ""
4040 }
4141 let arenaCardScore = match getInteger(this, "arenaCardScore") {
4242 case t: Int =>
4343 t
4444 case _ =>
4545 0
4646 }
4747 if (if (!(containsElement(classGame, class)))
4848 then !(containsElement(cardsGame, card))
4949 else false)
5050 then throw("A classe enviada não existe no game! Por favor contate o suporte!")
5151 else if ((0 > assetBalance(currentKey, undead)))
5252 then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a compra em Swap Decks.")
5353 else if (if ((cardInTheArena == ""))
5454 then true
5555 else (playerInTheArena == ""))
56- then [StringEntry("playerInTheArena", playerInTheArena), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
56+ then [StringEntry("playerInTheArena", currentKeyBytes), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)]
5757 else if ((currentCardStatus == "Used"))
5858 then throw("Esta carta já foi utilizada!")
5959 else {
6060 let winner = if ((currentCardScore > arenaCardScore))
6161 then currentKeyBytes
6262 else playerInTheArena
6363 let winningCard = if ((currentCardScore > arenaCardScore))
6464 then currentKeyBytes
6565 else playerInTheArena
6666 let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore))
6767 then (currentCardScore - arenaCardScore)
6868 else (arenaCardScore - currentCardScore)
6969 [StringEntry("playerIntTheArena", winner), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", pointsRemainingOnWinningCard)]
7070 }
7171 }
7272
7373

github/deemru/w8io/873ac7e 
20.43 ms