tx · Bc3NeHf2UbmGWm2piEERq94ZSWDRr4qQs4TZed4QJmKP

3N3FtJGWEXex57HajuvYKKHU33PS4fwmQH6:  -0.01000000 Waves

2021.06.30 05:53 [1592528] smart account 3N3FtJGWEXex57HajuvYKKHU33PS4fwmQH6 > SELF 0.00000000 Waves

{ "type": 13, "id": "Bc3NeHf2UbmGWm2piEERq94ZSWDRr4qQs4TZed4QJmKP", "fee": 1000000, "feeAssetId": null, "timestamp": 1625021628809, "version": 2, "chainId": 84, "sender": "3N3FtJGWEXex57HajuvYKKHU33PS4fwmQH6", "senderPublicKey": "4f5Wt4MDH3Qt6DMuZQid3zoj463xCUkNdUWjUcChuedh", "proofs": [ "37b3T88e2fDsXn32CXtPUPz97X8sAiCodDkPeNmUnCPGteSXNoT1EExUgoYx8kk1Mma6RRUyD3queiCSNabBnkSh" ], "script": "base64:AAIFAAAAAAAAABEIAhIDCgEIEgMKAQgSAwoBCAAAAAIAAAAAA0pQTgEAAAAgRaixr43MFIJOvFHmv8KDH8qDJ3GoY5FnIsYNmRfojMUAAAAABEdPTEQBAAAAIC0eOAmkGWVMqSbVdH5jMxv+07wXTJsDIu8ke5NyDNC8AAAAAwAAAAFpAQAAAAdidXlVbml0AAAAAQAAAAdhc3NldElEBAAAAARjb3N0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAFY29zdF8FAAAAB2Fzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABV3b3JrcyB3aXRoIHdhdmVzIG9ubHkDCQEAAAACIT0AAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAEY29zdAkAAAIAAAABAgAAAApXcm9uZyBjb3N0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQkAAlkAAAABBQAAAAdhc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAGb3duZXJfBQAAAAdhc3NldElECQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAA25pbAAAAAFpAQAAAApnb1RvRm9yZXN0AAAAAQAAAAdhc3NldElEBAAAAAVvd25lcgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAABm93bmVyXwUAAAAHYXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAAEAAAABHdhaXQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAV3YWl0XwUAAAAHYXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHbmV3V2FpdAkAAGQAAAACCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAAAAAAAAAAAZAQAAAAFY291bnQJAABkAAAAAgkAAGoAAAACCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAAAAAAAAAAAZAAAAAAAAAAAAQMJAQAAAAIhPQAAAAIFAAAABmNhbGxlcgUAAAAFb3duZXIJAAACAAAAAQIAAAASWW91IGFyZSBub3Qgb3duZXIhAwkAAGYAAAACBQAAAAR3YWl0CAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAARU3RpbGwgd2FpdCBibG9jayAJAAGkAAAAAQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQCAAAAEyBmb3IgZm9yZXN0LXdhbGtpbmcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAVjb3VudAUAAAAER09MRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAV3YWl0XwUAAAAHYXNzZXRJRAUAAAAHbmV3V2FpdAUAAAADbmlsAAAAAWkBAAAADWdvVG9BZHZlbnR1cmUAAAABAAAAB2Fzc2V0SUQEAAAABW93bmVyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAGb3duZXJfBQAAAAdhc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAQAAAAEd2FpdAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABXdhaXRfBQAAAAdhc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAABmNhbGxlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAduZXdXYWl0CQAAZAAAAAIIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0AAAAAAAAAABkAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAVvd25lcgkAAAIAAAABAgAAABJZb3UgYXJlIG5vdCBvd25lciEDCQAAZgAAAAIFAAAABHdhaXQIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABFTdGlsbCB3YWl0IGJsb2NrIAkAAaQAAAABCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAIAAAASIGZvciBuZXcgYWR2ZW50dXJlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAehIAUAAAADSlBOCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAABXdhaXRfBQAAAAdhc3NldElEBQAAAAduZXdXYWl0BQAAAANuaWwAAAAAPBT1VA==", "height": 1592528, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 386oAaA4T3FBz85VR2qYeynsemNDHBPGBZVUbNnwsNSC Next: BmBn2N8FN3kBp5iCMvYuidkkwNoqVVAA1WywhH57VCL2 Diff:
OldNewDifferences
4444 then throw("You are not owner!")
4545 else if ((wait > lastBlock.height))
4646 then throw((("Still wait block " + toString(lastBlock.height)) + " for forest-walking"))
47- else [ScriptTransfer(i.caller, count, JPN), IntegerEntry(("wait_" + assetID), newWait)]
47+ else [ScriptTransfer(i.caller, count, GOLD), IntegerEntry(("wait_" + assetID), newWait)]
4848 }
4949
5050
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let JPN = base58'5gvKrU3yetdPyMisTo8JiE737U9ZXLp4XkCy2aeE7BbA'
55
66 let GOLD = base58'4385BhNBpLMpBM2Gdt8Z6edjdxYgV4Eb2eE5VvUmxrLK'
77
88 @Callable(i)
99 func buyUnit (assetID) = {
1010 let cost = match getInteger(this, ("cost_" + assetID)) {
1111 case a: Int =>
1212 a
1313 case _ =>
1414 0
1515 }
1616 let pmt = value(i.payments[0])
1717 if (isDefined(pmt.assetId))
1818 then throw("works with waves only")
1919 else if ((pmt.amount != cost))
2020 then throw("Wrong cost")
2121 else [ScriptTransfer(i.caller, 1, fromBase58String(assetID)), StringEntry(("owner_" + assetID), toBase58String(i.caller.bytes))]
2222 }
2323
2424
2525
2626 @Callable(i)
2727 func goToForest (assetID) = {
2828 let owner = match getString(this, ("owner_" + assetID)) {
2929 case a: String =>
3030 a
3131 case _ =>
3232 ""
3333 }
3434 let wait = match getInteger(this, ("wait_" + assetID)) {
3535 case a: Int =>
3636 a
3737 case _ =>
3838 0
3939 }
4040 let caller = toBase58String(i.caller.bytes)
4141 let newWait = (lastBlock.height + 100)
4242 let count = ((lastBlock.height % 100) + 1)
4343 if ((caller != owner))
4444 then throw("You are not owner!")
4545 else if ((wait > lastBlock.height))
4646 then throw((("Still wait block " + toString(lastBlock.height)) + " for forest-walking"))
47- else [ScriptTransfer(i.caller, count, JPN), IntegerEntry(("wait_" + assetID), newWait)]
47+ else [ScriptTransfer(i.caller, count, GOLD), IntegerEntry(("wait_" + assetID), newWait)]
4848 }
4949
5050
5151
5252 @Callable(i)
5353 func goToAdventure (assetID) = {
5454 let owner = match getString(this, ("owner_" + assetID)) {
5555 case a: String =>
5656 a
5757 case _ =>
5858 ""
5959 }
6060 let wait = match getInteger(this, ("wait_" + assetID)) {
6161 case a: Int =>
6262 a
6363 case _ =>
6464 0
6565 }
6666 let caller = toBase58String(i.caller.bytes)
6767 let newWait = (lastBlock.height + 100)
6868 if ((caller != owner))
6969 then throw("You are not owner!")
7070 else if ((wait > lastBlock.height))
7171 then throw((("Still wait block " + toString(lastBlock.height)) + " for new adventure"))
7272 else [ScriptTransfer(i.caller, 500000, JPN), IntegerEntry(("wait_" + assetID), newWait)]
7373 }
7474
7575

github/deemru/w8io/873ac7e 
28.17 ms