tx · E1SzTx5SL3mgWPtnMiru63GEghY5uVcxR3HAgNqZCnLi

3N3FtJGWEXex57HajuvYKKHU33PS4fwmQH6:  -0.01000000 Waves

2021.06.29 21:36 [1592044] smart account 3N3FtJGWEXex57HajuvYKKHU33PS4fwmQH6 > SELF 0.00000000 Waves

{ "type": 13, "id": "E1SzTx5SL3mgWPtnMiru63GEghY5uVcxR3HAgNqZCnLi", "fee": 1000000, "feeAssetId": null, "timestamp": 1624991833231, "version": 2, "chainId": 84, "sender": "3N3FtJGWEXex57HajuvYKKHU33PS4fwmQH6", "senderPublicKey": "4f5Wt4MDH3Qt6DMuZQid3zoj463xCUkNdUWjUcChuedh", "proofs": [ "PeLX71yyU9vvqTF17m4tB3rsPUecC115KrZ4rkHkRaWizuAeths3AU4onisxfzG9qwt7YTJnAuBMn71d3ppeEzp" ], "script": "base64:AAIEAAAAAAAAAAwIAhIDCgEIEgMKAQgAAAABAAAAAANKUE4BAAAAIEWosa+NzBSCTrxR5r/Cgx/KgydxqGORZyLGDZkX6IzFAAAAAgAAAAFpAQAAAAdidXlVbml0AAAAAQAAAAdhc3NldElEBAAAAARjb3N0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAFY29zdF8FAAAAB2Fzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABV3b3JrcyB3aXRoIHdhdmVzIG9ubHkDCQEAAAACIT0AAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAEY29zdAkAAAIAAAABAgAAAApXcm9uZyBjb3N0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQkAAlkAAAABBQAAAAdhc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAGb3duZXJfBQAAAAdhc3NldElECQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAA25pbAAAAAFpAQAAAApnb1RvRm9yZXN0AAAAAQAAAAdhc3NldElEBAAAAAVvd25lcgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAABm93bmVyXwUAAAAHYXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAAEAAAABHdhaXQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAV3YWl0XwUAAAAHYXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHbmV3V2FpdAkAAGQAAAACCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAAAAAAAAAAAZAMJAQAAAAIhPQAAAAIFAAAABmNhbGxlcgUAAAAFb3duZXIJAAACAAAAAQIAAAASWW91IGFyZSBub3Qgb3duZXIhAwkAAGYAAAACBQAAAAR3YWl0CAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAARU3RpbGwgd2FpdCBibG9jayAJAAGkAAAAAQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQCAAAAEiBmb3IgbmV3IGFkdmVudHVyZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAHoSAFAAAAA0pQTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAhiYWxhbmNlXwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAAAAAAAAB6EgCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAABXdhaXRfBQAAAAdhc3NldElEBQAAAAduZXdXYWl0BQAAAANuaWwAAAAA6GhQFw==", "height": 1592044, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6ZtygHREtVKv4h92FPvxLcqS3EQpjf2CKv48ZExbgMpy Next: 386oAaA4T3FBz85VR2qYeynsemNDHBPGBZVUbNnwsNSC Diff:
OldNewDifferences
2929 case _ =>
3030 ""
3131 }
32+ let wait = match getInteger(this, ("wait_" + assetID)) {
33+ case a: Int =>
34+ a
35+ case _ =>
36+ 0
37+ }
3238 let caller = toBase58String(i.caller.bytes)
3339 let newWait = (lastBlock.height + 100)
3440 if ((caller != owner))
3541 then throw("You are not owner!")
36- else [ScriptTransfer(i.caller, 500000, JPN), IntegerEntry(("balance_" + toBase58String(i.caller.bytes)), 500000), IntegerEntry(("wait_" + assetID), newWait)]
42+ else if ((wait > lastBlock.height))
43+ then throw((("Still wait block " + toString(lastBlock.height)) + " for new adventure"))
44+ else [ScriptTransfer(i.caller, 500000, JPN), IntegerEntry(("balance_" + toBase58String(i.caller.bytes)), 500000), IntegerEntry(("wait_" + assetID), newWait)]
3745 }
3846
3947
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let JPN = base58'5gvKrU3yetdPyMisTo8JiE737U9ZXLp4XkCy2aeE7BbA'
55
66 @Callable(i)
77 func buyUnit (assetID) = {
88 let cost = match getInteger(this, ("cost_" + assetID)) {
99 case a: Int =>
1010 a
1111 case _ =>
1212 0
1313 }
1414 let pmt = value(i.payments[0])
1515 if (isDefined(pmt.assetId))
1616 then throw("works with waves only")
1717 else if ((pmt.amount != cost))
1818 then throw("Wrong cost")
1919 else [ScriptTransfer(i.caller, 1, fromBase58String(assetID)), StringEntry(("owner_" + assetID), toBase58String(i.caller.bytes))]
2020 }
2121
2222
2323
2424 @Callable(i)
2525 func goToForest (assetID) = {
2626 let owner = match getString(this, ("owner_" + assetID)) {
2727 case a: String =>
2828 a
2929 case _ =>
3030 ""
3131 }
32+ let wait = match getInteger(this, ("wait_" + assetID)) {
33+ case a: Int =>
34+ a
35+ case _ =>
36+ 0
37+ }
3238 let caller = toBase58String(i.caller.bytes)
3339 let newWait = (lastBlock.height + 100)
3440 if ((caller != owner))
3541 then throw("You are not owner!")
36- else [ScriptTransfer(i.caller, 500000, JPN), IntegerEntry(("balance_" + toBase58String(i.caller.bytes)), 500000), IntegerEntry(("wait_" + assetID), newWait)]
42+ else if ((wait > lastBlock.height))
43+ then throw((("Still wait block " + toString(lastBlock.height)) + " for new adventure"))
44+ else [ScriptTransfer(i.caller, 500000, JPN), IntegerEntry(("balance_" + toBase58String(i.caller.bytes)), 500000), IntegerEntry(("wait_" + assetID), newWait)]
3745 }
3846
3947

github/deemru/w8io/c3f4982 
23.95 ms