tx · 4iZyHkmu2beq3hsnxQokWURA3za1JssNxNDvDvwMUYU4

3MtWYHeMrDBXUmBKtXWFq8eBv3p7X7k2fox:  -0.01000000 Waves

2022.10.17 15:58 [2276406] smart account 3MtWYHeMrDBXUmBKtXWFq8eBv3p7X7k2fox > SELF 0.00000000 Waves

{ "type": 13, "id": "4iZyHkmu2beq3hsnxQokWURA3za1JssNxNDvDvwMUYU4", "fee": 1000000, "feeAssetId": null, "timestamp": 1666011552191, "version": 2, "chainId": 84, "sender": "3MtWYHeMrDBXUmBKtXWFq8eBv3p7X7k2fox", "senderPublicKey": "3wSv69WqTiGQVZxyv9hfHfPvXTxrKrWFutonxuaf24vp", "proofs": [ "4ak1XhvAFGfsuE5uqp9g2BcuNwDYE8GFciEra4KYWjcrWUWfBHa21Jr8esGoR1T6XM7hnnGZsowG85kH8pWfbzBi" ], "script": "base64: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", "height": 2276406, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6zBwn2CVJLQXFzoCB9KXzkUAG6qPHkCKq2D3vvp3RZ2Y Next: HkDNBXfjFVKxzGhwRmqFYnfDFHWmXb99ssUdTLCS5HSJ Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'3MtWYHeMrDBXUmBKtXWFq8eBv3p7X7k2fox'
55
6-let b = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
6+let b = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb'
77
8-let c = "GLOBAL_COUNTER"
8+let c = base58'3P5E9xamcWoymiqLx8ZdmR7o4fJSRMGp1WR'
99
10-let d = 5
10+let d = base58'3P6AobNbcQ3ZjcRY37mJPKN8PP9Giz8kgeY'
1111
12-func e (f) = {
13- let g = {
14- let h = getInteger(this, f)
15- if ($isInstanceOf(h, "Int"))
12+let e = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
13+
14+let f = "GLOBAL_COUNTER"
15+
16+let g = 5
17+
18+let h = 20
19+
20+func i (j) = {
21+ let k = {
22+ let l = getInteger(this, j)
23+ if ($isInstanceOf(l, "Int"))
1624 then {
17- let i = h
18- i
25+ let m = l
26+ m
1927 }
2028 else 0
2129 }
22- g
30+ k
2331 }
2432
2533
26-func j (f) = {
27- let g = {
28- let h = getString(this, f)
29- if ($isInstanceOf(h, "String"))
34+func n (j) = {
35+ let k = {
36+ let l = getString(this, j)
37+ if ($isInstanceOf(l, "String"))
3038 then {
31- let i = h
32- i
39+ let m = l
40+ m
3341 }
3442 else ""
3543 }
36- g
44+ k
3745 }
3846
3947
40-func k (f) = {
41- let h = getBoolean(this, f)
42- if ($isInstanceOf(h, "Boolean"))
48+func o (j) = {
49+ let l = getBoolean(this, j)
50+ if ($isInstanceOf(l, "Boolean"))
4351 then {
44- let i = h
45- i
52+ let m = l
53+ m
4654 }
4755 else false
4856 }
4957
5058
51-func l () = e(c)
59+func p () = i(f)
5260
5361
54-func m (n) = if ((value(assetInfo(n)).issuer == Address(a)))
62+func q (r) = if ((value(assetInfo(r)).issuer == Address(c)))
5563 then "ART"
5664 else {
57- let o = {
58- let h = getString(Address(a), toBase58String(n))
59- if ($isInstanceOf(h, "String"))
65+ let s = {
66+ let l = getString(Address(a), toBase58String(r))
67+ if ($isInstanceOf(l, "String"))
6068 then {
61- let i = h
62- i
69+ let m = l
70+ m
6371 }
6472 else ""
6573 }
66- if ((o != ""))
67- then o
74+ if ((s != ""))
75+ then s
6876 else {
69- let p = {
70- let h = getString(Address(a), toBase58String(n))
71- if ($isInstanceOf(h, "String"))
77+ let t = {
78+ let l = getString(Address(b), toBase58String(r))
79+ if ($isInstanceOf(l, "String"))
7280 then {
73- let q = h
74- q
81+ let u = l
82+ u
7583 }
7684 else ""
7785 }
78- if ((p != ""))
79- then p
86+ if ((t != ""))
87+ then t
8088 else ""
8189 }
8290 }
8391
8492
85-@Callable(r)
86-func additem (s,t,u,v,w,x,y,z,A) = {
87- let B = l()
88- let C = (toBase58String(r.transactionId) + toString(B))
89- let D = value(r.payments[0])
90- let n = value(D.assetId)
91- let E = m(n)
92- if ((E == ""))
93- then throw("")
94- else [StringEntry((("additem_" + C) + "_status"), "open"), BooleanEntry((("additem_" + C) + "_nft_onSell"), (A == "true")), IntegerEntry(c, (B + 1)), StringEntry((("additem_" + toBase58String(n)) + "_last"), C), StringEntry((("additem_" + C) + "_assetGen"), E), StringEntry((("additem_" + C) + "_assetId"), toBase58String(n)), IntegerEntry((("additem_" + C) + "_startedAt"), lastBlock.timestamp), StringEntry((("additem_" + C) + "_owner"), toString(r.originCaller)), StringEntry((("additem_" + C) + "_nft_name"), s), StringEntry((("additem_" + C) + "_nft_owner"), t), IntegerEntry((("additem_" + C) + "_nft_dAppAddress"), u), StringEntry((("additem_" + C) + "_nft_type"), v), StringEntry((("additem_" + C) + "_nft_tags"), w), StringEntry((("additem_" + C) + "_description"), z), IntegerEntry((("additem_" + C) + "_startPrice"), x), BooleanEntry((("additem_" + C) + "_isArtefact"), (value(assetInfo(n)).issuer == Address(a))), IntegerEntry((("additem_" + C) + "_instantPrice"), y), StringEntry((((("address_" + toString(r.originCaller)) + "_additem_") + C) + "_lockedNFT"), toBase58String(n))]
93+func v (w,x) = {
94+ let y = o((("nft_" + w) + "_nftartSell"))
95+ let z = if ((y == true))
96+ then e
97+ else unit
98+ let r = getStringValue(this, (("nft_" + w) + "_assetId"))
99+ let A = n((((("nft_" + w) + "_bid_") + x) + "_author"))
100+ let B = i((((("nft_" + w) + "_bid_") + x) + "_amount"))
101+[StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"nftId\": \"" + w) + "\", \"author\": \"") + A) + "\", \"amount\": \"") + toString(B)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("nft_" + w) + "_bid_") + x) + "_status"), "cancelled"), DeleteEntry(((((("address_" + A) + "_nft_") + w) + "_bid_") + x)), ScriptTransfer(Address(fromBase58String(A)), B, z)]
95102 }
96103
97104
98-@Verifier(F)
99-func G () = sigVerify(F.bodyBytes, F.proofs[0], F.senderPublicKey)
105+@Callable(C)
106+func cancelnft (w) = {
107+ let D = n((("nft_" + w) + "_owner"))
108+ if ((toString(C.originCaller) != D))
109+ then throw("Only allowed to nft owner")
110+ else if ((n((("nft_" + w) + "_status")) != "open"))
111+ then throw("nft is close")
112+ else [StringEntry((("nft_" + w) + "_status"), "cancelled"), DeleteEntry((((("address_" + D) + "_nft_") + w) + "_lockedNFT")), ScriptTransfer(C.originCaller, 1, fromBase58String(getStringValue(this, (("nft_" + w) + "_assetId"))))]
113+ }
114+
115+
116+
117+@Callable(C)
118+func nftBuy (w) = {
119+ let y = o((("nft_" + w) + "_nftart"))
120+ let z = if ((y == true))
121+ then e
122+ else unit
123+ let E = if ((y == true))
124+ then "nftart"
125+ else "WAVES"
126+ let F = value(C.payments[0])
127+ let G = F.amount
128+ let r = n((("nft_" + w) + "_assetId"))
129+ let x = toBase58String(C.transactionId)
130+ let H = n((("nft_" + w) + "_status"))
131+ let I = if ((o((("nft_" + w) + "_isArtefact")) == true))
132+ then h
133+ else g
134+ if ((F.assetId != z))
135+ then throw((("nft does only support " + E) + " payments."))
136+ else if ((H != "open"))
137+ then throw("nft is closed. You cannot place a bid.")
138+ else {
139+ let J = i((("nft_" + w) + "_instantPrice"))
140+ if ((J > G))
141+ then throw(("For instant purchase you need to pay at least " + toString(J)))
142+ else {
143+ let D = n((("nft_" + w) + "_owner"))
144+ let K = i((r + "_recordPrice"))
145+ let L = max([K, G])
146+[StringEntry((("nft_" + w) + "_status"), "finished"), IntegerEntry((("nft_" + w) + "_finalPrice"), G), IntegerEntry((r + "_recordPrice"), L), StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"nftId\": \"" + w) + "\", \"author\": \"") + toString(C.originCaller)) + "\", \"amount\": \"") + toString(G)) + "\", \"status\": \"finished\"}")), DeleteEntry((((("address_" + D) + "_nft_") + w) + "_lockedNFT")), ScriptTransfer(C.originCaller, 1, fromBase58String(getStringValue(this, (("nft_" + w) + "_assetId")))), ScriptTransfer(addressFromStringValue(D), fraction(G, (100 - I), 100), z), ScriptTransfer(Address(d), fraction(G, I, 100), z)]
147+ }
148+ }
149+ }
150+
100151
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'3MtWYHeMrDBXUmBKtXWFq8eBv3p7X7k2fox'
55
6-let b = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
6+let b = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb'
77
8-let c = "GLOBAL_COUNTER"
8+let c = base58'3P5E9xamcWoymiqLx8ZdmR7o4fJSRMGp1WR'
99
10-let d = 5
10+let d = base58'3P6AobNbcQ3ZjcRY37mJPKN8PP9Giz8kgeY'
1111
12-func e (f) = {
13- let g = {
14- let h = getInteger(this, f)
15- if ($isInstanceOf(h, "Int"))
12+let e = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
13+
14+let f = "GLOBAL_COUNTER"
15+
16+let g = 5
17+
18+let h = 20
19+
20+func i (j) = {
21+ let k = {
22+ let l = getInteger(this, j)
23+ if ($isInstanceOf(l, "Int"))
1624 then {
17- let i = h
18- i
25+ let m = l
26+ m
1927 }
2028 else 0
2129 }
22- g
30+ k
2331 }
2432
2533
26-func j (f) = {
27- let g = {
28- let h = getString(this, f)
29- if ($isInstanceOf(h, "String"))
34+func n (j) = {
35+ let k = {
36+ let l = getString(this, j)
37+ if ($isInstanceOf(l, "String"))
3038 then {
31- let i = h
32- i
39+ let m = l
40+ m
3341 }
3442 else ""
3543 }
36- g
44+ k
3745 }
3846
3947
40-func k (f) = {
41- let h = getBoolean(this, f)
42- if ($isInstanceOf(h, "Boolean"))
48+func o (j) = {
49+ let l = getBoolean(this, j)
50+ if ($isInstanceOf(l, "Boolean"))
4351 then {
44- let i = h
45- i
52+ let m = l
53+ m
4654 }
4755 else false
4856 }
4957
5058
51-func l () = e(c)
59+func p () = i(f)
5260
5361
54-func m (n) = if ((value(assetInfo(n)).issuer == Address(a)))
62+func q (r) = if ((value(assetInfo(r)).issuer == Address(c)))
5563 then "ART"
5664 else {
57- let o = {
58- let h = getString(Address(a), toBase58String(n))
59- if ($isInstanceOf(h, "String"))
65+ let s = {
66+ let l = getString(Address(a), toBase58String(r))
67+ if ($isInstanceOf(l, "String"))
6068 then {
61- let i = h
62- i
69+ let m = l
70+ m
6371 }
6472 else ""
6573 }
66- if ((o != ""))
67- then o
74+ if ((s != ""))
75+ then s
6876 else {
69- let p = {
70- let h = getString(Address(a), toBase58String(n))
71- if ($isInstanceOf(h, "String"))
77+ let t = {
78+ let l = getString(Address(b), toBase58String(r))
79+ if ($isInstanceOf(l, "String"))
7280 then {
73- let q = h
74- q
81+ let u = l
82+ u
7583 }
7684 else ""
7785 }
78- if ((p != ""))
79- then p
86+ if ((t != ""))
87+ then t
8088 else ""
8189 }
8290 }
8391
8492
85-@Callable(r)
86-func additem (s,t,u,v,w,x,y,z,A) = {
87- let B = l()
88- let C = (toBase58String(r.transactionId) + toString(B))
89- let D = value(r.payments[0])
90- let n = value(D.assetId)
91- let E = m(n)
92- if ((E == ""))
93- then throw("")
94- else [StringEntry((("additem_" + C) + "_status"), "open"), BooleanEntry((("additem_" + C) + "_nft_onSell"), (A == "true")), IntegerEntry(c, (B + 1)), StringEntry((("additem_" + toBase58String(n)) + "_last"), C), StringEntry((("additem_" + C) + "_assetGen"), E), StringEntry((("additem_" + C) + "_assetId"), toBase58String(n)), IntegerEntry((("additem_" + C) + "_startedAt"), lastBlock.timestamp), StringEntry((("additem_" + C) + "_owner"), toString(r.originCaller)), StringEntry((("additem_" + C) + "_nft_name"), s), StringEntry((("additem_" + C) + "_nft_owner"), t), IntegerEntry((("additem_" + C) + "_nft_dAppAddress"), u), StringEntry((("additem_" + C) + "_nft_type"), v), StringEntry((("additem_" + C) + "_nft_tags"), w), StringEntry((("additem_" + C) + "_description"), z), IntegerEntry((("additem_" + C) + "_startPrice"), x), BooleanEntry((("additem_" + C) + "_isArtefact"), (value(assetInfo(n)).issuer == Address(a))), IntegerEntry((("additem_" + C) + "_instantPrice"), y), StringEntry((((("address_" + toString(r.originCaller)) + "_additem_") + C) + "_lockedNFT"), toBase58String(n))]
93+func v (w,x) = {
94+ let y = o((("nft_" + w) + "_nftartSell"))
95+ let z = if ((y == true))
96+ then e
97+ else unit
98+ let r = getStringValue(this, (("nft_" + w) + "_assetId"))
99+ let A = n((((("nft_" + w) + "_bid_") + x) + "_author"))
100+ let B = i((((("nft_" + w) + "_bid_") + x) + "_amount"))
101+[StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"nftId\": \"" + w) + "\", \"author\": \"") + A) + "\", \"amount\": \"") + toString(B)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("nft_" + w) + "_bid_") + x) + "_status"), "cancelled"), DeleteEntry(((((("address_" + A) + "_nft_") + w) + "_bid_") + x)), ScriptTransfer(Address(fromBase58String(A)), B, z)]
95102 }
96103
97104
98-@Verifier(F)
99-func G () = sigVerify(F.bodyBytes, F.proofs[0], F.senderPublicKey)
105+@Callable(C)
106+func cancelnft (w) = {
107+ let D = n((("nft_" + w) + "_owner"))
108+ if ((toString(C.originCaller) != D))
109+ then throw("Only allowed to nft owner")
110+ else if ((n((("nft_" + w) + "_status")) != "open"))
111+ then throw("nft is close")
112+ else [StringEntry((("nft_" + w) + "_status"), "cancelled"), DeleteEntry((((("address_" + D) + "_nft_") + w) + "_lockedNFT")), ScriptTransfer(C.originCaller, 1, fromBase58String(getStringValue(this, (("nft_" + w) + "_assetId"))))]
113+ }
114+
115+
116+
117+@Callable(C)
118+func nftBuy (w) = {
119+ let y = o((("nft_" + w) + "_nftart"))
120+ let z = if ((y == true))
121+ then e
122+ else unit
123+ let E = if ((y == true))
124+ then "nftart"
125+ else "WAVES"
126+ let F = value(C.payments[0])
127+ let G = F.amount
128+ let r = n((("nft_" + w) + "_assetId"))
129+ let x = toBase58String(C.transactionId)
130+ let H = n((("nft_" + w) + "_status"))
131+ let I = if ((o((("nft_" + w) + "_isArtefact")) == true))
132+ then h
133+ else g
134+ if ((F.assetId != z))
135+ then throw((("nft does only support " + E) + " payments."))
136+ else if ((H != "open"))
137+ then throw("nft is closed. You cannot place a bid.")
138+ else {
139+ let J = i((("nft_" + w) + "_instantPrice"))
140+ if ((J > G))
141+ then throw(("For instant purchase you need to pay at least " + toString(J)))
142+ else {
143+ let D = n((("nft_" + w) + "_owner"))
144+ let K = i((r + "_recordPrice"))
145+ let L = max([K, G])
146+[StringEntry((("nft_" + w) + "_status"), "finished"), IntegerEntry((("nft_" + w) + "_finalPrice"), G), IntegerEntry((r + "_recordPrice"), L), StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"nftId\": \"" + w) + "\", \"author\": \"") + toString(C.originCaller)) + "\", \"amount\": \"") + toString(G)) + "\", \"status\": \"finished\"}")), DeleteEntry((((("address_" + D) + "_nft_") + w) + "_lockedNFT")), ScriptTransfer(C.originCaller, 1, fromBase58String(getStringValue(this, (("nft_" + w) + "_assetId")))), ScriptTransfer(addressFromStringValue(D), fraction(G, (100 - I), 100), z), ScriptTransfer(Address(d), fraction(G, I, 100), z)]
147+ }
148+ }
149+ }
150+
100151

github/deemru/w8io/873ac7e 
90.38 ms