tx · 7cgom1CEJvXyvZAFbK4TUzd7HHUW9zt7tsbrH9xYCcUy

3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H:  -0.01000000 Waves

2022.11.04 19:09 [2302585] smart account 3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H > SELF 0.00000000 Waves

{ "type": 13, "id": "7cgom1CEJvXyvZAFbK4TUzd7HHUW9zt7tsbrH9xYCcUy", "fee": 1000000, "feeAssetId": null, "timestamp": 1667578235541, "version": 2, "chainId": 84, "sender": "3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H", "senderPublicKey": "BDeCphaaC4MZvfmbJqQZ78EvuEBZTJ1VEW7fbxue8BUu", "proofs": [ "4yYtyYrFHkBxMTo5SG3wnRkrD65zrJjFZHVX5nGpQDYmJexGQ5nuywUDehQ5bc5ggmHHFquJjE6XeF9yP4qVUFi9" ], "script": "base64:BgIQCAISBQoDCAgBEgMKAQgSAAUACXNlcGFyYXRvcgIBXwAEa0J1eQIDYnV5AAVrU2VsbAIEc2VsbAAGa1ByaWNlAgVwcmljZQEFaXNOZnQBB2Fzc2V0SWQEByRtYXRjaDAJAOwHAQUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFdG9rZW4FByRtYXRjaDADAwkAAAIIBQV0b2tlbghkZWNpbWFscwAACQAAAggFBXRva2VuCHF1YW50aXR5AAEHCQAAAggFBXRva2VuCnJlaXNzdWFibGUHBwcDAWkBCGlzc3VlTmZ0AwRuYW1lBG1ldGEFcHJpY2UECG5ld1Rva2VuCQDCCAUFBG5hbWUFBG1ldGEAAQAABwQHaXNzdWVJZAkAuAgBBQhuZXdUb2tlbgkAzAgCBQhuZXdUb2tlbgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJANgEAQUHaXNzdWVJZAkApAMBBQVwcmljZQUDbmlsAWkBBmJ1eU5GVAEFbmZ0SUQEB2Fzc2V0SWQJANkEAQUFbmZ0SUQEBmFtb3VudAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQJAAIBAgxQYXkgaW4gd2F2ZXMDCQBmAgCAwtcvBQZhbW91bnQJAAIBAgJubwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkApQgBCAUBaQZjYWxsZXIFCXNlcGFyYXRvcgUEa0J1eQkArAICCQCsAgIFBW5mdElEBQlzZXBhcmF0b3IJAKQDAQUGYW1vdW50BQNuaWwBaQEHc2VsbE5GVAAECyR0MDExMDUxMTkwCQCUCgIJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBnRva2VuMAgFCyR0MDExMDUxMTkwAl8xBAdhbW91bnQwCAULJHQwMTEwNTExOTACXzIEBXByaWNlCQERQGV4dHJOYXRpdmUoMTA1OCkBCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA2AQBBQZ0b2tlbjACHlRoZXJlIGlzIG5vIHByaWNlIGZvciB0aGlzIE5GVAMJAQEhAQkBBWlzTmZ0AQUGdG9rZW4wCQACAQIQVG9rZW4gaXMgbm90IE5GVAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGgCCQENcGFyc2VJbnRWYWx1ZQEFBXByaWNlBQdhbW91bnQwBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQVrU2VsbAkArAICCQCsAgIJANgEAQUGdG9rZW4wBQlzZXBhcmF0b3IJAKQDAQUHYW1vdW50MAUDbmlsACmSnag=", "height": 2302585, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DL4igmEDmkVpZqNdbrnHmcHro8yEjYJ8CQPp6SZpBd4m Next: 2NmcfbGpooGTEkgbpsJCqguWQY2VFtNrZB7Ar1Nn96zk Diff:
OldNewDifferences
3636 @Callable(i)
3737 func buyNFT (o) = {
3838 let f = fromBase58String(o)
39- let p = $Tuple2(value(i.payments[1].assetId), value(i.payments[1].amount))
40- let q = p._1
41- let r = p._2
42- if ((i.payments[1].assetId != unit))
39+ let p = value(i.payments[0].amount)
40+ if ((i.payments[0].assetId != unit))
4341 then throw("Pay in waves")
44- else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(r)))]
42+ else if ((100000000 > p))
43+ then throw("no")
44+ else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(p)))]
4545 }
4646
4747
4848
4949 @Callable(i)
5050 func sellNFT () = {
51- let s = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
52- let q = s._1
53- let r = s._2
54- let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(q), "There is no price for this NFT")))
55- if (!(e(q)))
51+ let q = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
52+ let r = q._1
53+ let s = q._2
54+ let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(r), "There is no price for this NFT")))
55+ if (!(e(r)))
5656 then throw("Token is not NFT")
57- else [ScriptTransfer(i.caller, (parseIntValue(l) * r), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(q) + a) + toString(r)))]
57+ else [ScriptTransfer(i.caller, (parseIntValue(l) * s), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(r) + a) + toString(s)))]
5858 }
5959
6060
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)
3737 func buyNFT (o) = {
3838 let f = fromBase58String(o)
39- let p = $Tuple2(value(i.payments[1].assetId), value(i.payments[1].amount))
40- let q = p._1
41- let r = p._2
42- if ((i.payments[1].assetId != unit))
39+ let p = value(i.payments[0].amount)
40+ if ((i.payments[0].assetId != unit))
4341 then throw("Pay in waves")
44- else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(r)))]
42+ else if ((100000000 > p))
43+ then throw("no")
44+ else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(p)))]
4545 }
4646
4747
4848
4949 @Callable(i)
5050 func sellNFT () = {
51- let s = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
52- let q = s._1
53- let r = s._2
54- let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(q), "There is no price for this NFT")))
55- if (!(e(q)))
51+ let q = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
52+ let r = q._1
53+ let s = q._2
54+ let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(r), "There is no price for this NFT")))
55+ if (!(e(r)))
5656 then throw("Token is not NFT")
57- else [ScriptTransfer(i.caller, (parseIntValue(l) * r), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(q) + a) + toString(r)))]
57+ else [ScriptTransfer(i.caller, (parseIntValue(l) * s), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(r) + a) + toString(s)))]
5858 }
5959
6060

github/deemru/w8io/169f3d6 
66.95 ms