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:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# 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"))
79 then {
8- let d = c
9- d
10+ let e = d
11+ e
1012 }
1113 else ""
1214 }
1315
1416
15-func e (b) = {
16- let c = getInteger(this, b)
17- if ($isInstanceOf(c, "Int"))
17+func f (c) = {
18+ let d = getInteger(this, c)
19+ if ($isInstanceOf(d, "Int"))
1820 then {
19- let d = c
20- d
21+ let e = d
22+ e
2123 }
2224 else 0
2325 }
2426
2527
26-func f (g) = {
27- let c = g
28- if ($isInstanceOf(c, "ByteVector"))
28+func g (h) = {
29+ let d = h
30+ if ($isInstanceOf(d, "ByteVector"))
2931 then {
30- let d = c
31- toBase58String(d)
32+ let e = d
33+ toBase58String(e)
3234 }
3335 else "WAVES"
3436 }
3537
3638
37-func h (i) = if ((i == "WAVES"))
39+func i (j) = if ((j == "WAVES"))
3840 then unit
39- else fromBase58String(i)
41+ else fromBase58String(j)
4042
4143
42-@Callable(j)
43-func createOrder (k,l) = {
44- let m = (e("global_ordersAmount") + 1)
45- let n = toString(m)
46- if ((size(j.payments) != 1))
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))
4749 then throw("You should to provide payment")
48- else if ((0 >= l))
50+ else if ((0 >= m))
4951 then throw("Amount1 cannot be less or equals 0")
5052 else {
51- let o = f(j.payments[0].assetId)
52- let p = j.payments[0].amount
53- let q = a((("user_" + toString(j.caller)) + "_orders"))
54- let r = {
55- let c = q
56- if (("" == c))
57- then n
58- else ((q + ",") + n)
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)
5961 }
60-[IntegerEntry("global_ordersAmount", m), StringEntry((("order_" + n) + "_token0"), o), IntegerEntry((("order_" + n) + "_amount0"), p), IntegerEntry((("order_" + n) + "_amount1"), l), StringEntry((("order_" + n) + "_token1"), k), IntegerEntry((("order_" + n) + "_fulfilled0"), 0), IntegerEntry((("order_" + n) + "_fulfilled1"), 0), StringEntry((("order_" + n) + "_owner"), toString(j.caller)), StringEntry((("order_" + n) + "_status"), "active"), StringEntry((("user_" + toString(j.caller)) + "_orders"), r)]
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)]
6163 }
6264 }
6365
6466
6567
66-@Callable(j)
67-func fulfillOrder (n) = {
68- let s = valueOrErrorMessage(getString((("order_" + n) + "_owner")), "Cannot find order owner")
69- let t = getString((("order_" + n) + "_status"))
70- let u = valueOrErrorMessage(getString((("order_" + n) + "_token0")), "Cannot find token0")
71- let v = valueOrErrorMessage(getInteger((("order_" + n) + "_amount0")), "Cannot find amount0")
72- let w = valueOrErrorMessage(getInteger((("order_" + n) + "_fulfilled0")), "Cannot find fulfilled0")
73- let x = (v - w)
74- let y = valueOrErrorMessage(getString((("order_" + n) + "_token1")), "Cannot find token1")
75- let z = valueOrErrorMessage(getInteger((("order_" + n) + "_amount1")), "Cannot find amount1")
76- let A = valueOrErrorMessage(getInteger((("order_" + n) + "_fulfilled1")), "Cannot find fulfilled1")
77- let B = (z - A)
78- if ((t != "active"))
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"))
7981 then throw("Order already closed or canceled")
80- else if ((size(j.payments) != 1))
82+ else if ((size(k.payments) != 1))
8183 then throw("You should to provide payment")
8284 else {
83- let C = j.caller
84- let D = addressFromStringValue(s)
85- let E = f(j.payments[0].assetId)
86- let F = j.payments[0].amount
87- if ((E != y))
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))
8890 then throw("Wrong payment asset")
89- else if ((F >= B))
90- then [ScriptTransfer(C, (F - B), h(y)), ScriptTransfer(C, x, h(u)), ScriptTransfer(D, B, h(E)), IntegerEntry((("order_" + n) + "_fulfilled0"), (w + x)), IntegerEntry((("order_" + n) + "_fulfilled1"), (A + B)), StringEntry((("order_" + n) + "_status"), "closed")]
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")]
9193 else {
92- let p = fraction(v, F, z, FLOOR)
93-[ScriptTransfer(D, F, h(E)), ScriptTransfer(C, p, h(u)), IntegerEntry((("order_" + n) + "_fulfilled0"), (w + p)), IntegerEntry((("order_" + n) + "_fulfilled1"), (A + F))]
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))]
9496 }
9597 }
9698 }
9799
98100
99101
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))
109113 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")]
113121 }
114122
115123
116-@Verifier(G)
117-func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
124+@Verifier(I)
125+func J () = sigVerify(I.bodyBytes, I.proofs[0], I.senderPublicKey)
118126

github/deemru/w8io/169f3d6 
328.02 ms