tx · 2iFt5Msdd8sjfZ3TgvBbZtwjgt3rYZ6cCvTRDgBoQyKc 3MtVYGt1cJJB8g21cvSzJScK3hxUi9JHdcN: -0.01400000 Waves 2021.12.23 13:01 [1846755] smart account 3MtVYGt1cJJB8g21cvSzJScK3hxUi9JHdcN > SELF 0.00000000 Waves
{ "type": 13, "id": "2iFt5Msdd8sjfZ3TgvBbZtwjgt3rYZ6cCvTRDgBoQyKc", "fee": 1400000, "feeAssetId": null, "timestamp": 1640253677211, "version": 2, "chainId": 84, "sender": "3MtVYGt1cJJB8g21cvSzJScK3hxUi9JHdcN", "senderPublicKey": "65qdY9G3EVQgF1GhvrT6rw2zPmUsFirt9Kjm5q5fdJvu", "proofs": [ "3hrEN1rvRoNGE1SN3cbWJCdjHV84y45VkZnn5KvqBjwnVxn9WKTjdAzcLB8j1ogu1QrbuKw9J4MSwhydU7vnqpiw" ], "script": "base64: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", "height": 1846755, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G495Ly92r4PnPRqXWGh5HhCvbTYewwAePvz3tNscbc7r Next: EneWmzuMyo8bPo935j7KBhNwm1sHMbCptMKdnJqiyDh Diff:
Old | New | Differences | |
---|---|---|---|
5 | 5 | ||
6 | 6 | let b = base58'2cf6jyVG19oHU79R8iHfqFEesjstr3e7nSYEUhb2WagB' | |
7 | 7 | ||
8 | - | func c (d) = { | |
9 | - | let e = { | |
10 | - | let f = getInteger(this, d) | |
11 | - | if ($isInstanceOf(f, "Int")) | |
8 | + | let c = base58'3MpADDQFqadaCADNH9JDMQAGw9WEaMcymVU' | |
9 | + | ||
10 | + | let d = 5 | |
11 | + | ||
12 | + | let e = 20 | |
13 | + | ||
14 | + | func f (g) = { | |
15 | + | let h = { | |
16 | + | let i = getInteger(this, g) | |
17 | + | if ($isInstanceOf(i, "Int")) | |
12 | 18 | then { | |
13 | - | let | |
14 | - | | |
19 | + | let j = i | |
20 | + | j | |
15 | 21 | } | |
16 | 22 | else 0 | |
17 | 23 | } | |
18 | - | | |
24 | + | h | |
19 | 25 | } | |
20 | 26 | ||
21 | 27 | ||
22 | - | func h (d) = { | |
23 | - | let f = getBoolean(this, d) | |
24 | - | if ($isInstanceOf(f, "Boolean")) | |
28 | + | func k (g) = { | |
29 | + | let h = { | |
30 | + | let i = getString(this, g) | |
31 | + | if ($isInstanceOf(i, "String")) | |
32 | + | then { | |
33 | + | let j = i | |
34 | + | j | |
35 | + | } | |
36 | + | else "" | |
37 | + | } | |
38 | + | h | |
39 | + | } | |
40 | + | ||
41 | + | ||
42 | + | func l (g) = { | |
43 | + | let i = getBoolean(this, g) | |
44 | + | if ($isInstanceOf(i, "Boolean")) | |
25 | 45 | then { | |
26 | - | let | |
27 | - | | |
46 | + | let j = i | |
47 | + | j | |
28 | 48 | } | |
29 | 49 | else false | |
30 | 50 | } | |
31 | 51 | ||
32 | 52 | ||
33 | - | func | |
53 | + | func m (n) = if ((value(assetInfo(n)).issuer == Address(a))) | |
34 | 54 | then "ART" | |
35 | 55 | else "" | |
36 | 56 | ||
37 | 57 | ||
38 | - | @Callable( | |
39 | - | func initAuction ( | |
40 | - | let | |
41 | - | let | |
42 | - | let | |
43 | - | let | |
44 | - | if (( | |
58 | + | @Callable(o) | |
59 | + | func initAuction (p,q,r,s) = { | |
60 | + | let t = toBase58String(o.transactionId) | |
61 | + | let u = value(o.payments[0]) | |
62 | + | let n = value(u.assetId) | |
63 | + | let v = m(n) | |
64 | + | if ((v == "")) | |
45 | 65 | then throw("You can only sell an NFT-duck created in incubator or breeder") | |
46 | - | else [StringEntry((("auction_" + | |
66 | + | else [StringEntry((("auction_" + t) + "_status"), "open"), BooleanEntry((("auction_" + t) + "_eggSell"), (s == "true")), StringEntry((("auction_" + toBase58String(n)) + "_last"), t), StringEntry((("auction_" + t) + "_assetGen"), v), StringEntry((("auction_" + t) + "_assetId"), toBase58String(n)), IntegerEntry((("auction_" + t) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + t) + "_owner"), toString(o.originCaller)), StringEntry((("auction_" + t) + "_description"), r), IntegerEntry((("auction_" + t) + "_startPrice"), p), BooleanEntry((("auction_" + t) + "_isArtefact"), (value(assetInfo(n)).issuer == Address(a))), IntegerEntry((("auction_" + t) + "_instantPrice"), q), StringEntry((((("address_" + toString(o.originCaller)) + "_auction_") + t) + "_lockedNFT"), toBase58String(n))] | |
47 | 67 | } | |
48 | 68 | ||
49 | 69 | ||
50 | 70 | ||
51 | - | @Callable( | |
52 | - | func placeBid ( | |
53 | - | let | |
54 | - | let | |
71 | + | @Callable(o) | |
72 | + | func placeBid (t) = { | |
73 | + | let w = l((("auction_" + t) + "_eggSell")) | |
74 | + | let x = if ((w == true)) | |
55 | 75 | then b | |
56 | 76 | else unit | |
57 | - | let | |
77 | + | let y = if ((w == true)) | |
58 | 78 | then "EGG" | |
59 | 79 | else "WAVES" | |
60 | - | let | |
61 | - | let | |
62 | - | let | |
63 | - | let | |
64 | - | if (( | |
65 | - | then throw((("Auction does only support " + | |
80 | + | let u = value(o.payments[0]) | |
81 | + | let z = u.amount | |
82 | + | let A = toBase58String(o.transactionId) | |
83 | + | let n = getStringValue(this, (("auction_" + t) + "_assetId")) | |
84 | + | if ((u.assetId != x)) | |
85 | + | then throw((("Auction does only support " + y) + " payments.")) | |
66 | 86 | else { | |
67 | - | let | |
68 | - | if (( | |
69 | - | then throw(("The minimal initial price is set as " + toString( | |
70 | - | else [StringEntry((((("auction_" + | |
87 | + | let B = f((("auction_" + t) + "_startPrice")) | |
88 | + | if ((B > z)) | |
89 | + | then throw(("The minimal initial price is set as " + toString(B))) | |
90 | + | else [StringEntry((((("auction_" + t) + "_bid_") + A) + "_author"), toString(o.originCaller)), StringEntry((((("assetId_" + n) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(o.originCaller)) + "\", \"amount\": \"") + toString(z)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + A) + "_amount"), z), StringEntry(((((("address_" + toString(o.originCaller)) + "_auction_") + t) + "_bid_") + A), n), StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "open")] | |
71 | 91 | } | |
72 | 92 | } | |
73 | 93 | ||
74 | 94 | ||
75 | - | @Verifier(y) | |
76 | - | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
95 | + | ||
96 | + | @Callable(o) | |
97 | + | func acceptBid (t,A) = { | |
98 | + | let w = l((("auction_" + t) + "_eggSell")) | |
99 | + | let x = if ((w == true)) | |
100 | + | then b | |
101 | + | else unit | |
102 | + | let C = k((("auction_" + t) + "_owner")) | |
103 | + | let D = k((((("auction_" + t) + "_bid_") + A) + "_author")) | |
104 | + | let E = f((((("auction_" + t) + "_bid_") + A) + "_amount")) | |
105 | + | let F = k((((("auction_" + t) + "_bid_") + A) + "_status")) | |
106 | + | let n = k((("auction_" + t) + "_assetId")) | |
107 | + | let G = if ((l((("auction_" + t) + "_isArtefact")) == true)) | |
108 | + | then e | |
109 | + | else d | |
110 | + | if ((toString(o.originCaller) != C)) | |
111 | + | then throw("Only allowed to auction owner") | |
112 | + | else if ((F != "open")) | |
113 | + | then throw("Bid was cancelled and cannot be accepted") | |
114 | + | else if ((k((("auction_" + t) + "_status")) != "open")) | |
115 | + | then throw("Auction was closed") | |
116 | + | else { | |
117 | + | let H = f((n + "_recordPrice")) | |
118 | + | let I = max([H, E]) | |
119 | + | [StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + n) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(o.originCaller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), E), IntegerEntry((n + "_recordPrice"), I), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), DeleteEntry((((("address_" + C) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(o.caller, fraction(E, (100 - G), 100), x), ScriptTransfer(Address(c), fraction(E, G, 100), x), ScriptTransfer(addressFromStringValue(D), 1, fromBase58String(n))] | |
120 | + | } | |
121 | + | } | |
122 | + | ||
123 | + | ||
124 | + | @Verifier(J) | |
125 | + | func K () = sigVerify(J.bodyBytes, J.proofs[0], J.senderPublicKey) | |
77 | 126 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'3N992tjd7EWM6dSHrdVjjjuJrLD4koNztZ9' | |
5 | 5 | ||
6 | 6 | let b = base58'2cf6jyVG19oHU79R8iHfqFEesjstr3e7nSYEUhb2WagB' | |
7 | 7 | ||
8 | - | func c (d) = { | |
9 | - | let e = { | |
10 | - | let f = getInteger(this, d) | |
11 | - | if ($isInstanceOf(f, "Int")) | |
8 | + | let c = base58'3MpADDQFqadaCADNH9JDMQAGw9WEaMcymVU' | |
9 | + | ||
10 | + | let d = 5 | |
11 | + | ||
12 | + | let e = 20 | |
13 | + | ||
14 | + | func f (g) = { | |
15 | + | let h = { | |
16 | + | let i = getInteger(this, g) | |
17 | + | if ($isInstanceOf(i, "Int")) | |
12 | 18 | then { | |
13 | - | let | |
14 | - | | |
19 | + | let j = i | |
20 | + | j | |
15 | 21 | } | |
16 | 22 | else 0 | |
17 | 23 | } | |
18 | - | | |
24 | + | h | |
19 | 25 | } | |
20 | 26 | ||
21 | 27 | ||
22 | - | func h (d) = { | |
23 | - | let f = getBoolean(this, d) | |
24 | - | if ($isInstanceOf(f, "Boolean")) | |
28 | + | func k (g) = { | |
29 | + | let h = { | |
30 | + | let i = getString(this, g) | |
31 | + | if ($isInstanceOf(i, "String")) | |
32 | + | then { | |
33 | + | let j = i | |
34 | + | j | |
35 | + | } | |
36 | + | else "" | |
37 | + | } | |
38 | + | h | |
39 | + | } | |
40 | + | ||
41 | + | ||
42 | + | func l (g) = { | |
43 | + | let i = getBoolean(this, g) | |
44 | + | if ($isInstanceOf(i, "Boolean")) | |
25 | 45 | then { | |
26 | - | let | |
27 | - | | |
46 | + | let j = i | |
47 | + | j | |
28 | 48 | } | |
29 | 49 | else false | |
30 | 50 | } | |
31 | 51 | ||
32 | 52 | ||
33 | - | func | |
53 | + | func m (n) = if ((value(assetInfo(n)).issuer == Address(a))) | |
34 | 54 | then "ART" | |
35 | 55 | else "" | |
36 | 56 | ||
37 | 57 | ||
38 | - | @Callable( | |
39 | - | func initAuction ( | |
40 | - | let | |
41 | - | let | |
42 | - | let | |
43 | - | let | |
44 | - | if (( | |
58 | + | @Callable(o) | |
59 | + | func initAuction (p,q,r,s) = { | |
60 | + | let t = toBase58String(o.transactionId) | |
61 | + | let u = value(o.payments[0]) | |
62 | + | let n = value(u.assetId) | |
63 | + | let v = m(n) | |
64 | + | if ((v == "")) | |
45 | 65 | then throw("You can only sell an NFT-duck created in incubator or breeder") | |
46 | - | else [StringEntry((("auction_" + | |
66 | + | else [StringEntry((("auction_" + t) + "_status"), "open"), BooleanEntry((("auction_" + t) + "_eggSell"), (s == "true")), StringEntry((("auction_" + toBase58String(n)) + "_last"), t), StringEntry((("auction_" + t) + "_assetGen"), v), StringEntry((("auction_" + t) + "_assetId"), toBase58String(n)), IntegerEntry((("auction_" + t) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + t) + "_owner"), toString(o.originCaller)), StringEntry((("auction_" + t) + "_description"), r), IntegerEntry((("auction_" + t) + "_startPrice"), p), BooleanEntry((("auction_" + t) + "_isArtefact"), (value(assetInfo(n)).issuer == Address(a))), IntegerEntry((("auction_" + t) + "_instantPrice"), q), StringEntry((((("address_" + toString(o.originCaller)) + "_auction_") + t) + "_lockedNFT"), toBase58String(n))] | |
47 | 67 | } | |
48 | 68 | ||
49 | 69 | ||
50 | 70 | ||
51 | - | @Callable( | |
52 | - | func placeBid ( | |
53 | - | let | |
54 | - | let | |
71 | + | @Callable(o) | |
72 | + | func placeBid (t) = { | |
73 | + | let w = l((("auction_" + t) + "_eggSell")) | |
74 | + | let x = if ((w == true)) | |
55 | 75 | then b | |
56 | 76 | else unit | |
57 | - | let | |
77 | + | let y = if ((w == true)) | |
58 | 78 | then "EGG" | |
59 | 79 | else "WAVES" | |
60 | - | let | |
61 | - | let | |
62 | - | let | |
63 | - | let | |
64 | - | if (( | |
65 | - | then throw((("Auction does only support " + | |
80 | + | let u = value(o.payments[0]) | |
81 | + | let z = u.amount | |
82 | + | let A = toBase58String(o.transactionId) | |
83 | + | let n = getStringValue(this, (("auction_" + t) + "_assetId")) | |
84 | + | if ((u.assetId != x)) | |
85 | + | then throw((("Auction does only support " + y) + " payments.")) | |
66 | 86 | else { | |
67 | - | let | |
68 | - | if (( | |
69 | - | then throw(("The minimal initial price is set as " + toString( | |
70 | - | else [StringEntry((((("auction_" + | |
87 | + | let B = f((("auction_" + t) + "_startPrice")) | |
88 | + | if ((B > z)) | |
89 | + | then throw(("The minimal initial price is set as " + toString(B))) | |
90 | + | else [StringEntry((((("auction_" + t) + "_bid_") + A) + "_author"), toString(o.originCaller)), StringEntry((((("assetId_" + n) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(o.originCaller)) + "\", \"amount\": \"") + toString(z)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + A) + "_amount"), z), StringEntry(((((("address_" + toString(o.originCaller)) + "_auction_") + t) + "_bid_") + A), n), StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "open")] | |
71 | 91 | } | |
72 | 92 | } | |
73 | 93 | ||
74 | 94 | ||
75 | - | @Verifier(y) | |
76 | - | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
95 | + | ||
96 | + | @Callable(o) | |
97 | + | func acceptBid (t,A) = { | |
98 | + | let w = l((("auction_" + t) + "_eggSell")) | |
99 | + | let x = if ((w == true)) | |
100 | + | then b | |
101 | + | else unit | |
102 | + | let C = k((("auction_" + t) + "_owner")) | |
103 | + | let D = k((((("auction_" + t) + "_bid_") + A) + "_author")) | |
104 | + | let E = f((((("auction_" + t) + "_bid_") + A) + "_amount")) | |
105 | + | let F = k((((("auction_" + t) + "_bid_") + A) + "_status")) | |
106 | + | let n = k((("auction_" + t) + "_assetId")) | |
107 | + | let G = if ((l((("auction_" + t) + "_isArtefact")) == true)) | |
108 | + | then e | |
109 | + | else d | |
110 | + | if ((toString(o.originCaller) != C)) | |
111 | + | then throw("Only allowed to auction owner") | |
112 | + | else if ((F != "open")) | |
113 | + | then throw("Bid was cancelled and cannot be accepted") | |
114 | + | else if ((k((("auction_" + t) + "_status")) != "open")) | |
115 | + | then throw("Auction was closed") | |
116 | + | else { | |
117 | + | let H = f((n + "_recordPrice")) | |
118 | + | let I = max([H, E]) | |
119 | + | [StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + n) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(o.originCaller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), E), IntegerEntry((n + "_recordPrice"), I), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), DeleteEntry((((("address_" + C) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(o.caller, fraction(E, (100 - G), 100), x), ScriptTransfer(Address(c), fraction(E, G, 100), x), ScriptTransfer(addressFromStringValue(D), 1, fromBase58String(n))] | |
120 | + | } | |
121 | + | } | |
122 | + | ||
123 | + | ||
124 | + | @Verifier(J) | |
125 | + | func K () = sigVerify(J.bodyBytes, J.proofs[0], J.senderPublicKey) | |
77 | 126 |
github/deemru/w8io/03bedc9 58.64 ms ◑