tx · D76brpebbXP8T8kPFPHhFE1jCZMUPUnsWRc3kAR74LGH

3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H:  -0.01000000 Waves

2022.11.04 18:24 [2302542] smart account 3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H > SELF 0.00000000 Waves

{ "type": 13, "id": "D76brpebbXP8T8kPFPHhFE1jCZMUPUnsWRc3kAR74LGH", "fee": 1000000, "feeAssetId": null, "timestamp": 1667575501767, "version": 2, "chainId": 84, "sender": "3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H", "senderPublicKey": "BDeCphaaC4MZvfmbJqQZ78EvuEBZTJ1VEW7fbxue8BUu", "proofs": [ "5SQsry42qC4dxqYBwBs1Ny8nsxomdobRCoCnUnEcgM7EsiF2hFqS4Jw23jeyvCT68xDaPoYkSSg3hEeaDVtG39bD" ], "script": "base64:BgIQCAISBQoDCAgBEgMKAQgSAAUACXNlcGFyYXRvcgIBXwAEa0J1eQIDYnV5AAVrU2VsbAIEc2VsbAAGa1ByaWNlAgVwcmljZQEFaXNOZnQBB2Fzc2V0SWQEByRtYXRjaDAJAOwHAQUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFdG9rZW4FByRtYXRjaDADAwkAAAIIBQV0b2tlbghkZWNpbWFscwAACQAAAggFBXRva2VuCHF1YW50aXR5AAEHCQAAAggFBXRva2VuCnJlaXNzdWFibGUHBwcDAWkBCGlzc3VlTmZ0AwRuYW1lBG1ldGEFcHJpY2UECG5ld1Rva2VuCQDCCAUFBG5hbWUFBG1ldGEAAQAABwQHaXNzdWVJZAkAuAgBBQhuZXdUb2tlbgkAzAgCBQhuZXdUb2tlbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIIBQhuZXdUb2tlbghxdWFudGl0eQUHaXNzdWVJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJANgEAQUHaXNzdWVJZAkApAMBBQVwcmljZQUDbmlsAWkBBmJ1eU5GVAEFbmZ0SUQEB2Fzc2V0SWQJANkEAQUFbmZ0SUQECSR0MDgwNTg5MAkAlAoCCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAZ0b2tlbjAIBQkkdDA4MDU4OTACXzEEB2Ftb3VudDAIBQkkdDA4MDU4OTACXzIEBXByaWNlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAKwCAgkArAICBQZrUHJpY2UFCXNlcGFyYXRvcgUFbmZ0SUQCHlRoZXJlIGlzIG5vIHByaWNlIGZvciB0aGlzIE5GVAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAAgECDFBheSBpbiB3YXZlcwMJAGYCCQENcGFyc2VJbnRWYWx1ZQEFBXByaWNlBQdhbW91bnQwCQACAQIYSW52YWxpZCBwYXltZW50IGF0dGFjaGVkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQRrQnV5CQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgkApAMBBQdhbW91bnQwBQNuaWwBaQEHc2VsbE5GVAAECyR0MDEzNTcxNDQyCQCUCgIJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBnRva2VuMAgFCyR0MDEzNTcxNDQyAl8xBAdhbW91bnQwCAULJHQwMTM1NzE0NDICXzIEBXByaWNlCQERQGV4dHJOYXRpdmUoMTA1OCkBCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA2AQBBQZ0b2tlbjACHlRoZXJlIGlzIG5vIHByaWNlIGZvciB0aGlzIE5GVAMJAQEhAQkBBWlzTmZ0AQUGdG9rZW4wCQACAQIQVG9rZW4gaXMgbm90IE5GVAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGgCCQENcGFyc2VJbnRWYWx1ZQEFBXByaWNlBQdhbW91bnQwBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQVrU2VsbAkArAICCQCsAgIJANgEAQUGdG9rZW4wBQlzZXBhcmF0b3IJAKQDAQUHYW1vdW50MAUDbmlsAHMYHRY=", "height": 2302542, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DsLcwqCtckvqSCfr4BeG9ntsTXWq4ZvTQDSTT18qcXJ5 Next: FFUyrG2x2EWNdTsmDSh5GN6A4JQukMuSmiJaHDcR6GBC Diff:
OldNewDifferences
3434
3535
3636 @Callable(i)
37-func buyNFT (o,p) = {
38- let q = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
39- let r = q._1
40- let s = q._2
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
4142 let l = valueOrErrorMessage(getStringValue(((d + a) + o)), "There is no price for this NFT")
4243 if ((i.payments[0].assetId != unit))
4344 then throw("Pay in waves")
44- else if ((parseIntValue(l) > (s * p)))
45+ else if ((parseIntValue(l) > r))
4546 then throw("Invalid payment attached")
46- else [ScriptTransfer(i.caller, p, fromBase58String(o)), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(p)))]
47+ else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(r)))]
4748 }
4849
4950
5051
5152 @Callable(i)
5253 func sellNFT () = {
53- let t = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
54- let r = t._1
55- let s = t._2
56- let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(r), "There is no price for this NFT")))
57- if (!(e(r)))
54+ let s = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
55+ let q = s._1
56+ let r = s._2
57+ let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(q), "There is no price for this NFT")))
58+ if (!(e(q)))
5859 then throw("Token is not NFT")
59- else [ScriptTransfer(i.caller, (parseIntValue(l) * s), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(r) + a) + toString(s)))]
60+ else [ScriptTransfer(i.caller, (parseIntValue(l) * r), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(q) + a) + toString(r)))]
6061 }
6162
6263
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, ScriptTransfer(i.caller, m.quantity, n), StringEntry(((d + a) + toBase58String(n)), toString(l))]
3232 }
3333
3434
3535
3636 @Callable(i)
37-func buyNFT (o,p) = {
38- let q = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
39- let r = q._1
40- let s = q._2
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
4142 let l = valueOrErrorMessage(getStringValue(((d + a) + o)), "There is no price for this NFT")
4243 if ((i.payments[0].assetId != unit))
4344 then throw("Pay in waves")
44- else if ((parseIntValue(l) > (s * p)))
45+ else if ((parseIntValue(l) > r))
4546 then throw("Invalid payment attached")
46- else [ScriptTransfer(i.caller, p, fromBase58String(o)), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(p)))]
47+ else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(r)))]
4748 }
4849
4950
5051
5152 @Callable(i)
5253 func sellNFT () = {
53- let t = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
54- let r = t._1
55- let s = t._2
56- let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(r), "There is no price for this NFT")))
57- if (!(e(r)))
54+ let s = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
55+ let q = s._1
56+ let r = s._2
57+ let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(q), "There is no price for this NFT")))
58+ if (!(e(q)))
5859 then throw("Token is not NFT")
59- else [ScriptTransfer(i.caller, (parseIntValue(l) * s), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(r) + a) + toString(s)))]
60+ else [ScriptTransfer(i.caller, (parseIntValue(l) * r), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(q) + a) + toString(r)))]
6061 }
6162
6263

github/deemru/w8io/026f985 
28.71 ms