tx · 7kAzQdS8JYDqaw1JVDdEKAmUMksr6zsuEMNzU98SwG3q

3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H:  -0.01000000 Waves

2022.11.04 18:46 [2302563] smart account 3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H > SELF 0.00000000 Waves

{ "type": 13, "id": "7kAzQdS8JYDqaw1JVDdEKAmUMksr6zsuEMNzU98SwG3q", "fee": 1000000, "feeAssetId": null, "timestamp": 1667576799925, "version": 2, "chainId": 84, "sender": "3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H", "senderPublicKey": "BDeCphaaC4MZvfmbJqQZ78EvuEBZTJ1VEW7fbxue8BUu", "proofs": [ "5qayE3VR4DubBumAEqRFbeMtP7C6kt7Vfz96TpWUf55ivGWTLjJE2nJpUn9fgkGWHViUdjepnMENNfE5EJkH8R9Y" ], "script": "base64:BgIQCAISBQoDCAgBEgMKAQgSAAUACXNlcGFyYXRvcgIBXwAEa0J1eQIDYnV5AAVrU2VsbAIEc2VsbAAGa1ByaWNlAgVwcmljZQEFaXNOZnQBB2Fzc2V0SWQEByRtYXRjaDAJAOwHAQUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFdG9rZW4FByRtYXRjaDADAwkAAAIIBQV0b2tlbghkZWNpbWFscwAACQAAAggFBXRva2VuCHF1YW50aXR5AAEHCQAAAggFBXRva2VuCnJlaXNzdWFibGUHBwcDAWkBCGlzc3VlTmZ0AwRuYW1lBG1ldGEFcHJpY2UECG5ld1Rva2VuCQDCCAUFBG5hbWUFBG1ldGEAAQAABwQHaXNzdWVJZAkAuAgBBQhuZXdUb2tlbgkAzAgCBQhuZXdUb2tlbgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJANgEAQUHaXNzdWVJZAkApAMBBQVwcmljZQUDbmlsAWkBBmJ1eU5GVAEFbmZ0SUQECSR0MDcwNjc5MQkAlAoCCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAZ0b2tlbjAIBQkkdDA3MDY3OTECXzEEB2Ftb3VudDAIBQkkdDA3MDY3OTECXzIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEJAJsDAQUFbmZ0SUQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBGtCdXkJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yCQCkAwEFB2Ftb3VudDAFA25pbAFpAQdzZWxsTkZUAAQKJHQwOTkzMTA3OAkAlAoCCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAZ0b2tlbjAIBQokdDA5OTMxMDc4Al8xBAdhbW91bnQwCAUKJHQwOTkzMTA3OAJfMgQFcHJpY2UJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAKwCAgkArAICBQZrUHJpY2UFCXNlcGFyYXRvcgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDYBAEFBnRva2VuMAIeVGhlcmUgaXMgbm8gcHJpY2UgZm9yIHRoaXMgTkZUAwkBASEBCQEFaXNOZnQBBQZ0b2tlbjAJAAIBAhBUb2tlbiBpcyBub3QgTkZUCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkAaAIJAQ1wYXJzZUludFZhbHVlAQUFcHJpY2UFB2Ftb3VudDAFBHVuaXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBWtTZWxsCQCsAgIJAKwCAgkA2AQBBQZ0b2tlbjAFCXNlcGFyYXRvcgkApAMBBQdhbW91bnQwBQNuaWwAOsLZvg==", "height": 2302563, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Hk5vVWZFa4gLdkX9AcmvxJfo8nKvfkDUvbsaMfShuRLq Next: FUM6eon4yn5HeRSh7J27AKrCneSJpzd8VR2h3hJL6dNd Diff:
OldNewDifferences
2525 func issueNft (name,meta,price) = {
2626 let newToken = Issue(name, meta, 1, 0, false)
2727 let issueId = calculateAssetId(newToken)
28-[newToken, StringEntry(((kPrice + separator) + toBase58String(issueId)), toString(price)), BinaryEntry("byyyyyte", issueId)]
28+[newToken, StringEntry(((kPrice + separator) + toBase58String(issueId)), toString(price))]
2929 }
3030
3131
3232
3333 @Callable(i)
3434 func buyNFT (nftID) = {
35- let $t0750835 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
36- let token0 = $t0750835._1
37- let amount0 = $t0750835._2
38-[ScriptTransfer(i.caller, 1, nftID), StringEntry(((toString(i.caller) + separator) + kBuy), ((toBase58String(nftID) + separator) + toString(amount0)))]
35+ let $t0706791 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
36+ let token0 = $t0706791._1
37+ let amount0 = $t0706791._2
38+[ScriptTransfer(i.caller, 1, toBytes(nftID)), StringEntry(((toString(i.caller) + separator) + kBuy), ((nftID + separator) + toString(amount0)))]
3939 }
4040
4141
4242
4343 @Callable(i)
4444 func sellNFT () = {
45- let $t010441129 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
46- let token0 = $t010441129._1
47- let amount0 = $t010441129._2
45+ let $t09931078 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
46+ let token0 = $t09931078._1
47+ let amount0 = $t09931078._2
4848 let price = getStringValue(((kPrice + separator) + valueOrErrorMessage(toBase58String(token0), "There is no price for this NFT")))
4949 if (!(isNft(token0)))
5050 then throw("Token is not NFT")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = "_"
55
66 let kBuy = "buy"
77
88 let kSell = "sell"
99
1010 let kPrice = "price"
1111
1212 func isNft (assetId) = match assetInfo(assetId) {
1313 case token: Asset =>
1414 if (if ((token.decimals == 0))
1515 then (token.quantity == 1)
1616 else false)
1717 then (token.reissuable == false)
1818 else false
1919 case _ =>
2020 false
2121 }
2222
2323
2424 @Callable(i)
2525 func issueNft (name,meta,price) = {
2626 let newToken = Issue(name, meta, 1, 0, false)
2727 let issueId = calculateAssetId(newToken)
28-[newToken, StringEntry(((kPrice + separator) + toBase58String(issueId)), toString(price)), BinaryEntry("byyyyyte", issueId)]
28+[newToken, StringEntry(((kPrice + separator) + toBase58String(issueId)), toString(price))]
2929 }
3030
3131
3232
3333 @Callable(i)
3434 func buyNFT (nftID) = {
35- let $t0750835 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
36- let token0 = $t0750835._1
37- let amount0 = $t0750835._2
38-[ScriptTransfer(i.caller, 1, nftID), StringEntry(((toString(i.caller) + separator) + kBuy), ((toBase58String(nftID) + separator) + toString(amount0)))]
35+ let $t0706791 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
36+ let token0 = $t0706791._1
37+ let amount0 = $t0706791._2
38+[ScriptTransfer(i.caller, 1, toBytes(nftID)), StringEntry(((toString(i.caller) + separator) + kBuy), ((nftID + separator) + toString(amount0)))]
3939 }
4040
4141
4242
4343 @Callable(i)
4444 func sellNFT () = {
45- let $t010441129 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
46- let token0 = $t010441129._1
47- let amount0 = $t010441129._2
45+ let $t09931078 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
46+ let token0 = $t09931078._1
47+ let amount0 = $t09931078._2
4848 let price = getStringValue(((kPrice + separator) + valueOrErrorMessage(toBase58String(token0), "There is no price for this NFT")))
4949 if (!(isNft(token0)))
5050 then throw("Token is not NFT")
5151 else [ScriptTransfer(i.caller, (parseIntValue(price) * amount0), unit), StringEntry(((toString(i.caller) + separator) + kSell), ((toBase58String(token0) + separator) + toString(amount0)))]
5252 }
5353
5454

github/deemru/w8io/026f985 
26.42 ms