tx · 6Mg8yw3pcR9ACUaWfYJmtemXxjVtzEFijULHqBHi8Tn1 3MtjjEoEs6Rcqkh8tYjPmBxZND58FuMtRWN: -0.05000000 Waves 2022.09.08 16:42 [2220199] smart account 3MtjjEoEs6Rcqkh8tYjPmBxZND58FuMtRWN > SELF 0.00000000 Waves
{ "type": 13, "id": "6Mg8yw3pcR9ACUaWfYJmtemXxjVtzEFijULHqBHi8Tn1", "fee": 5000000, "feeAssetId": null, "timestamp": 1662644556625, "version": 2, "chainId": 84, "sender": "3MtjjEoEs6Rcqkh8tYjPmBxZND58FuMtRWN", "senderPublicKey": "GR35NTmt1JUgBMwuwSK6aFSmLN7g6eZKbYvfSV3ThdWR", "proofs": [ "XFwyEGt2ZQR4z7nTmYTCkeK4PDwxNY1XheaknxvVbtkd3C4sHMn46Sue41xy9BR5kfzk2enj13rKtsK2ugXNjW3" ], "script": "base64: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AAdvcmRlcklkAgAAAAhfYW1vdW50MAIAAAATQ2Fubm90IGZpbmQgYW1vdW50MAQAAAAPb3JkZXJGdWxmaWxsZWQwCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQfAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAALX2Z1bGZpbGxlZDACAAAAFkNhbm5vdCBmaW5kIGZ1bGZpbGxlZDAEAAAAEG9yZGVyQW1vdW50MExlZnQJAABlAAAAAgUAAAAMb3JkZXJBbW91bnQwBQAAAA9vcmRlckZ1bGZpbGxlZDAEAAAAC29yZGVyQXNzZXQxCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAAHX3Rva2VuMQIAAAASQ2Fubm90IGZpbmQgdG9rZW4xBAAAAAxvcmRlckFtb3VudDEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB8AAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAhfYW1vdW50MQIAAAATQ2Fubm90IGZpbmQgYW1vdW50MQQAAAAPb3JkZXJGdWxmaWxsZWQxCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQfAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAALX2Z1bGZpbGxlZDECAAAAFkNhbm5vdCBmaW5kIGZ1bGZpbGxlZDEEAAAAEG9yZGVyQW1vdW50MUxlZnQJAABlAAAAAgUAAAAMb3JkZXJBbW91bnQxBQAAAA9vcmRlckZ1bGZpbGxlZDEDCQEAAAACIT0AAAACBQAAAAtvcmRlclN0YXR1cwIAAAAGYWN0aXZlCQAAAgAAAAECAAAAIE9yZGVyIGFscmVhZHkgY2xvc2VkIG9yIGNhbmNlbGVkAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAAB1Zb3Ugc2hvdWxkIHRvIHByb3ZpZGUgcGF5bWVudAQAAAANY2FsbGVyQWRkcmVzcwgFAAAAAWkAAAAGY2FsbGVyBAAAAAxvd25lckFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAACm9yZGVyT3duZXIEAAAADXBheW1lbnRBc3NldDEJAQAAAA5nZXRBc3NldFN0cmluZwAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAADnBheW1lbnRBbW91bnQxCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQDCQEAAAACIT0AAAACBQAAAA1wYXltZW50QXNzZXQxBQAAAAtvcmRlckFzc2V0MQkAAAIAAAABAgAAABNXcm9uZyBwYXltZW50IGFzc2V0AwkAAGcAAAACBQAAAA5wYXltZW50QW1vdW50MQUAAAAQb3JkZXJBbW91bnQxTGVmdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1jYWxsZXJBZGRyZXNzCQAAZQAAAAIFAAAADnBheW1lbnRBbW91bnQxBQAAABBvcmRlckFtb3VudDFMZWZ0CQEAAAANZ2V0QXNzZXRCeXRlcwAAAAEFAAAAC29yZGVyQXNzZXQxCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADWNhbGxlckFkZHJlc3MFAAAAEG9yZGVyQW1vdW50MExlZnQJAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQUAAAALb3JkZXJBc3NldDAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAMb3duZXJBZGRyZXNzBQAAABBvcmRlckFtb3VudDFMZWZ0CQEAAAANZ2V0QXNzZXRCeXRlcwAAAAEFAAAADXBheW1lbnRBc3NldDEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAAC19mdWxmaWxsZWQwCQAAZAAAAAIFAAAAD29yZGVyRnVsZmlsbGVkMAUAAAAQb3JkZXJBbW91bnQwTGVmdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAALX2Z1bGZpbGxlZDEJAABkAAAAAgUAAAAPb3JkZXJGdWxmaWxsZWQxBQAAABBvcmRlckFtb3VudDFMZWZ0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAAB19zdGF0dXMCAAAABmNsb3NlZAUAAAADbmlsBAAAAAdhbW91bnQwCQEAAAAIZnJhY3Rpb24AAAAEBQAAAAxvcmRlckFtb3VudDAFAAAADnBheW1lbnRBbW91bnQxBQAAAAxvcmRlckFtb3VudDEFAAAABUZMT09SCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADG93bmVyQWRkcmVzcwUAAAAOcGF5bWVudEFtb3VudDEJAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQUAAAANcGF5bWVudEFzc2V0MQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAdhbW91bnQwCQEAAAANZ2V0QXNzZXRCeXRlcwAAAAEFAAAAC29yZGVyQXNzZXQwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAtfZnVsZmlsbGVkMAkAAGQAAAACBQAAAA9vcmRlckZ1bGZpbGxlZDAFAAAAB2Ftb3VudDAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAAC19mdWxmaWxsZWQxCQAAZAAAAAIFAAAAD29yZGVyRnVsZmlsbGVkMQUAAAAOcGF5bWVudEFtb3VudDEFAAAAA25pbAAAAAFpAQAAAAtjYW5jZWxPcmRlcgAAAAIAAAAHb3JkZXJJZAAAAAtwcm94eUNhbGxlcgQAAAAKb3JkZXJPd25lcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAABl9vd25lcgIAAAAXQ2Fubm90IGZpbmQgb3JkZXIgb3duZXIEAAAAC29yZGVyU3RhdHVzCQAEIgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAAB19zdGF0dXMEAAAAC29yZGVyQXNzZXQwCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAAHX3Rva2VuMAIAAAASQ2Fubm90IGZpbmQgdG9rZW4wBAAAAAxvcmRlckFtb3VudDAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB8AAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAhfYW1vdW50MAIAAAATQ2Fubm90IGZpbmQgYW1vdW50MAQAAAAPb3JkZXJGdWxmaWxsZWQwCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQfAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAALX2Z1bGZpbGxlZDACAAAAFkNhbm5vdCBmaW5kIGZ1bGZpbGxlZDAEAAAAEG9yZGVyQW1vdW50MExlZnQJAABlAAAAAgUAAAAMb3JkZXJBbW91bnQwBQAAAA9vcmRlckZ1bGZpbGxlZDADAwkBAAAAAiE9AAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAApvcmRlck93bmVyBgkBAAAAAiE9AAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAA9wcm94eUFkZHJlc3NTdHIJAAACAAAAAQIAAAAXWW91IGNhbm5vdCBjYW5jZWwgb3JkZXIDAwkAAAAAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAD3Byb3h5QWRkcmVzc1N0cgkBAAAAAiE9AAAAAgUAAAALcHJveHlDYWxsZXIFAAAACm9yZGVyT3duZXIHCQAAAgAAAAECAAAAF1lvdSBjYW5ub3QgY2FuY2VsIG9yZGVyAwkBAAAAAiE9AAAAAgUAAAALb3JkZXJTdGF0dXMCAAAABmFjdGl2ZQkAAAIAAAABAgAAABtvcmRlciBpcyBjbG9zZWQgb3IgY2FuY2VsZWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAKb3JkZXJPd25lcgUAAAAQb3JkZXJBbW91bnQwTGVmdAkBAAAADWdldEFzc2V0Qnl0ZXMAAAABBQAAAAtvcmRlckFzc2V0MAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAdfc3RhdHVzAgAAAAhjYW5jZWxlZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmR2TBI", "height": 2220199, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DmLFNihyMpgvSAWZ6DmcB7rTfmUPMjMne4cZi7oStGC7 Next: ZEyNxuFEWDP4ZzyYi1yrabGhF5apn1mxqbbPiA2X3me Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | func a (b) = { | |
5 | - | let c = getString(this, b) | |
6 | - | if ($isInstanceOf(c, "String")) | |
4 | + | let a = "3NAm3p62bo4q3yMzWjJ6M4eEDBRYXxqkXLQ" | |
5 | + | ||
6 | + | func b (c) = { | |
7 | + | let d = getString(this, c) | |
8 | + | if ($isInstanceOf(d, "String")) | |
7 | 9 | then { | |
8 | - | let | |
9 | - | | |
10 | + | let e = d | |
11 | + | e | |
10 | 12 | } | |
11 | 13 | else "" | |
12 | 14 | } | |
13 | 15 | ||
14 | 16 | ||
15 | - | func | |
16 | - | let | |
17 | - | if ($isInstanceOf( | |
17 | + | func f (c) = { | |
18 | + | let d = getInteger(this, c) | |
19 | + | if ($isInstanceOf(d, "Int")) | |
18 | 20 | then { | |
19 | - | let | |
20 | - | | |
21 | + | let e = d | |
22 | + | e | |
21 | 23 | } | |
22 | 24 | else 0 | |
23 | 25 | } | |
24 | 26 | ||
25 | 27 | ||
26 | - | func | |
27 | - | let | |
28 | - | if ($isInstanceOf( | |
28 | + | func g (h) = { | |
29 | + | let d = h | |
30 | + | if ($isInstanceOf(d, "ByteVector")) | |
29 | 31 | then { | |
30 | - | let | |
31 | - | toBase58String( | |
32 | + | let e = d | |
33 | + | toBase58String(e) | |
32 | 34 | } | |
33 | 35 | else "WAVES" | |
34 | 36 | } | |
35 | 37 | ||
36 | 38 | ||
37 | - | func | |
39 | + | func i (j) = if ((j == "WAVES")) | |
38 | 40 | then unit | |
39 | - | else fromBase58String( | |
41 | + | else fromBase58String(j) | |
40 | 42 | ||
41 | 43 | ||
42 | - | @Callable( | |
43 | - | func createOrder ( | |
44 | - | let | |
45 | - | let | |
46 | - | if ((size( | |
44 | + | @Callable(k) | |
45 | + | func createOrder (l,m) = { | |
46 | + | let n = (f("global_ordersAmount") + 1) | |
47 | + | let o = toString(n) | |
48 | + | if ((size(k.payments) != 1)) | |
47 | 49 | then throw("You should to provide payment") | |
48 | - | else if ((0 >= | |
50 | + | else if ((0 >= m)) | |
49 | 51 | then throw("Amount1 cannot be less or equals 0") | |
50 | 52 | else { | |
51 | - | let | |
52 | - | let | |
53 | - | let | |
54 | - | let | |
55 | - | let | |
56 | - | if (("" == | |
57 | - | then | |
58 | - | else (( | |
53 | + | let p = g(k.payments[0].assetId) | |
54 | + | let q = k.payments[0].amount | |
55 | + | let r = b((("user_" + toString(k.caller)) + "_orders")) | |
56 | + | let s = { | |
57 | + | let d = r | |
58 | + | if (("" == d)) | |
59 | + | then o | |
60 | + | else ((r + ",") + o) | |
59 | 61 | } | |
60 | - | [IntegerEntry("global_ordersAmount", | |
62 | + | [IntegerEntry("global_ordersAmount", n), StringEntry((("order_" + o) + "_token0"), p), IntegerEntry((("order_" + o) + "_amount0"), q), IntegerEntry((("order_" + o) + "_amount1"), m), StringEntry((("order_" + o) + "_token1"), l), IntegerEntry((("order_" + o) + "_fulfilled0"), 0), IntegerEntry((("order_" + o) + "_fulfilled1"), 0), StringEntry((("order_" + o) + "_owner"), toString(k.caller)), StringEntry((("order_" + o) + "_status"), "active"), StringEntry((("user_" + toString(k.caller)) + "_orders"), s)] | |
61 | 63 | } | |
62 | 64 | } | |
63 | 65 | ||
64 | 66 | ||
65 | 67 | ||
66 | - | @Callable( | |
67 | - | func fulfillOrder ( | |
68 | - | let | |
69 | - | let | |
70 | - | let | |
71 | - | let | |
72 | - | let | |
73 | - | let | |
74 | - | let | |
75 | - | let | |
76 | - | let | |
77 | - | let | |
78 | - | if (( | |
68 | + | @Callable(k) | |
69 | + | func fulfillOrder (o) = { | |
70 | + | let t = valueOrErrorMessage(getString((("order_" + o) + "_owner")), "Cannot find order owner") | |
71 | + | let u = getString((("order_" + o) + "_status")) | |
72 | + | let v = valueOrErrorMessage(getString((("order_" + o) + "_token0")), "Cannot find token0") | |
73 | + | let w = valueOrErrorMessage(getInteger((("order_" + o) + "_amount0")), "Cannot find amount0") | |
74 | + | let x = valueOrErrorMessage(getInteger((("order_" + o) + "_fulfilled0")), "Cannot find fulfilled0") | |
75 | + | let y = (w - x) | |
76 | + | let z = valueOrErrorMessage(getString((("order_" + o) + "_token1")), "Cannot find token1") | |
77 | + | let A = valueOrErrorMessage(getInteger((("order_" + o) + "_amount1")), "Cannot find amount1") | |
78 | + | let B = valueOrErrorMessage(getInteger((("order_" + o) + "_fulfilled1")), "Cannot find fulfilled1") | |
79 | + | let C = (A - B) | |
80 | + | if ((u != "active")) | |
79 | 81 | then throw("Order already closed or canceled") | |
80 | - | else if ((size( | |
82 | + | else if ((size(k.payments) != 1)) | |
81 | 83 | then throw("You should to provide payment") | |
82 | 84 | else { | |
83 | - | let | |
84 | - | let | |
85 | - | let | |
86 | - | let | |
87 | - | if (( | |
85 | + | let D = k.caller | |
86 | + | let E = addressFromStringValue(t) | |
87 | + | let F = g(k.payments[0].assetId) | |
88 | + | let G = k.payments[0].amount | |
89 | + | if ((F != z)) | |
88 | 90 | then throw("Wrong payment asset") | |
89 | - | else if (( | |
90 | - | then [ScriptTransfer( | |
91 | + | else if ((G >= C)) | |
92 | + | then [ScriptTransfer(D, (G - C), i(z)), ScriptTransfer(D, y, i(v)), ScriptTransfer(E, C, i(F)), IntegerEntry((("order_" + o) + "_fulfilled0"), (x + y)), IntegerEntry((("order_" + o) + "_fulfilled1"), (B + C)), StringEntry((("order_" + o) + "_status"), "closed")] | |
91 | 93 | else { | |
92 | - | let | |
93 | - | [ScriptTransfer( | |
94 | + | let q = fraction(w, G, A, FLOOR) | |
95 | + | [ScriptTransfer(E, G, i(F)), ScriptTransfer(D, q, i(v)), IntegerEntry((("order_" + o) + "_fulfilled0"), (x + q)), IntegerEntry((("order_" + o) + "_fulfilled1"), (B + G))] | |
94 | 96 | } | |
95 | 97 | } | |
96 | 98 | } | |
97 | 99 | ||
98 | 100 | ||
99 | 101 | ||
100 | - | @Callable(j) | |
101 | - | func cancelOrder (n) = { | |
102 | - | let s = valueOrErrorMessage(getString((("order_" + n) + "_owner")), "Cannot find order owner") | |
103 | - | let t = getString((("order_" + n) + "_status")) | |
104 | - | let u = valueOrErrorMessage(getString((("order_" + n) + "_token0")), "Cannot find token0") | |
105 | - | let v = valueOrErrorMessage(getInteger((("order_" + n) + "_amount0")), "Cannot find amount0") | |
106 | - | let w = valueOrErrorMessage(getInteger((("order_" + n) + "_fulfilled0")), "Cannot find fulfilled0") | |
107 | - | let x = (v - w) | |
108 | - | if ((toBase58String(j.caller.bytes) != s)) | |
102 | + | @Callable(k) | |
103 | + | func cancelOrder (o,H) = { | |
104 | + | let t = valueOrErrorMessage(getString((("order_" + o) + "_owner")), "Cannot find order owner") | |
105 | + | let u = getString((("order_" + o) + "_status")) | |
106 | + | let v = valueOrErrorMessage(getString((("order_" + o) + "_token0")), "Cannot find token0") | |
107 | + | let w = valueOrErrorMessage(getInteger((("order_" + o) + "_amount0")), "Cannot find amount0") | |
108 | + | let x = valueOrErrorMessage(getInteger((("order_" + o) + "_fulfilled0")), "Cannot find fulfilled0") | |
109 | + | let y = (w - x) | |
110 | + | if (if ((toBase58String(k.caller.bytes) != t)) | |
111 | + | then true | |
112 | + | else (toBase58String(k.caller.bytes) != a)) | |
109 | 113 | then throw("You cannot cancel order") | |
110 | - | else if ((t != "active")) | |
111 | - | then throw("order is closed or canceled") | |
112 | - | else [ScriptTransfer(addressFromStringValue(s), x, h(u)), StringEntry((("order_" + n) + "_status"), "canceled")] | |
114 | + | else if (if ((toBase58String(k.caller.bytes) == a)) | |
115 | + | then (H != t) | |
116 | + | else false) | |
117 | + | then throw("You cannot cancel order") | |
118 | + | else if ((u != "active")) | |
119 | + | then throw("order is closed or canceled") | |
120 | + | else [ScriptTransfer(addressFromStringValue(t), y, i(v)), StringEntry((("order_" + o) + "_status"), "canceled")] | |
113 | 121 | } | |
114 | 122 | ||
115 | 123 | ||
116 | - | @Verifier( | |
117 | - | func | |
124 | + | @Verifier(I) | |
125 | + | func J () = sigVerify(I.bodyBytes, I.proofs[0], I.senderPublicKey) | |
118 | 126 |
github/deemru/w8io/169f3d6 328.02 ms ◑![]()