tx · HFyE68Rea1U1CWQSjXh8cBDxQiHWmCKd3eAAB65VYNfV 3NAm3p62bo4q3yMzWjJ6M4eEDBRYXxqkXLQ: -0.01000000 Waves 2022.08.26 22:33 [2201865] smart account 3NAm3p62bo4q3yMzWjJ6M4eEDBRYXxqkXLQ > SELF 0.00000000 Waves
{ "type": 13, "id": "HFyE68Rea1U1CWQSjXh8cBDxQiHWmCKd3eAAB65VYNfV", "fee": 1000000, "feeAssetId": null, "timestamp": 1661542406531, "version": 2, "chainId": 84, "sender": "3NAm3p62bo4q3yMzWjJ6M4eEDBRYXxqkXLQ", "senderPublicKey": "6ftcjfxzkWUUwSQuuRg45YwriXgjJ5RMUoG9etzbvvs3", "proofs": [ "67X4sUkUKHLiTuye9BjQJk4pbBcNuTxGyPgyhDyRU9Q5xg5gjihyJaf4v7WodnFgbk7msL3DMHdY12BKG3HYzL13" ], "script": "base64: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dDAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTUpAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAAIX2Ftb3VudDACAAAAE0Nhbm5vdCBmaW5kIGFtb3VudDAEAAAAD29yZGVyRnVsZmlsbGVkMAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAtfZnVsZmlsbGVkMAIAAAAWQ2Fubm90IGZpbmQgZnVsZmlsbGVkMAQAAAAQb3JkZXJBbW91bnQwTGVmdAkAAGUAAAACBQAAAAxvcmRlckFtb3VudDAFAAAAD29yZGVyRnVsZmlsbGVkMAQAAAALb3JkZXJBc3NldDEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAAHX3Rva2VuMQIAAAASQ2Fubm90IGZpbmQgdG9rZW4xBAAAAAxvcmRlckFtb3VudDEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTUpAAAAAQkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAAIX2Ftb3VudDECAAAAE0Nhbm5vdCBmaW5kIGFtb3VudDEEAAAAD29yZGVyRnVsZmlsbGVkMQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAtfZnVsZmlsbGVkMQIAAAAWQ2Fubm90IGZpbmQgZnVsZmlsbGVkMQQAAAAQb3JkZXJBbW91bnQxTGVmdAkAAGUAAAACBQAAAAxvcmRlckFtb3VudDEFAAAAD29yZGVyRnVsZmlsbGVkMQMJAQAAAAIhPQAAAAIFAAAAC29yZGVyU3RhdHVzAgAAAAZhY3RpdmUJAAACAAAAAQIAAAAgT3JkZXIgYWxyZWFkeSBjbG9zZWQgb3IgY2FuY2VsZWQDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQAAAgAAAAECAAAAHVlvdSBzaG91bGQgdG8gcHJvdmlkZSBwYXltZW50BAAAAA1jYWxsZXJBZGRyZXNzCAUAAAABaQAAAAZjYWxsZXIEAAAADG93bmVyQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAKb3JkZXJPd25lcgQAAAANcGF5bWVudEFzc2V0MQkBAAAADmdldEFzc2V0U3RyaW5nAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAOcGF5bWVudEFtb3VudDEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAMJAQAAAAIhPQAAAAIFAAAADXBheW1lbnRBc3NldDEFAAAAC29yZGVyQXNzZXQxCQAAAgAAAAECAAAAE1dyb25nIHBheW1lbnQgYXNzZXQDCQAAZwAAAAIFAAAADnBheW1lbnRBbW91bnQxBQAAABBvcmRlckFtb3VudDFMZWZ0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADWNhbGxlckFkZHJlc3MJAABlAAAAAgUAAAAOcGF5bWVudEFtb3VudDEFAAAAEG9yZGVyQW1vdW50MUxlZnQJAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQUAAAALb3JkZXJBc3NldDEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAANY2FsbGVyQWRkcmVzcwUAAAAQb3JkZXJBbW91bnQwTGVmdAkBAAAADWdldEFzc2V0Qnl0ZXMAAAABBQAAAAtvcmRlckFzc2V0MAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAxvd25lckFkZHJlc3MFAAAAEG9yZGVyQW1vdW50MUxlZnQJAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQUAAAANcGF5bWVudEFzc2V0MQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAALX2Z1bGZpbGxlZDAJAABkAAAAAgUAAAAPb3JkZXJGdWxmaWxsZWQwBQAAABBvcmRlckFtb3VudDBMZWZ0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAtfZnVsZmlsbGVkMQkAAGQAAAACBQAAAA9vcmRlckZ1bGZpbGxlZDEFAAAAEG9yZGVyQW1vdW50MUxlZnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAAHX3N0YXR1cwIAAAAGY2xvc2VkBQAAAANuaWwEAAAAB2Ftb3VudDAJAQAAAAhmcmFjdGlvbgAAAAQFAAAADG9yZGVyQW1vdW50MAUAAAAOcGF5bWVudEFtb3VudDEFAAAADG9yZGVyQW1vdW50MQUAAAAFRkxPT1IJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAMb3duZXJBZGRyZXNzBQAAAA5wYXltZW50QW1vdW50MQkBAAAADWdldEFzc2V0Qnl0ZXMAAAABBQAAAA1wYXltZW50QXNzZXQxCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADWNhbGxlckFkZHJlc3MFAAAAB2Ftb3VudDAJAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQUAAAALb3JkZXJBc3NldDAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAAC19mdWxmaWxsZWQwCQAAZAAAAAIFAAAAD29yZGVyRnVsZmlsbGVkMAUAAAAHYW1vdW50MAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABm9yZGVyXwUAAAAHb3JkZXJJZAIAAAALX2Z1bGZpbGxlZDEJAABkAAAAAgUAAAAPb3JkZXJGdWxmaWxsZWQxBQAAAA5wYXltZW50QW1vdW50MQUAAAADbmlsAAAAAWkBAAAAC2NhbmNlbE9yZGVyAAAAAQAAAAdvcmRlcklkBAAAAApvcmRlck93bmVyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAABl9vd25lcgIAAAAXQ2Fubm90IGZpbmQgb3JkZXIgb3duZXIEAAAAC29yZGVyU3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1OCkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAdfc3RhdHVzBAAAAAtvcmRlckFzc2V0MAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1OCkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAdfdG9rZW4wAgAAABJDYW5ub3QgZmluZCB0b2tlbjAEAAAADG9yZGVyQW1vdW50MAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAhfYW1vdW50MAIAAAATQ2Fubm90IGZpbmQgYW1vdW50MAQAAAAPb3JkZXJGdWxmaWxsZWQwCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDU1KQAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZvcmRlcl8FAAAAB29yZGVySWQCAAAAC19mdWxmaWxsZWQwAgAAABZDYW5ub3QgZmluZCBmdWxmaWxsZWQwBAAAABBvcmRlckFtb3VudDBMZWZ0CQAAZQAAAAIFAAAADG9yZGVyQW1vdW50MAUAAAAPb3JkZXJGdWxmaWxsZWQwAwkBAAAAAiE9AAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAApvcmRlck93bmVyCQAAAgAAAAECAAAAF1lvdSBjYW5ub3QgY2FuY2VsIG9yZGVyAwkBAAAAAiE9AAAAAgUAAAALb3JkZXJTdGF0dXMCAAAABmFjdGl2ZQkAAAIAAAABAgAAABtvcmRlciBpcyBjbG9zZWQgb3IgY2FuY2VsZWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAKb3JkZXJPd25lcgUAAAAQb3JkZXJBbW91bnQwTGVmdAkBAAAADWdldEFzc2V0Qnl0ZXMAAAABBQAAAAtvcmRlckFzc2V0MAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGb3JkZXJfBQAAAAdvcmRlcklkAgAAAAdfc3RhdHVzAgAAAAhjYW5jZWxlZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmv7RS/", "height": 2201865, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2aQuWzLjdbMu29fTH4aB3aVhy5k83QFCPFmCZNRR7Zks Next: 9FvKkQGRPNTVrsFj4ePJahaRdgCyQphug6NiDj3TNu7T Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func a (b) = { | |
5 | + | let c = b | |
6 | + | if ($isInstanceOf(c, "ByteVector")) | |
7 | + | then { | |
8 | + | let d = c | |
9 | + | toBase58String(d) | |
10 | + | } | |
11 | + | else "WAVES" | |
12 | + | } | |
13 | + | ||
14 | + | ||
15 | + | func e (f) = if ((f == "WAVES")) | |
16 | + | then unit | |
17 | + | else fromBase58String(f) | |
18 | + | ||
19 | + | ||
20 | + | @Callable(g) | |
21 | + | func createOrder (h,i) = { | |
22 | + | let j = toBase58String(g.transactionId) | |
23 | + | if ((size(g.payments) != 1)) | |
24 | + | then throw("You should to provide payment") | |
25 | + | else { | |
26 | + | let k = a(g.payments[0].assetId) | |
27 | + | let l = g.payments[0].amount | |
28 | + | [StringEntry((("order_" + j) + "_token0"), k), IntegerEntry((("order_" + j) + "_amount0"), l), IntegerEntry((("order_" + j) + "_amount1"), i), StringEntry((("order_" + j) + "_token1"), h), IntegerEntry((("order_" + j) + "_fulfilled0"), 0), IntegerEntry((("order_" + j) + "_fulfilled1"), 0), StringEntry((("order_" + j) + "_owner"), toString(g.caller)), StringEntry((("order_" + j) + "_status"), "active")] | |
29 | + | } | |
30 | + | } | |
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | @Callable(g) | |
35 | + | func fulfillOrder (j) = { | |
36 | + | let m = valueOrErrorMessage(getStringValue((("order_" + j) + "_owner")), "Cannot find order owner") | |
37 | + | let n = getStringValue((("order_" + j) + "_status")) | |
38 | + | let o = valueOrErrorMessage(getStringValue((("order_" + j) + "_token0")), "Cannot find token0") | |
39 | + | let p = valueOrErrorMessage(getIntegerValue((("order_" + j) + "_amount0")), "Cannot find amount0") | |
40 | + | let q = valueOrErrorMessage(getIntegerValue((("order_" + j) + "_fulfilled0")), "Cannot find fulfilled0") | |
41 | + | let r = (p - q) | |
42 | + | let s = valueOrErrorMessage(getStringValue((("order_" + j) + "_token1")), "Cannot find token1") | |
43 | + | let t = valueOrErrorMessage(getIntegerValue((("order_" + j) + "_amount1")), "Cannot find amount1") | |
44 | + | let u = valueOrErrorMessage(getIntegerValue((("order_" + j) + "_fulfilled1")), "Cannot find fulfilled1") | |
45 | + | let v = (t - u) | |
46 | + | if ((n != "active")) | |
47 | + | then throw("Order already closed or canceled") | |
48 | + | else if ((size(g.payments) != 1)) | |
49 | + | then throw("You should to provide payment") | |
50 | + | else { | |
51 | + | let w = g.caller | |
52 | + | let x = addressFromStringValue(m) | |
53 | + | let y = a(g.payments[0].assetId) | |
54 | + | let z = g.payments[0].amount | |
55 | + | if ((y != s)) | |
56 | + | then throw("Wrong payment asset") | |
57 | + | else if ((z >= v)) | |
58 | + | then [ScriptTransfer(w, (z - v), e(s)), ScriptTransfer(w, r, e(o)), ScriptTransfer(x, v, e(y)), IntegerEntry((("order_" + j) + "_fulfilled0"), (q + r)), IntegerEntry((("order_" + j) + "_fulfilled1"), (u + v)), StringEntry((("order_" + j) + "_status"), "closed")] | |
59 | + | else { | |
60 | + | let l = fraction(p, z, t, FLOOR) | |
61 | + | [ScriptTransfer(x, z, e(y)), ScriptTransfer(w, l, e(o)), IntegerEntry((("order_" + j) + "_fulfilled0"), (q + l)), IntegerEntry((("order_" + j) + "_fulfilled1"), (u + z))] | |
62 | + | } | |
63 | + | } | |
64 | + | } | |
65 | + | ||
66 | + | ||
67 | + | ||
68 | + | @Callable(g) | |
69 | + | func cancelOrder (j) = { | |
70 | + | let m = valueOrErrorMessage(getStringValue((("order_" + j) + "_owner")), "Cannot find order owner") | |
71 | + | let n = getStringValue((("order_" + j) + "_status")) | |
72 | + | let o = valueOrErrorMessage(getStringValue((("order_" + j) + "_token0")), "Cannot find token0") | |
73 | + | let p = valueOrErrorMessage(getIntegerValue((("order_" + j) + "_amount0")), "Cannot find amount0") | |
74 | + | let q = valueOrErrorMessage(getIntegerValue((("order_" + j) + "_fulfilled0")), "Cannot find fulfilled0") | |
75 | + | let r = (p - q) | |
76 | + | if ((toBase58String(g.caller.bytes) != m)) | |
77 | + | then throw("You cannot cancel order") | |
78 | + | else if ((n != "active")) | |
79 | + | then throw("order is closed or canceled") | |
80 | + | else [ScriptTransfer(addressFromStringValue(m), r, e(o)), StringEntry((("order_" + j) + "_status"), "canceled")] | |
81 | + | } | |
82 | + | ||
83 | + | ||
84 | + | @Verifier(A) | |
85 | + | func B () = sigVerify(A.bodyBytes, A.proofs[0], A.senderPublicKey) | |
86 | + |
github/deemru/w8io/c3f4982 23.85 ms ◑