tx · 8aWiw4gdvQg1duZnrjjC4Pog3qegf1mEBEMHgP4pWyHh

3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS:  -0.01000000 Waves

2021.12.26 19:37 [2916516] smart account 3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS > SELF 0.00000000 Waves

{ "type": 13, "id": "8aWiw4gdvQg1duZnrjjC4Pog3qegf1mEBEMHgP4pWyHh", "fee": 1000000, "feeAssetId": null, "timestamp": 1640536680568, "version": 2, "chainId": 87, "sender": "3P2KBLgyKAWUA8zCefafHK3HxLQB7ammDfS", "senderPublicKey": "AQM5JR46VkucVkx5RVXDtku22Yf6j1v16ekWmdXYyXMT", "proofs": [ "2uAs8PXHgrtHRyw1nGXkXmd2MEhiQyNv3Fpwfc2AoaEcEGnq2tz8iCSWYJ9GdicuywJcgthUEwQpdXnS9dTgb2py" ], "script": "base64:AAIEAAAAAAAAAB4IAhIICgYICAgICAgSAwoBCBIDCgEIEgYKBAgICAgAAAAMAQAAAAtrZXlTdGF0ZU5GVAAAAAEAAAAHYXNzZXRJZAkAASwAAAACBQAAAAdhc3NldElkAgAAAAZfc3RhdGUBAAAADGtleVN0YXRlVHhJZAAAAAEAAAAEdHhJZAkAASwAAAACBQAAAAR0eElkAgAAAAZfc3RhdGUBAAAADGtleUFzc2V0VHhJZAAAAAEAAAAEdHhJZAkAASwAAAACBQAAAAR0eElkAgAAAAZfYXNzZXQBAAAAEWtleURlc3RpbmF0aW9uTkZUAAAAAQAAAAdhc3NldElkCQABLAAAAAIFAAAAB2Fzc2V0SWQCAAAADF9kZXN0aW5hdGlvbgEAAAARa2V5RGVzY3JpcHRpb25ORlQAAAABAAAAB2Fzc2V0SWQJAAEsAAAAAgUAAAAHYXNzZXRJZAIAAAAMX2Rlc2NyaXB0aW9uAQAAAAprZXlOYW1lTkZUAAAAAQAAAAdhc3NldElkCQABLAAAAAIFAAAAB2Fzc2V0SWQCAAAABV9uYW1lAQAAAAtrZXlJc3N1ZU5GVAAAAAEAAAAHYXNzZXRJZAkAASwAAAACBQAAAAdhc3NldElkAgAAAAdfaXNzdWVyAQAAAAtrZXlPdGhlck5GVAAAAAEAAAAHYXNzZXRJZAkAASwAAAACBQAAAAdhc3NldElkAgAAAAhfaWRPdGhlcgEAAAAMa2V5TmF0aXZlTkZUAAAAAQAAAAdhc3NldElkCQABLAAAAAIFAAAAB2Fzc2V0SWQCAAAACV9pZE5hdGl2ZQEAAAAMZ2V0RGF0YUJ5S2V5AAAAAQAAAAhzdGF0ZUtleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAACHN0YXRlS2V5CQABLAAAAAICAAAAD0Nhbid0IGZpbmQga2V5IAUAAAAIc3RhdGVLZXkBAAAAD2Fzc2V0SWRUb1N0cmluZwAAAAEAAAAHYXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAdhc3NldElkAQAAAAxnZXRPck1pbnRORlQAAAABAAAAB2Fzc2V0SWQEAAAACW5hdGl2ZUtleQkBAAAADGtleU5hdGl2ZU5GVAAAAAEFAAAAB2Fzc2V0SWQEAAAAB2Rlc2NLZXkJAQAAABFrZXlEZXNjcmlwdGlvbk5GVAAAAAEFAAAAB2Fzc2V0SWQEAAAAB25hbWVLZXkJAQAAAAprZXlOYW1lTkZUAAAAAQUAAAAHYXNzZXRJZAQAAAALZGVzY3JpcHRpb24JAQAAAAxnZXREYXRhQnlLZXkAAAABBQAAAAdkZXNjS2V5BAAAAARuYW1lCQEAAAAMZ2V0RGF0YUJ5S2V5AAAAAQUAAAAHbmFtZUtleQMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAACW5hdGl2ZUtleQkABRQAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAluYXRpdmVLZXkFAAAAA25pbAQAAAAIaXNzdWVORlQJAARCAAAABQUAAAAEbmFtZQUAAAALZGVzY3JpcHRpb24AAAAAAAAAAAEAAAAAAAAAAAAHBAAAAAVpZE5GVAkABDgAAAABBQAAAAhpc3N1ZU5GVAkABRQAAAACCQEAAAAPYXNzZXRJZFRvU3RyaW5nAAAAAQUAAAAFaWRORlQJAARMAAAAAgUAAAAIaXNzdWVORlQFAAAAA25pbAAAAAQAAAABaQEAAAAVc3RvcmVEYXRhU2VuZFRvTmF0aXZlAAAABgAAAAR0eElkAAAAC2Rlc3RpbmF0aW9uAAAAC2Rlc2NyaXB0aW9uAAAABG5hbWUAAAAHYXNzZXRJZAAAAAZpc3N1ZXIDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwQAAAAIc3RhdGVLZXkJAQAAAAtrZXlTdGF0ZU5GVAAAAAEFAAAAB2Fzc2V0SWQEAAAACnN0YXRlS2V5VHgJAQAAAAxrZXlTdGF0ZVR4SWQAAAABBQAAAAR0eElkBAAAAAVzdGF0ZQkABB0AAAACBQAAAAR0aGlzBQAAAApzdGF0ZUtleVR4BAAAAA5kZXN0aW5hdGlvbktleQkBAAAAEWtleURlc3RpbmF0aW9uTkZUAAAAAQUAAAAHYXNzZXRJZAQAAAAHZGVzY0tleQkBAAAAEWtleURlc2NyaXB0aW9uTkZUAAAAAQUAAAAHYXNzZXRJZAQAAAAHbmFtZUtleQkBAAAACmtleU5hbWVORlQAAAABBQAAAAdhc3NldElkBAAAAAlpc3N1ZXJLZXkJAQAAAAtrZXlJc3N1ZU5GVAAAAAEFAAAAB2Fzc2V0SWQEAAAACWFzc2V0VHhJZAkBAAAADGtleUFzc2V0VHhJZAAAAAEFAAAABHR4SWQDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAFc3RhdGUJAAACAAAAAQkAASwAAAACAgAAACREb24ndCB5b3UgZGFyZSB0byB0ZW1wZXIgd2l0aCBkYXRhISAJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAACHN0YXRlS2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADmRlc3RpbmF0aW9uS2V5BQAAAAtkZXN0aW5hdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAdkZXNjS2V5BQAAAAtkZXNjcmlwdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAduYW1lS2V5BQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACHN0YXRlS2V5AgAAAAZMT0dHRUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAKc3RhdGVLZXlUeAIAAAAGTE9HR0VECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACWlzc3VlcktleQUAAAAGaXNzdWVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACWFzc2V0VHhJZAUAAAAHYXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAADERpcnR5IGhhY2tlcgAAAAFpAQAAAA9yZWxlYXNlT25OYXRpdmUAAAABAAAABHR4SWQEAAAADGFzc2V0VHhJZEtleQkBAAAADGtleUFzc2V0VHhJZAAAAAEFAAAABHR4SWQEAAAACXR4SWRTdGF0ZQkBAAAADGtleVN0YXRlVHhJZAAAAAEFAAAABHR4SWQEAAAAB2Fzc2V0SWQJAQAAAAxnZXREYXRhQnlLZXkAAAABBQAAAAxhc3NldFR4SWRLZXkEAAAADmRlc3RpbmF0aW9uS2V5CQEAAAARa2V5RGVzdGluYXRpb25ORlQAAAABBQAAAAdhc3NldElkBAAAAA1vdGhlclN0YXRlS2V5CQEAAAALa2V5U3RhdGVORlQAAAABBQAAAAdhc3NldElkBAAAAAVzdGF0ZQkBAAAADGdldERhdGFCeUtleQAAAAEFAAAACXR4SWRTdGF0ZQMJAAAAAAAAAgUAAAAFc3RhdGUCAAAABkxPR0dFRAQAAAALZGVzdGluYXRpb24JAQAAAAxnZXREYXRhQnlLZXkAAAABBQAAAA5kZXN0aW5hdGlvbktleQQAAAAOcmVjZWl2ZU5GVEFkZHkJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAtkZXN0aW5hdGlvbgQAAAAJbmF0aXZlS2V5CQEAAAAMa2V5TmF0aXZlTkZUAAAAAQUAAAAHYXNzZXRJZAQAAAAEZGF0YQkBAAAADGdldE9yTWludE5GVAAAAAEFAAAAB2Fzc2V0SWQEAAAABW5mdElkCAUAAAAEZGF0YQAAAAJfMQQAAAAIbWludERhdGEIBQAAAARkYXRhAAAAAl8yBAAAAAhvdGhlcktleQkBAAAAC2tleU90aGVyTkZUAAAAAQUAAAAFbmZ0SWQEAAAAFG5hdGl2ZURlc3RpbmF0aW9uS2V5CQEAAAARa2V5RGVzdGluYXRpb25ORlQAAAABBQAAAAVuZnRJZAQAAAARbmF0aXZlU3RhdGVLZXlORlQJAQAAAAtrZXlTdGF0ZU5GVAAAAAEFAAAABW5mdElkAwkAAAAAAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAROAAAAAgUAAAAIbWludERhdGEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAIb3RoZXJLZXkFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAJbmF0aXZlS2V5BQAAAAVuZnRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABRuYXRpdmVEZXN0aW5hdGlvbktleQUAAAALZGVzdGluYXRpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAARbmF0aXZlU3RhdGVLZXlORlQCAAAACUNPTVBMRVRFRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1vdGhlclN0YXRlS2V5AgAAAAlDT01QTEVU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", "height": 2916516, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6pysLj5dM9e6nwnu1fff3ZtY6BfikFkJ4eMNpc5U4UnG Next: 8jtFTHsiNw6ENqBj3TXHTdJLPgT343XuM3Nzb4gUkcjk Diff:
OldNewDifferences
8989 let nativeDestinationKey = keyDestinationNFT(nftId)
9090 let nativeStateKeyNFT = keyStateNFT(nftId)
9191 if ((this == i.caller))
92- 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)
93- 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)
92+ then (mintData ++ [StringEntry(otherKey, assetId), StringEntry(nativeKey, nftId), StringEntry(nativeDestinationKey, destination), StringEntry(nativeStateKeyNFT, "COMPLETED"), StringEntry(otherStateKey, "COMPLETED"), StringEntry(txIdState, "COMPLETED"), ScriptTransfer(receiveNFTAddy, 1, fromBase58String(nftId))])
93+ else (mintData ++ [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)])
9494 }
9595 else throw("Transaction is already processed!")
9696 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
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 keyDestinationNFT (assetId) = (assetId + "_destination")
1414
1515
1616 func keyDescriptionNFT (assetId) = (assetId + "_description")
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), ("Can't find key " + stateKey))
3232
3333
3434 func assetIdToString (assetId) = toBase58String(value(assetId))
3535
3636
3737 func getOrMintNFT (assetId) = {
3838 let nativeKey = keyNativeNFT(assetId)
3939 let descKey = keyDescriptionNFT(assetId)
4040 let nameKey = keyNameNFT(assetId)
4141 let description = getDataByKey(descKey)
4242 let name = getDataByKey(nameKey)
4343 if (isDefined(getString(this, nativeKey)))
4444 then $Tuple2(getStringValue(this, nativeKey), nil)
4545 else {
4646 let issueNFT = Issue(name, description, 1, 0, false)
4747 let idNFT = calculateAssetId(issueNFT)
4848 $Tuple2(assetIdToString(idNFT), [issueNFT])
4949 }
5050 }
5151
5252
5353 @Callable(i)
5454 func storeDataSendToNative (txId,destination,description,name,assetId,issuer) = if ((i.caller == this))
5555 then {
5656 let stateKey = keyStateNFT(assetId)
5757 let stateKeyTx = keyStateTxId(txId)
5858 let state = getString(this, stateKeyTx)
5959 let destinationKey = keyDestinationNFT(assetId)
6060 let descKey = keyDescriptionNFT(assetId)
6161 let nameKey = keyNameNFT(assetId)
6262 let issuerKey = keyIssueNFT(assetId)
6363 let assetTxId = keyAssetTxId(txId)
6464 if (isDefined(state))
6565 then throw(("Don't you dare to temper with data! " + getStringValue(this, stateKey)))
6666 else [StringEntry(destinationKey, destination), StringEntry(descKey, description), StringEntry(nameKey, name), StringEntry(stateKey, "LOGGED"), StringEntry(stateKeyTx, "LOGGED"), StringEntry(issuerKey, issuer), StringEntry(assetTxId, assetId)]
6767 }
6868 else throw("Dirty hacker")
6969
7070
7171
7272 @Callable(i)
7373 func releaseOnNative (txId) = {
7474 let assetTxIdKey = keyAssetTxId(txId)
7575 let txIdState = keyStateTxId(txId)
7676 let assetId = getDataByKey(assetTxIdKey)
7777 let destinationKey = keyDestinationNFT(assetId)
7878 let otherStateKey = keyStateNFT(assetId)
7979 let state = getDataByKey(txIdState)
8080 if ((state == "LOGGED"))
8181 then {
8282 let destination = getDataByKey(destinationKey)
8383 let receiveNFTAddy = Address(fromBase58String(destination))
8484 let nativeKey = keyNativeNFT(assetId)
8585 let data = getOrMintNFT(assetId)
8686 let nftId = data._1
8787 let mintData = data._2
8888 let otherKey = keyOtherNFT(nftId)
8989 let nativeDestinationKey = keyDestinationNFT(nftId)
9090 let nativeStateKeyNFT = keyStateNFT(nftId)
9191 if ((this == i.caller))
92- 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)
93- 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)
92+ then (mintData ++ [StringEntry(otherKey, assetId), StringEntry(nativeKey, nftId), StringEntry(nativeDestinationKey, destination), StringEntry(nativeStateKeyNFT, "COMPLETED"), StringEntry(otherStateKey, "COMPLETED"), StringEntry(txIdState, "COMPLETED"), ScriptTransfer(receiveNFTAddy, 1, fromBase58String(nftId))])
93+ else (mintData ++ [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)])
9494 }
9595 else throw("Transaction is already processed!")
9696 }
9797
9898
9999
100100 @Callable(i)
101101 func sendToOther (destination) = {
102102 let pmt = value(i.payments[0])
103103 if (!(isDefined(pmt.assetId)))
104104 then throw("It needs to be an NFT")
105105 else {
106106 let stateKey = keyStateNFT(assetIdToString(pmt.assetId))
107107 let txId = toBase58String(i.transactionId)
108108 let txIdState = keyStateTxId(txId)
109109 [StringEntry(stateKey, "SEND-TO-OTHER"), StringEntry(txIdState, "SEND-TO-OTHER")]
110110 }
111111 }
112112
113113
114114
115115 @Callable(i)
116116 func StoreDataFinishSendToOther (txId,mintId,nftId,nftIdOther) = if ((i.caller == this))
117117 then {
118118 let txIdState = keyStateTxId(txId)
119119 let stateKey = (nftId + "_state")
120120 let state = getString(this, txIdState)
121121 if (isDefined(state))
122122 then {
123123 let tnKey = keyOtherNFT(nftId)
124124 let linkKey = keyNativeNFT(nftIdOther)
125125 let mintIdKey = (nftId + "_mintId")
126126 [StringEntry(stateKey, "COMPLETED"), StringEntry(txIdState, "COMPLETED"), StringEntry(tnKey, nftIdOther), StringEntry(linkKey, nftId), StringEntry(mintIdKey, mintId)]
127127 }
128128 else throw("We can't update a non-existing state!")
129129 }
130130 else throw("Dirty hacker!")
131131
132132

github/deemru/w8io/3ef1775 
44.82 ms