tx · Bh5xwdo9GDqDN6smLNksuL2gv2oeDTwgAw7DwPTDpbTo

3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS:  -0.01000000 Waves

2021.11.24 16:13 [2870197] smart account 3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS > SELF 0.00000000 Waves

{ "type": 13, "id": "Bh5xwdo9GDqDN6smLNksuL2gv2oeDTwgAw7DwPTDpbTo", "fee": 1000000, "feeAssetId": null, "timestamp": 1637759593535, "version": 2, "chainId": 87, "sender": "3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS", "senderPublicKey": "AQM5JR46VkucVkx5RVXDtku22Yf6j1v16ekWmdXYyXMT", "proofs": [ "5LTvUvq8oYpBQCEAXTeVriooDFPdejrJguVwWQzeoTTchqS6fq66VDAkn9fJJwakXyvFpTuytVFyQnrnpMMwptPa" ], "script": "base64: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TE9HR0VECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACWlzc3VlcktleQUAAAAGaXNzdWVyBQAAAANuaWwJAAACAAAAAQIAAAAMRGlydHkgaGFja2VyAAAAAWkBAAAAD3JlbGVhc2VPbk5hdGl2ZQAAAAEAAAAEdHhJZAQAAAAMYXNzZXRUeElkS2V5CQEAAAAMa2V5QXNzZXRUeElkAAAAAQUAAAAEdHhJZAQAAAAJdHhJZFN0YXRlCQEAAAAMa2V5U3RhdGVUeElkAAAAAQUAAAAEdHhJZAQAAAAHYXNzZXRJZAkBAAAADGdldERhdGFCeUtleQAAAAEFAAAADGFzc2V0VHhJZEtleQQAAAAOZGVzdGluYXRpb25LZXkJAQAAAAprZXlEZXN0TkZUAAAAAQUAAAAHYXNzZXRJZAQAAAANb3RoZXJTdGF0ZUtleQkBAAAAC2tleVN0YXRlTkZUAAAAAQUAAAAHYXNzZXRJZAQAAAAFc3RhdGUJAQAAAAxnZXREYXRhQnlLZXkAAAABBQAAAAl0eElkU3RhdGUDCQAAAAAAAAIFAAAABXN0YXRlAgAAAAZMT0dHRUQEAAAAC2Rlc3RpbmF0aW9uCQEAAAAMZ2V0RGF0YUJ5S2V5AAAAAQUAAAAOZGVzdGluYXRpb25LZXkEAAAADnJlY2VpdmVORlRBZGR5CQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAALZGVzdGluYXRpb24EAAAACW5hdGl2ZUtleQkBAAAADGtleU5hdGl2ZU5GVAAAAAEFAAAAB2Fzc2V0SWQEAAAABGRhdGEJAQAAAAxnZXRPck1pbnRORlQAAAABBQAAAAdhc3NldElkBAAAAAVuZnRJZAgFAAAABGRhdGEAAAACXzEEAAAACG1pbnREYXRhCAUAAAAEZGF0YQAAAAJfMgQAAAAIb3RoZXJLZXkJAQAAAAtrZXlPdGhlck5GVAAAAAEFAAAABW5mdElkBAAAABRuYXRpdmVEZXN0aW5hdGlvbktleQkBAAAACmtleURlc3RORlQAAAABBQAAAAVuZnRJZAQAAAARbmF0aXZlU3RhdGVLZXlORlQJAQAAAAtrZXlTdGF0ZU5GVAAAAAEFAAAABW5mdElkAwkAAAAAAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAROAAAAAgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhvdGhlcktleQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAluYXRpdmVLZXkFAAAABW5mdElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFG5hdGl2ZURlc3RpbmF0aW9uS2V5BQAAAAtkZXN0aW5hdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFuYXRpdmVTdGF0ZUtleU5GVAIAAAAJQ09NUExFVEVECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADW90aGVyU3RhdGVLZXkCAAAACUNPTVBMRVRFRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAl0eElkU3RhdGUCAAAACUNPTVBMRVRFRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA5yZWNlaXZlTkZUQWRkeQAAAAAAAAAAAQkAAlkAAAABBQAAAAVuZnRJZAUAAAADbmlsBQAAAAhtaW50RGF0YQkABE4AAAACCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACG90aGVyS2V5BQAAAAdhc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACW5hdGl2ZUtleQUAAAAFbmZ0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAUbmF0aXZlRGVzdGluYXRpb25LZXkFAAAAC2Rlc3RpbmF0aW9uCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEW5hdGl2ZVN0YXRlS2V5TkZUAgAAAAlDT01QTEVURUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANb3RoZXJTdGF0ZUtleQIAAAAJQ09NUExFVEVECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACXR4SWRTdGF0ZQIAAAAJQ09NUExFVEVECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADnJlY2VpdmVORlRBZGR5AAAAAAAAAAABCQACWQAAAAEFAAAABW5mdElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAATEtAAUAAAAEdW5pdAUAAAADbmlsBQAAAAhtaW50RGF0YQkAAAIAAAABAgAAACFUcmFuc2FjdGlvbiBpcyBhbHJlYWR5IHByb2Nlc3NlZCEAAAABaQEAAAALc2VuZFRvT3RoZXIAAAABAAAAC2Rlc3RpbmF0aW9uBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAVSXQgbmVlZHMgdG8gYmUgYW4gTkZUBAAAAAhzdGF0ZUtleQkBAAAAC2tleVN0YXRlTkZUAAAAAQkBAAAAD2Fzc2V0SWRUb1N0cmluZwAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAOZGVzdGluYXRpb25LZXkJAQAAABFrZXlEZXN0aW5hdGlvbk5GVAAAAAIJAQAAAA9hc3NldElkVG9TdHJpbmcAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABmhlaWdodAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhzdGF0ZUtleQIAAAANU0VORC1UTy1PVEhFUgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA5kZXN0aW5hdGlvbktleQUAAAALZGVzdGluYXRpb24FAAAAA25pbAAAAAFpAQAAABpTdG9yZURhdGFGaW5pc2hTZW5kVG9PdGhlcgAAAAQAAAAEdHhJZAAAAAZtaW50SWQAAAAFbmZ0SWQAAAAKbmZ0SWRPdGhlcgMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBAAAAAl0eElkU3RhdGUJAQAAAAxrZXlTdGF0ZVR4SWQAAAABBQAAAAR0eElkBAAAAAhzdGF0ZUtleQkAASwAAAACBQAAAAVuZnRJZAIAAAAGX3N0YXRlBAAAAAVzdGF0ZQkABB0AAAACBQAAAAR0aGlzBQAAAAl0eElkU3RhdGUDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAFc3RhdGUEAAAABXRuS2V5CQEAAAALa2V5T3RoZXJORlQAAAABBQAAAAVuZnRJZAQAAAAHbGlua0tleQkBAAAADGtleU5hdGl2ZU5GVAAAAAEFAAAACm5mdElkT3RoZXIEAAAACW1pbnRJZEtleQkAASwAAAACBQAAAAVuZnRJZAIAAAAHX21pbnRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhzdGF0ZUtleQIAAAAJQ09NUExFVEVECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACXR4SWRTdGF0ZQIAAAAJQ09NUExFVEVECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABXRuS2V5BQAAAApuZnRJZE90aGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAB2xpbmtLZXkFAAAABW5mdElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACW1pbnRJZEtleQUAAAAGbWludElkBQAAAANuaWwJAAACAAAAAQIAAAAlV2UgY2FuJ3QgdXBkYXRlIGEgbm9uLWV4aXN0aW5nIHN0YXRlIQkAAAIAAAABAgAAAA1EaXJ0eSBoYWNrZXIhAAAAADU8zGc=", "height": 2870197, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FAcuWN4zZqsFxRYUBkQMgDxUiWkg31AQizBiP6VJEAWo Next: 6YvR8NKdSA75tphwqKyy5tLQUj9ZtE2wy6fFQMjuWZK2 Diff:
OldNewDifferences
6767 then if ((getStringValue(this, stateKeyTx) == "COMPLETED"))
6868 then [StringEntry(destinationKey, destination), StringEntry(descKey, description), StringEntry(nameKey, name), StringEntry(stateKey, "LOGGED"), StringEntry(stateKeyTx, "LOGGED"), StringEntry(issuerKey, issuer)]
6969 else throw(("Don't you dare to temper with data! " + getStringValue(this, stateKey)))
70- else [StringEntry(destinationKey, destination), StringEntry(descKey, description), StringEntry(nameKey, name), StringEntry(stateKey, "LOGGED"), StringEntry(issuerKey, issuer)]
70+ else [StringEntry(destinationKey, destination), StringEntry(descKey, description), StringEntry(nameKey, name), StringEntry(stateKey, "LOGGED"), StringEntry(stateKeyTx, "LOGGED"), StringEntry(issuerKey, issuer)]
7171 }
7272 else throw("Dirty hacker")
7373
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func keyStateNFT (assetId) = (assetId + "_state")
55
66
77 func keyStateTxId (txId) = (txId + "_state")
88
99
1010 func keyAssetTxId (txId) = (txId + "_asset")
1111
1212
1313 func keyDestNFT (assetId) = (assetId + "_dest")
1414
1515
1616 func keyDescNFT (assetId) = (assetId + "_descr")
1717
1818
1919 func keyNameNFT (assetId) = (assetId + "_name")
2020
2121
2222 func keyIssueNFT (assetId) = (assetId + "_issuer")
2323
2424
2525 func keyOtherNFT (assetId) = (assetId + "_idOther")
2626
2727
2828 func keyNativeNFT (assetId) = (assetId + "_idNative")
2929
3030
3131 func getDataByKey (stateKey) = valueOrErrorMessage(getString(this, stateKey), "The assetId seems invalid!")
3232
3333
3434 func assetIdToString (assetId) = toBase58String(value(assetId))
3535
3636
3737 func keyDestinationNFT (assetId,height) = ((assetId + "_") + toString(height))
3838
3939
4040 func getOrMintNFT (assetId) = {
4141 let nativeKey = keyNativeNFT(assetId)
4242 let descKey = keyDescNFT(assetId)
4343 let nameKey = keyNameNFT(assetId)
4444 let description = getDataByKey(descKey)
4545 let name = getDataByKey(nameKey)
4646 if (isDefined(getString(this, nativeKey)))
4747 then $Tuple2(getStringValue(this, nativeKey), nil)
4848 else {
4949 let issueNFT = Issue(name, description, 1, 0, false)
5050 let idNFT = calculateAssetId(issueNFT)
5151 $Tuple2(toBase58String(idNFT), [issueNFT])
5252 }
5353 }
5454
5555
5656 @Callable(i)
5757 func storeDataSendToNative (txId,destination,description,name,assetId,issuer) = if ((i.caller == this))
5858 then {
5959 let stateKey = keyStateNFT(assetId)
6060 let stateKeyTx = keyStateTxId(txId)
6161 let state = getString(this, stateKey)
6262 let destinationKey = keyDestNFT(assetId)
6363 let descKey = keyDescNFT(assetId)
6464 let nameKey = keyNameNFT(assetId)
6565 let issuerKey = keyIssueNFT(assetId)
6666 if (isDefined(state))
6767 then if ((getStringValue(this, stateKeyTx) == "COMPLETED"))
6868 then [StringEntry(destinationKey, destination), StringEntry(descKey, description), StringEntry(nameKey, name), StringEntry(stateKey, "LOGGED"), StringEntry(stateKeyTx, "LOGGED"), StringEntry(issuerKey, issuer)]
6969 else throw(("Don't you dare to temper with data! " + getStringValue(this, stateKey)))
70- else [StringEntry(destinationKey, destination), StringEntry(descKey, description), StringEntry(nameKey, name), StringEntry(stateKey, "LOGGED"), StringEntry(issuerKey, issuer)]
70+ else [StringEntry(destinationKey, destination), StringEntry(descKey, description), StringEntry(nameKey, name), StringEntry(stateKey, "LOGGED"), StringEntry(stateKeyTx, "LOGGED"), StringEntry(issuerKey, issuer)]
7171 }
7272 else throw("Dirty hacker")
7373
7474
7575
7676 @Callable(i)
7777 func releaseOnNative (txId) = {
7878 let assetTxIdKey = keyAssetTxId(txId)
7979 let txIdState = keyStateTxId(txId)
8080 let assetId = getDataByKey(assetTxIdKey)
8181 let destinationKey = keyDestNFT(assetId)
8282 let otherStateKey = keyStateNFT(assetId)
8383 let state = getDataByKey(txIdState)
8484 if ((state == "LOGGED"))
8585 then {
8686 let destination = getDataByKey(destinationKey)
8787 let receiveNFTAddy = Address(fromBase58String(destination))
8888 let nativeKey = keyNativeNFT(assetId)
8989 let data = getOrMintNFT(assetId)
9090 let nftId = data._1
9191 let mintData = data._2
9292 let otherKey = keyOtherNFT(nftId)
9393 let nativeDestinationKey = keyDestNFT(nftId)
9494 let nativeStateKeyNFT = keyStateNFT(nftId)
9595 if ((this == i.caller))
9696 then ([StringEntry(otherKey, assetId), StringEntry(nativeKey, nftId), StringEntry(nativeDestinationKey, destination), StringEntry(nativeStateKeyNFT, "COMPLETED"), StringEntry(otherStateKey, "COMPLETED"), StringEntry(txIdState, "COMPLETED"), ScriptTransfer(receiveNFTAddy, 1, fromBase58String(nftId))] ++ mintData)
9797 else ([StringEntry(otherKey, assetId), StringEntry(nativeKey, nftId), StringEntry(nativeDestinationKey, destination), StringEntry(nativeStateKeyNFT, "COMPLETED"), StringEntry(otherStateKey, "COMPLETED"), StringEntry(txIdState, "COMPLETED"), ScriptTransfer(receiveNFTAddy, 1, fromBase58String(nftId)), ScriptTransfer(i.caller, 20000000, unit)] ++ mintData)
9898 }
9999 else throw("Transaction is already processed!")
100100 }
101101
102102
103103
104104 @Callable(i)
105105 func sendToOther (destination) = {
106106 let pmt = value(i.payments[0])
107107 if (!(isDefined(pmt.assetId)))
108108 then throw("It needs to be an NFT")
109109 else {
110110 let stateKey = keyStateNFT(assetIdToString(pmt.assetId))
111111 let destinationKey = keyDestinationNFT(assetIdToString(pmt.assetId), height)
112112 [StringEntry(stateKey, "SEND-TO-OTHER"), StringEntry(destinationKey, destination)]
113113 }
114114 }
115115
116116
117117
118118 @Callable(i)
119119 func StoreDataFinishSendToOther (txId,mintId,nftId,nftIdOther) = if ((i.caller == this))
120120 then {
121121 let txIdState = keyStateTxId(txId)
122122 let stateKey = (nftId + "_state")
123123 let state = getString(this, txIdState)
124124 if (isDefined(state))
125125 then {
126126 let tnKey = keyOtherNFT(nftId)
127127 let linkKey = keyNativeNFT(nftIdOther)
128128 let mintIdKey = (nftId + "_mintId")
129129 [StringEntry(stateKey, "COMPLETED"), StringEntry(txIdState, "COMPLETED"), StringEntry(tnKey, nftIdOther), StringEntry(linkKey, nftId), StringEntry(mintIdKey, mintId)]
130130 }
131131 else throw("We can't update a non-existing state!")
132132 }
133133 else throw("Dirty hacker!")
134134
135135

github/deemru/w8io/3ef1775 
34.83 ms