tx · 9h4GupxR16cL8KxXHNPozLc3EfkQayaGfk5og8fV8tvN

3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H:  -0.01000000 Waves

2022.11.04 18:55 [2302573] smart account 3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H > SELF 0.00000000 Waves

{ "type": 13, "id": "9h4GupxR16cL8KxXHNPozLc3EfkQayaGfk5og8fV8tvN", "fee": 1000000, "feeAssetId": null, "timestamp": 1667577410882, "version": 2, "chainId": 84, "sender": "3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H", "senderPublicKey": "BDeCphaaC4MZvfmbJqQZ78EvuEBZTJ1VEW7fbxue8BUu", "proofs": [ "2ra2N6su9CbdCkLBFbdAxCh5ocsjXcz37BrHxj8PWY41CCcSG23qjAssJcHF8ND14gVyvZu1B6M7NGs6GadFiMHD" ], "script": "base64:BgIQCAISBQoDCAgBEgMKAQgSAAUACXNlcGFyYXRvcgIBXwAEa0J1eQIDYnV5AAVrU2VsbAIEc2VsbAAGa1ByaWNlAgVwcmljZQEFaXNOZnQBB2Fzc2V0SWQEByRtYXRjaDAJAOwHAQUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFdG9rZW4FByRtYXRjaDADAwkAAAIIBQV0b2tlbghkZWNpbWFscwAACQAAAggFBXRva2VuCHF1YW50aXR5AAEHCQAAAggFBXRva2VuCnJlaXNzdWFibGUHBwcDAWkBCGlzc3VlTmZ0AwRuYW1lBG1ldGEFcHJpY2UECG5ld1Rva2VuCQDCCAUFBG5hbWUFBG1ldGEAAQAABwQHaXNzdWVJZAkAuAgBBQhuZXdUb2tlbgkAzAgCBQhuZXdUb2tlbgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJANgEAQUHaXNzdWVJZAkApAMBBQVwcmljZQUDbmlsAWkBBmJ1eU5GVAEFbmZ0SUQEB2Fzc2V0SWQJANkEAQUFbmZ0SUQECSR0MDc0NzgzMgkAlAoCCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAZ0b2tlbjAIBQkkdDA3NDc4MzICXzEEB2Ftb3VudDAIBQkkdDA3NDc4MzICXzIEBXByaWNlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAKwCAgkArAICBQZrUHJpY2UFCXNlcGFyYXRvcgUFbmZ0SUQCHlRoZXJlIGlzIG5vIHByaWNlIGZvciB0aGlzIE5GVAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAAgECDFBheSBpbiB3YXZlcwMJAGYCCQENcGFyc2VJbnRWYWx1ZQEFBXByaWNlBQdhbW91bnQwCQACAQIYSW52YWxpZCBwYXltZW50IGF0dGFjaGVkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQRrQnV5CQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgkApAMBBQdhbW91bnQwBQNuaWwBaQEHc2VsbE5GVAAECyR0MDEyOTUxMzgwCQCUCgIJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBnRva2VuMAgFCyR0MDEyOTUxMzgwAl8xBAdhbW91bnQwCAULJHQwMTI5NTEzODACXzIEBXByaWNlCQERQGV4dHJOYXRpdmUoMTA1OCkBCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA2AQBBQZ0b2tlbjACHlRoZXJlIGlzIG5vIHByaWNlIGZvciB0aGlzIE5GVAMJAQEhAQkBBWlzTmZ0AQUGdG9rZW4wCQACAQIQVG9rZW4gaXMgbm90IE5GVAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGgCCQENcGFyc2VJbnRWYWx1ZQEFBXByaWNlBQdhbW91bnQwBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQVrU2VsbAkArAICCQCsAgIJANgEAQUGdG9rZW4wBQlzZXBhcmF0b3IJAKQDAQUHYW1vdW50MAUDbmlsAHbaXDg=", "height": 2302573, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FsYw2bfTyLNcoSEDPTsHZXxFbiq4HBFmKiHLBSKxr1xw Next: 58R5or94qcteZd29ZR4Svq298HRmu24ivpYpqVnufbGx Diff:
OldNewDifferences
3434
3535
3636 @Callable(i)
37-func buyNFT (o) = [ScriptTransfer(i.caller, 1, fromBase58String(o))]
37+func buyNFT (o) = {
38+ let f = fromBase58String(o)
39+ let p = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
40+ let q = p._1
41+ let r = p._2
42+ let l = valueOrErrorMessage(getStringValue(((d + a) + o)), "There is no price for this NFT")
43+ if ((i.payments[0].assetId != unit))
44+ then throw("Pay in waves")
45+ else if ((parseIntValue(l) > r))
46+ then throw("Invalid payment attached")
47+ else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(r)))]
48+ }
3849
3950
4051
4152 @Callable(i)
4253 func sellNFT () = {
43- let p = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
44- let q = p._1
45- let r = p._2
54+ let s = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
55+ let q = s._1
56+ let r = s._2
4657 let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(q), "There is no price for this NFT")))
4758 if (!(e(q)))
4859 then throw("Token is not NFT")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = "buy"
77
88 let c = "sell"
99
1010 let d = "price"
1111
1212 func e (f) = {
1313 let g = assetInfo(f)
1414 if ($isInstanceOf(g, "Asset"))
1515 then {
1616 let h = g
1717 if (if ((h.decimals == 0))
1818 then (h.quantity == 1)
1919 else false)
2020 then (h.reissuable == false)
2121 else false
2222 }
2323 else false
2424 }
2525
2626
2727 @Callable(i)
2828 func issueNft (j,k,l) = {
2929 let m = Issue(j, k, 1, 0, false)
3030 let n = calculateAssetId(m)
3131 [m, StringEntry(((d + a) + toBase58String(n)), toString(l))]
3232 }
3333
3434
3535
3636 @Callable(i)
37-func buyNFT (o) = [ScriptTransfer(i.caller, 1, fromBase58String(o))]
37+func buyNFT (o) = {
38+ let f = fromBase58String(o)
39+ let p = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
40+ let q = p._1
41+ let r = p._2
42+ let l = valueOrErrorMessage(getStringValue(((d + a) + o)), "There is no price for this NFT")
43+ if ((i.payments[0].assetId != unit))
44+ then throw("Pay in waves")
45+ else if ((parseIntValue(l) > r))
46+ then throw("Invalid payment attached")
47+ else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(r)))]
48+ }
3849
3950
4051
4152 @Callable(i)
4253 func sellNFT () = {
43- let p = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
44- let q = p._1
45- let r = p._2
54+ let s = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
55+ let q = s._1
56+ let r = s._2
4657 let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(q), "There is no price for this NFT")))
4758 if (!(e(q)))
4859 then throw("Token is not NFT")
4960 else [ScriptTransfer(i.caller, (parseIntValue(l) * r), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(q) + a) + toString(r)))]
5061 }
5162
5263

github/deemru/w8io/169f3d6 
25.69 ms