tx · 71jLUnDGWDBpmfCzTqxCn2EByVFhTAXT7QyucaLJjG24

3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS:  -0.01000000 Waves

2021.10.20 20:01 [2819859] smart account 3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS > SELF 0.00000000 Waves

{ "type": 13, "id": "71jLUnDGWDBpmfCzTqxCn2EByVFhTAXT7QyucaLJjG24", "fee": 1000000, "feeAssetId": null, "timestamp": 1634749277102, "version": 2, "chainId": 87, "sender": "3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS", "senderPublicKey": "AQM5JR46VkucVkx5RVXDtku22Yf6j1v16ekWmdXYyXMT", "proofs": [ "214itAZL5hv6kj5DMBVirwXQNQGroiYT9CiZT1xN9o6q6dimCrEWVC1SsGSxZMhFWeeK5ChD8rYS4pg4HtyryWiK" ], "script": "base64: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d2l0aGRyYXdLZXkJAAEsAAAAAgUAAAAEdG5JZAIAAAAGX3N0YXRlBAAAAAhpZE5mdGtleQkAASwAAAACBQAAAAR0bklkAgAAAAhfbmZ0SWRUTgQAAAAHc3RhdGVXRAkABB0AAAACBQAAAAR0aGlzBQAAAAt3aXRoZHJhd0tleQMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAdzdGF0ZVdECQAAAgAAAAECAAAALFdpdGhkcmF3YWwgYWxyZWFkeSBpbml0aWFsaXplZCBvciBjb21wbGV0ZWQhCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADmRlc3RpbmF0aW9uS2V5BQAAAAtkZXN0aW5hdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhpZE5mdGtleQUAAAAHbmZ0SWRUTgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAt3aXRoZHJhd0tleQIAAAAOV0QtSU5JVElBTElaRUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAIc3RhdGVLZXkCAAAADldELUlOSVRJQUxJWkVEBQAAAANuaWwJAAACAAAAAQIAAAAaQXNzZXQgd2FzIG5ldmVyIGRlcG9zaXRlZCEJAAACAAAAAQIAAAAMRGlydHkgaGFja2VyAAAAAWkBAAAADnJlbGVhc2VPbldhdmVzAAAAAQAAAAR0bklkBAAAAA5kZXN0aW5hdGlvbktleQkAASwAAAACBQAAAAR0bklkAgAAAAVfZGVzdAQAAAAIc3RhdGVLZXkJAAEsAAAAAgUAAAAEdG5JZAIAAAAGX3N0YXRlBAAAAAhpZE5mdGtleQkAASwAAAACBQAAAAR0bklkAgAAAAhfbmZ0SWRUTgQAAAAFc3RhdGUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhzdGF0ZUtleQIAAAAXVGhlIHRuSWQgc2VlbXMgaW52YWxpZCEDCQAAAAAAAAIFAAAABXN0YXRlAgAAAA5XRC1JTklUSUFMSVpFRAQAAAALZGVzdGluYXRpb24JAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAA5kZXN0aW5hdGlvbktleQIAAAAXVGhlIHRuSWQgc2VlbXMgaW52YWxpZCEEAAAADnJlY2VpdmVORlRBZGR5CQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAALZGVzdGluYXRpb24EAAAAB2lkTkZUVE4JAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhpZE5mdGtleQIAAAAaVGhlIG5mdElkVE4gc2VlbXMgaW52YWxpZCEEAAAAB2xpbmtLZXkJAAEsAAAAAgUAAAAHaWRORlRUTgIAAAAIX2lkV2F2ZXMEAAAABWlkTkZUCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAHbGlua0tleQIAAAAfVGhlIGxpbmtlZCBORlQgY2Fubm90IGJlIGZvdW5kIQQAAAALc3RhdGVORlRLZXkJAAEsAAAAAgUAAAAFaWRORlQCAAAABl9zdGF0ZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhzdGF0ZUtleQIAAAAJQ09NUExFVEVECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAC3N0YXRlTkZUS2V5AgAAAAhSRUxFQVNFRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA5yZWNlaXZlTkZUQWRkeQAAAAAAAAAAAQkAAZsAAAABBQAAAAVpZE5GVAUAAAADbmlsCQAAAgAAAAECAAAAIVRyYW5zYWN0aW9uIGlzIGFscmVhZHkgcHJvY2Vzc2VkIQAAAAAOaP3E", "height": 2819859, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4VDLBuYMaU6jXKqfYjJ2XnoRmXi5DfU3rsa4zG9M91yP Next: 2NNzkvtbVbmsFbyDPJpXxRoBpRxrJBU4SCyfv3ZGk8kr Diff:
OldNewDifferences
4141 func storeData (nftIdTN,tnId,destination) = if ((i.caller == this))
4242 then {
4343 let linkKey = (nftIdTN + "_idWaves")
44- let nftId = getStringValue(this, linkKey)
45- let stateKey = (nftId + "_state")
46- let state = getStringValue(this, stateKey)
44+ let nftId = getString(this, linkKey)
45+ let stateKey = (valueOrErrorMessage(nftId, "No linked nftId found!") + "_state")
46+ let state = getString(this, stateKey)
4747 if (isDefined(state))
4848 then {
4949 let destinationKey = (tnId + "_dest")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func deposit (destination) = {
88 let pmt = value(i.payments[0])
99 if (!(isDefined(pmt.assetId)))
1010 then throw("It needs to be an NFT")
1111 else {
1212 let stateKey = (toBase58String(value(pmt.assetId)) + "_state")
1313 let destinationKey = ((toBase58String(value(pmt.assetId)) + "_") + toString(height))
1414 let typeKey = (toBase58String(value(pmt.assetId)) + "_type")
1515 [StringEntry(stateKey, "DEPOSITED"), StringEntry(typeKey, "UNKNOWN"), StringEntry(destinationKey, destination)]
1616 }
1717 }
1818
1919
2020
2121 @Callable(i)
2222 func finishDeposit (depositId,mintId,nftId,nftIdTN) = if ((i.caller == this))
2323 then {
2424 let stateKey = (nftId + "_state")
2525 let state = getString(this, stateKey)
2626 if (isDefined(state))
2727 then {
2828 let tnKey = (nftId + "_idTN")
2929 let linkKey = (nftIdTN + "_idWaves")
3030 let depositIdKey = (nftId + "_depositId")
3131 let mintIdKey = (nftId + "_mintId")
3232 [StringEntry(stateKey, "MINTED"), StringEntry(tnKey, nftIdTN), StringEntry(linkKey, nftId), StringEntry(depositIdKey, depositId), StringEntry(mintIdKey, mintId)]
3333 }
3434 else throw("We can't update a non-existing state!")
3535 }
3636 else throw("Dirty hacker!")
3737
3838
3939
4040 @Callable(i)
4141 func storeData (nftIdTN,tnId,destination) = if ((i.caller == this))
4242 then {
4343 let linkKey = (nftIdTN + "_idWaves")
44- let nftId = getStringValue(this, linkKey)
45- let stateKey = (nftId + "_state")
46- let state = getStringValue(this, stateKey)
44+ let nftId = getString(this, linkKey)
45+ let stateKey = (valueOrErrorMessage(nftId, "No linked nftId found!") + "_state")
46+ let state = getString(this, stateKey)
4747 if (isDefined(state))
4848 then {
4949 let destinationKey = (tnId + "_dest")
5050 let withdrawKey = (tnId + "_state")
5151 let idNftkey = (tnId + "_nftIdTN")
5252 let stateWD = getString(this, withdrawKey)
5353 if (isDefined(stateWD))
5454 then throw("Withdrawal already initialized or completed!")
5555 else [StringEntry(destinationKey, destination), StringEntry(idNftkey, nftIdTN), StringEntry(withdrawKey, "WD-INITIALIZED"), StringEntry(stateKey, "WD-INITIALIZED")]
5656 }
5757 else throw("Asset was never deposited!")
5858 }
5959 else throw("Dirty hacker")
6060
6161
6262
6363 @Callable(i)
6464 func releaseOnWaves (tnId) = {
6565 let destinationKey = (tnId + "_dest")
6666 let stateKey = (tnId + "_state")
6767 let idNftkey = (tnId + "_nftIdTN")
6868 let state = valueOrErrorMessage(getString(this, stateKey), "The tnId seems invalid!")
6969 if ((state == "WD-INITIALIZED"))
7070 then {
7171 let destination = valueOrErrorMessage(getString(this, destinationKey), "The tnId seems invalid!")
7272 let receiveNFTAddy = Address(fromBase58String(destination))
7373 let idNFTTN = valueOrErrorMessage(getString(this, idNftkey), "The nftIdTN seems invalid!")
7474 let linkKey = (idNFTTN + "_idWaves")
7575 let idNFT = valueOrErrorMessage(getString(this, linkKey), "The linked NFT cannot be found!")
7676 let stateNFTKey = (idNFT + "_state")
7777 [StringEntry(stateKey, "COMPLETED"), StringEntry(stateNFTKey, "RELEASED"), ScriptTransfer(receiveNFTAddy, 1, toBytes(idNFT))]
7878 }
7979 else throw("Transaction is already processed!")
8080 }
8181
8282

github/deemru/w8io/3ef1775 
60.99 ms