tx · 7LXfpZzbW2GrASHKWNx8oML1rS9HBiXw7fAE2Dz2qe3E

3MuTR6FqVriefgvXkJtNxj8CNh3nBbuqidJ:  -0.01400000 Waves

2019.10.08 13:44 [710719] smart account 3MuTR6FqVriefgvXkJtNxj8CNh3nBbuqidJ > SELF 0.00000000 Waves

{ "type": 13, "id": "7LXfpZzbW2GrASHKWNx8oML1rS9HBiXw7fAE2Dz2qe3E", "fee": 1400000, "feeAssetId": null, "timestamp": 1570531449158, "version": 1, "sender": "3MuTR6FqVriefgvXkJtNxj8CNh3nBbuqidJ", "senderPublicKey": "7Egc9nr6FA2hbNNbo8H21n8htzQ5nYzsLc6eku6JU5pn", "proofs": [ "4JWCzpsNKJ9GWSjNu7dnBp9Ga1P5uaQriVqzL8SxXSPFb11TATsMbr6W5nk96SLqvKoR5aW84r7jcg1n8XAkjmkv" ], "script": "base64:AAIDAAAAAAAAAAAAAAApAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAAAAABBPUkRFUlNQTElUU1lNQk9MAgAAAAFfAAAAAA1DRU5UU0lORE9MTEFSAAAAAAAAAABkAAAAAAhDQU5DRUxFRAIAAAAIY2FuY2VsZWQAAAAAA05FVwIAAAADbmV3AAAAAAZGSUxMRUQCAAAABmZpbGxlZAAAAAAMT3JkZXJCb29rS2V5AgAAAAlvcmRlcmJvb2sAAAAADU9yZGVyUHJpY2VLZXkCAAAADG9yZGVyX3ByaWNlXwAAAAANT3JkZXJUb3RhbEtleQIAAAAMb3JkZXJfdG90YWxfAAAAABNPcmRlckZpbGxlZFRvdGFsS2V5AgAAABNvcmRlcl9maWxsZWRfdG90YWxfAAAAAA1PcmRlck93bmVyS2V5AgAAAAxvcmRlcl9vd25lcl8AAAAADk9yZGVySGVpZ2h0S2V5AgAAAA1vcmRlcl9oZWlnaHRfAAAAAA5PcmRlclN0YXR1c0tleQIAAAANb3JkZXJfc3RhdHVzXwAAAAAIUHJpY2VLZXkCAAAABXByaWNlAAAAAA5Cb25kQXNzZXRJZEtleQIAAAANYm9uZF9hc3NldF9pZAAAAAASTmV1dHJpbm9Bc3NldElkS2V5AgAAABFuZXV0cmlub19hc3NldF9pZAAAAAATTmV1dHJpbm9Db250cmFjdEtleQIAAAARbmV1dHJpbm9fY29udHJhY3QBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgUAAAANT3JkZXJQcmljZUtleQUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACBQAAAA1PcmRlclRvdGFsS2V5BQAAAAdvcmRlcklkAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAIFAAAADU9yZGVyT3duZXJLZXkFAAAAB29yZGVySWQBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAIFAAAADk9yZGVySGVpZ2h0S2V5BQAAAAdvcmRlcklkAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACBQAAAA5PcmRlclN0YXR1c0tleQUAAAAHb3JkZXJJZAEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACBQAAABNPcmRlckZpbGxlZFRvdGFsS2V5BQAAAAdvcmRlcklkAAAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABNOZXV0cmlub0NvbnRyYWN0S2V5AAAAAAVwcmljZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAACFByaWNlS2V5AAAAAA9uZXV0cmlub0Fzc2V0SWQJAAJZAAAAAQkBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAEk5ldXRyaW5vQXNzZXRJZEtleQAAAAALYm9uZEFzc2V0SWQJAAJZAAAAAQkBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAADkJvbmRBc3NldElkS2V5AAAAAAlvcmRlcmJvb2sJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADE9yZGVyQm9va0tleQAAAAAHcmVzZXJ2ZQkBAAAADHdhdmVzQmFsYW5jZQAAAAEJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAQbmV1dHJpbm9Db250cmFjdAAAAAAObmV1dHJpbm9TdXBwbHkEAAAABGluZm8JAQAAAAdleHRyYWN0AAAAAQkAA+wAAAABBQAAAA9uZXV0cmlub0Fzc2V0SWQJAABlAAAAAggFAAAABGluZm8AAAAIcXVhbnRpdHkJAAPrAAAAAgkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQBAAAADWdldE9yZGVyUHJpY2UAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlclRvdGFsAAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAJpZAEAAAANZ2V0T3JkZXJPd25lcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQUAAAACaWQBAAAADmdldE9yZGVyU3RhdHVzAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAACaWQBAAAAE2dldE9yZGVyRmlsbGVkVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0T3Jk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QGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAADHJldHVybkFtb3VudAUAAAALYm9uZEFzc2V0SWQFAAAAA25pbAQAAAAHb3JkZXJJZAkAAZEAAAACCQAEtQAAAAIFAAAACW9yZGVyYm9vawUAAAAQT1JERVJTUExJVFNZTUJPTAAAAAAAAAAAAAQAAAALZmlsbGVkVG90YWwJAQAAABNnZXRPcmRlckZpbGxlZFRvdGFsAAAAAQUAAAAHb3JkZXJJZAQAAAAKb3JkZXJUb3RhbAkBAAAADWdldE9yZGVyVG90YWwAAAABBQAAAAdvcmRlcklkBAAAAApvcmRlclByaWNlCQEAAAANZ2V0T3JkZXJQcmljZQAAAAEFAAAAB29yZGVySWQEAAAACm9yZGVyT3duZXIJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAHb3JkZXJJZAQAAAAGYW1vdW50CQAAaQAAAAIJAABpAAAAAgkAAGgAAAACCQAAZQAAAAIFAAAACm9yZGVyVG90YWwFAAAAC2ZpbGxlZFRvdGFsAAAAAAAAAABkBQAAAApvcmRlclByaWNlBQAAAA1DRU5UU0lORE9MTEFSBAAAAAxuZXdPcmRlcmJvb2sDCQAAZwAAAAIFAAAACmJvbmRBbW91bnQFAAAABmFtb3VudAkBAAAACWRyb3BPcmRlcgAAAAEFAAAAB29yZGVySWQFAAAACW9yZGVyYm9vawQAAAAMZmlsbGVkQW1vdW50AwkAAGcAAAACBQAAAApib25kQW1vdW50BQAAAAZhbW91bnQFAAAABmFtb3VudAUAAAAKYm9uZEFtb3VudAQAAAAFdG90YWwJAABoAAAAAgkAAGkAAAACCQAAaAAAAAIFAAAADGZpbGxlZEFtb3VudAUAAAAKb3JkZXJQcmljZQAAAAAAAAAAZAUAAAANQ0VOVFNJTkRPTExBUgQAAAAGc3RhdHVzAwkAAGcAAAACBQAAAApib25kQW1vdW50BQAAAAZhbW91bnQFAAAABkZJTExFRAUAAAADTkVXCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAMT3JkZXJCb29rS2V5BQAAAAxuZXdPcmRlcmJvb2sJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAAHb3JkZXJJZAkAAGQAAAACBQAAAAtmaWxsZWRUb3RhbAUAAAAFdG90YWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAABnN0YXR1cwUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAKb3JkZXJPd25lcgUAAAAMZmlsbGVkQW1vdW50BQAAAAtib25kQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAABXRvdGFsBQAAAA9uZXV0cmlub0Fzc2V0SWQFAAAAA25pbAAAAAAJin7r", "chainId": 84, "height": 710719, "spentComplexity": 0 } View: original | compacted Prev: 4kqwkxXPMgqtqzEZTvewjovLdNrnbtqA4Te7shufsrXc Next: 5PEWugAdjt3qCtGzWsuWBS6MJzeANW79VAy7s68h5zwa Diff:
OldNewDifferences
3434 }
3535
3636
37-let h = "_"
38-
39-let i = 100000000
40-
41-let j = "canceled"
42-
43-let k = "new"
44-
45-let l = "filled"
46-
47-let m = "orderbook"
48-
49-let n = "order_price_"
50-
51-let o = "order_total_"
52-
53-let p = "order_filled_total_"
54-
55-let q = "order_owner_"
56-
57-let r = "order_height_"
58-
59-let s = "order_status_"
60-
61-let t = "price"
62-
63-let u = "bond_asset_id"
64-
65-let v = "neutrino_asset_id"
66-
67-let w = "neutrino_contract"
68-
69-func x (y) = (n + y)
37+func h (b,c) = {
38+ let d = getString(this, c)
39+ if ($isInstanceOf(d, "String"))
40+ then {
41+ let e = d
42+ e
43+ }
44+ else ""
45+ }
7046
7147
72-func z (y) = (o + y)
48+let i = "_"
49+
50+let j = 100
51+
52+let k = "canceled"
53+
54+let l = "new"
55+
56+let m = "filled"
57+
58+let n = "orderbook"
59+
60+let o = "order_price_"
61+
62+let p = "order_total_"
63+
64+let q = "order_filled_total_"
65+
66+let r = "order_owner_"
67+
68+let s = "order_height_"
69+
70+let t = "order_status_"
71+
72+let u = "price"
73+
74+let v = "bond_asset_id"
75+
76+let w = "neutrino_asset_id"
77+
78+let x = "neutrino_contract"
79+
80+func y (z) = (o + z)
7381
7482
75-func A (y) = (q + y)
83+func A (z) = (p + z)
7684
7785
78-func B (y) = (r + y)
86+func B (z) = (r + z)
7987
8088
81-func C (y) = (s + y)
89+func C (z) = (s + z)
8290
8391
84-func D (y) = (p + y)
92+func D (z) = (t + z)
8593
8694
87-let E = fromBase58String(g(v))
95+func E (z) = (q + z)
8896
89-let F = fromBase58String(g(u))
9097
91-let G = g(w)
98+let F = g(x)
9299
93-let H = a(G, t)
100+let G = a(F, u)
94101
95-let I = g(m)
102+let H = fromBase58String(h(F, w))
96103
97-let J = wavesBalance(addressFromStringValue(G))
104+let I = fromBase58String(h(F, v))
98105
99-let K = {
100- let L = extract(assetInfo(E))
101- (L.quantity - assetBalance(addressFromStringValue(G), E))
106+let J = g(n)
107+
108+let K = wavesBalance(addressFromStringValue(F))
109+
110+let L = {
111+ let M = extract(assetInfo(H))
112+ (M.quantity - assetBalance(addressFromStringValue(F), H))
102113 }
103114
104-func M (N) = f(x(N))
115+func N (O) = f(y(O))
105116
106117
107-func O (N) = f(z(N))
118+func P (O) = f(A(O))
108119
109120
110-func P (N) = g(A(N))
121+func Q (O) = g(B(O))
111122
112123
113-func Q (N) = g(C(N))
124+func R (O) = g(D(O))
114125
115126
116-func R (N) = f(D(N))
127+func S (O) = f(E(O))
117128
118129
119-func S (N) = (N + h)
130+func T (O) = (O + i)
120131
121132
122-func T (y,U) = {
123- let V = split(I, h)
124- let W = S(y)
125- if ((U == 0))
126- then (W + I)
127- else if ((U >= (size(V) - 1)))
128- then (I + W)
133+func U (z,V) = {
134+ let W = split(J, i)
135+ let X = T(z)
136+ if ((V == 0))
137+ then (X + J)
138+ else if ((V >= (size(W) - 1)))
139+ then (J + X)
129140 else {
130- let X = split(I, S(V[U]))
131- (((X[0] + W) + S(V[U])) + X[1])
141+ let Y = split(J, T(W[V]))
142+ (((Y[0] + X) + T(W[V])) + Y[1])
132143 }
133144 }
134145
135146
136-func Y (y) = {
137- let X = split(I, S(y))
138- (X[0] + X[1])
147+func Z (z) = {
148+ let Y = split(J, T(z))
149+ (Y[0] + Y[1])
139150 }
140151
141152
142-@Callable(Z)
143-func setOrder (H,U) = {
144- let aa = extract(Z.payment)
145- let ab = toBase58String(keccak256((((toBytes(H) + toBytes(aa.amount)) + Z.caller.bytes) + toBytes(height))))
146- if ((aa.assetId != E))
153+@Callable(aa)
154+func setOrder (G,V) = {
155+ let ab = extract(aa.payment)
156+ let ac = toBase58String(keccak256((((toBytes(G) + toBytes(ab.amount)) + aa.caller.bytes) + toBytes(height))))
157+ if ((ab.assetId != H))
147158 then throw("can use neutrino only")
148- else if ((0 >= H))
159+ else if ((0 >= G))
149160 then throw("price less zero")
150- else if ((P(ab) != ""))
161+ else if ((Q(ac) != ""))
151162 then throw("order exists")
152163 else {
153- let V = split(I, h)
154- let ac = if ((U == 0))
164+ let W = split(J, i)
165+ let ad = if ((V == 0))
155166 then ""
156- else V[(U - 1)]
157- let ad = M(ac)
158- let ae = if (if ((ac != ""))
159- then (H > ad)
167+ else W[(V - 1)]
168+ let ae = N(ad)
169+ let af = if (if ((ad != ""))
170+ then (G > ae)
160171 else false)
161172 then true
162173 else false
163- let af = V[U]
164- let ag = M(af)
165- let ah = if ((ag >= H))
174+ let ag = W[V]
175+ let ah = N(ag)
176+ let ai = if ((ah >= G))
166177 then true
167178 else false
168- if (if (ae)
179+ if (if (af)
169180 then true
170- else ah)
171- then throw(((("invalid order isPrevOrderError:" + toString(ah)) + " isNextOrderError:") + toString(ae)))
172- else WriteSet([DataEntry(m, T(ab, U)), DataEntry(x(ab), H), DataEntry(z(ab), aa.amount), DataEntry(A(ab), toString(Z.caller)), DataEntry(B(ab), height), DataEntry(C(ab), k)])
181+ else ai)
182+ then throw(((("invalid order isPrevOrderError:" + toString(ai)) + " isNextOrderError:") + toString(af)))
183+ else WriteSet([DataEntry(n, U(ac, V)), DataEntry(y(ac), G), DataEntry(A(ac), ab.amount), DataEntry(B(ac), toString(aa.caller)), DataEntry(C(ac), height), DataEntry(D(ac), l)])
173184 }
174185 }
175186
176187
177188
178-@Callable(Z)
179-func cancelOrder (y) = {
180- let ai = P(y)
181- let aj = (O(y) - R(y))
182- if ((ai != toString(Z.caller)))
189+@Callable(aa)
190+func cancelOrder (z) = {
191+ let aj = Q(z)
192+ let ak = (P(z) - S(z))
193+ if ((aj != toString(aa.caller)))
183194 then throw("permission denied")
184- else ScriptResult(WriteSet([DataEntry(m, Y(y)), DataEntry(C(y), j)]), TransferSet([ScriptTransfer(Z.caller, aj, E)]))
195+ else ScriptResult(WriteSet([DataEntry(n, Z(z)), DataEntry(D(z), k)]), TransferSet([ScriptTransfer(aa.caller, ak, H)]))
185196 }
186197
187198
188199
189-@Callable(Z)
200+@Callable(aa)
190201 func executeOrder () = {
191- let ak = assetBalance(this, F)
192- let al = ((K - ((J * H) / 100)) / i)
193- let am = if ((0 >= al))
202+ let al = assetBalance(this, I)
203+ let am = ((L - ((K * G) / 100)) / j)
204+ let an = if ((0 >= am))
194205 then 0
195- else al
196- let an = if ((am >= ak))
197- then ak
198206 else am
199- let ao = if ((am >= ak))
207+ let ao = if ((an >= al))
208+ then al
209+ else an
210+ let ap = if ((an >= al))
200211 then 0
201- else (ak - am)
202- if ((an == 0))
203- then TransferSet([ScriptTransfer(addressFromStringValue(G), ao, F)])
212+ else (al - an)
213+ if ((ao == 0))
214+ then TransferSet([ScriptTransfer(addressFromStringValue(F), ap, I)])
204215 else {
205- let y = split(I, h)[0]
206- let ap = R(y)
207- let aq = O(y)
208- let ar = M(y)
209- let as = P(y)
210- let aj = ((((aq - ap) * 100) / ar) / i)
211- let at = if ((an >= aj))
212- then Y(y)
213- else I
214- let au = if ((an >= aj))
215- then aj
216- else an
217- let av = (((au * ar) / 100) * i)
218- let aw = if ((an >= aj))
219- then l
220- else k
221- ScriptResult(WriteSet([DataEntry(m, at), DataEntry(D(y), (ap + av)), DataEntry(C(y), aw)]), TransferSet([ScriptTransfer(addressFromStringValue(as), au, F), ScriptTransfer(addressFromStringValue(G), av, E)]))
216+ let z = split(J, i)[0]
217+ let aq = S(z)
218+ let ar = P(z)
219+ let as = N(z)
220+ let at = Q(z)
221+ let ak = ((((ar - aq) * 100) / as) / j)
222+ let au = if ((ao >= ak))
223+ then Z(z)
224+ else J
225+ let av = if ((ao >= ak))
226+ then ak
227+ else ao
228+ let aw = (((av * as) / 100) * j)
229+ let ax = if ((ao >= ak))
230+ then m
231+ else l
232+ ScriptResult(WriteSet([DataEntry(n, au), DataEntry(E(z), (aq + aw)), DataEntry(D(z), ax)]), TransferSet([ScriptTransfer(addressFromStringValue(at), av, I), ScriptTransfer(addressFromStringValue(F), aw, H)]))
222233 }
223234 }
224235
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = {
55 let d = getInteger(addressFromStringValue(b), c)
66 if ($isInstanceOf(d, "Int"))
77 then {
88 let e = d
99 e
1010 }
1111 else 0
1212 }
1313
1414
1515 func f (c) = {
1616 let d = getInteger(this, c)
1717 if ($isInstanceOf(d, "Int"))
1818 then {
1919 let e = d
2020 e
2121 }
2222 else 0
2323 }
2424
2525
2626 func g (c) = {
2727 let d = getString(this, c)
2828 if ($isInstanceOf(d, "String"))
2929 then {
3030 let e = d
3131 e
3232 }
3333 else ""
3434 }
3535
3636
37-let h = "_"
38-
39-let i = 100000000
40-
41-let j = "canceled"
42-
43-let k = "new"
44-
45-let l = "filled"
46-
47-let m = "orderbook"
48-
49-let n = "order_price_"
50-
51-let o = "order_total_"
52-
53-let p = "order_filled_total_"
54-
55-let q = "order_owner_"
56-
57-let r = "order_height_"
58-
59-let s = "order_status_"
60-
61-let t = "price"
62-
63-let u = "bond_asset_id"
64-
65-let v = "neutrino_asset_id"
66-
67-let w = "neutrino_contract"
68-
69-func x (y) = (n + y)
37+func h (b,c) = {
38+ let d = getString(this, c)
39+ if ($isInstanceOf(d, "String"))
40+ then {
41+ let e = d
42+ e
43+ }
44+ else ""
45+ }
7046
7147
72-func z (y) = (o + y)
48+let i = "_"
49+
50+let j = 100
51+
52+let k = "canceled"
53+
54+let l = "new"
55+
56+let m = "filled"
57+
58+let n = "orderbook"
59+
60+let o = "order_price_"
61+
62+let p = "order_total_"
63+
64+let q = "order_filled_total_"
65+
66+let r = "order_owner_"
67+
68+let s = "order_height_"
69+
70+let t = "order_status_"
71+
72+let u = "price"
73+
74+let v = "bond_asset_id"
75+
76+let w = "neutrino_asset_id"
77+
78+let x = "neutrino_contract"
79+
80+func y (z) = (o + z)
7381
7482
75-func A (y) = (q + y)
83+func A (z) = (p + z)
7684
7785
78-func B (y) = (r + y)
86+func B (z) = (r + z)
7987
8088
81-func C (y) = (s + y)
89+func C (z) = (s + z)
8290
8391
84-func D (y) = (p + y)
92+func D (z) = (t + z)
8593
8694
87-let E = fromBase58String(g(v))
95+func E (z) = (q + z)
8896
89-let F = fromBase58String(g(u))
9097
91-let G = g(w)
98+let F = g(x)
9299
93-let H = a(G, t)
100+let G = a(F, u)
94101
95-let I = g(m)
102+let H = fromBase58String(h(F, w))
96103
97-let J = wavesBalance(addressFromStringValue(G))
104+let I = fromBase58String(h(F, v))
98105
99-let K = {
100- let L = extract(assetInfo(E))
101- (L.quantity - assetBalance(addressFromStringValue(G), E))
106+let J = g(n)
107+
108+let K = wavesBalance(addressFromStringValue(F))
109+
110+let L = {
111+ let M = extract(assetInfo(H))
112+ (M.quantity - assetBalance(addressFromStringValue(F), H))
102113 }
103114
104-func M (N) = f(x(N))
115+func N (O) = f(y(O))
105116
106117
107-func O (N) = f(z(N))
118+func P (O) = f(A(O))
108119
109120
110-func P (N) = g(A(N))
121+func Q (O) = g(B(O))
111122
112123
113-func Q (N) = g(C(N))
124+func R (O) = g(D(O))
114125
115126
116-func R (N) = f(D(N))
127+func S (O) = f(E(O))
117128
118129
119-func S (N) = (N + h)
130+func T (O) = (O + i)
120131
121132
122-func T (y,U) = {
123- let V = split(I, h)
124- let W = S(y)
125- if ((U == 0))
126- then (W + I)
127- else if ((U >= (size(V) - 1)))
128- then (I + W)
133+func U (z,V) = {
134+ let W = split(J, i)
135+ let X = T(z)
136+ if ((V == 0))
137+ then (X + J)
138+ else if ((V >= (size(W) - 1)))
139+ then (J + X)
129140 else {
130- let X = split(I, S(V[U]))
131- (((X[0] + W) + S(V[U])) + X[1])
141+ let Y = split(J, T(W[V]))
142+ (((Y[0] + X) + T(W[V])) + Y[1])
132143 }
133144 }
134145
135146
136-func Y (y) = {
137- let X = split(I, S(y))
138- (X[0] + X[1])
147+func Z (z) = {
148+ let Y = split(J, T(z))
149+ (Y[0] + Y[1])
139150 }
140151
141152
142-@Callable(Z)
143-func setOrder (H,U) = {
144- let aa = extract(Z.payment)
145- let ab = toBase58String(keccak256((((toBytes(H) + toBytes(aa.amount)) + Z.caller.bytes) + toBytes(height))))
146- if ((aa.assetId != E))
153+@Callable(aa)
154+func setOrder (G,V) = {
155+ let ab = extract(aa.payment)
156+ let ac = toBase58String(keccak256((((toBytes(G) + toBytes(ab.amount)) + aa.caller.bytes) + toBytes(height))))
157+ if ((ab.assetId != H))
147158 then throw("can use neutrino only")
148- else if ((0 >= H))
159+ else if ((0 >= G))
149160 then throw("price less zero")
150- else if ((P(ab) != ""))
161+ else if ((Q(ac) != ""))
151162 then throw("order exists")
152163 else {
153- let V = split(I, h)
154- let ac = if ((U == 0))
164+ let W = split(J, i)
165+ let ad = if ((V == 0))
155166 then ""
156- else V[(U - 1)]
157- let ad = M(ac)
158- let ae = if (if ((ac != ""))
159- then (H > ad)
167+ else W[(V - 1)]
168+ let ae = N(ad)
169+ let af = if (if ((ad != ""))
170+ then (G > ae)
160171 else false)
161172 then true
162173 else false
163- let af = V[U]
164- let ag = M(af)
165- let ah = if ((ag >= H))
174+ let ag = W[V]
175+ let ah = N(ag)
176+ let ai = if ((ah >= G))
166177 then true
167178 else false
168- if (if (ae)
179+ if (if (af)
169180 then true
170- else ah)
171- then throw(((("invalid order isPrevOrderError:" + toString(ah)) + " isNextOrderError:") + toString(ae)))
172- else WriteSet([DataEntry(m, T(ab, U)), DataEntry(x(ab), H), DataEntry(z(ab), aa.amount), DataEntry(A(ab), toString(Z.caller)), DataEntry(B(ab), height), DataEntry(C(ab), k)])
181+ else ai)
182+ then throw(((("invalid order isPrevOrderError:" + toString(ai)) + " isNextOrderError:") + toString(af)))
183+ else WriteSet([DataEntry(n, U(ac, V)), DataEntry(y(ac), G), DataEntry(A(ac), ab.amount), DataEntry(B(ac), toString(aa.caller)), DataEntry(C(ac), height), DataEntry(D(ac), l)])
173184 }
174185 }
175186
176187
177188
178-@Callable(Z)
179-func cancelOrder (y) = {
180- let ai = P(y)
181- let aj = (O(y) - R(y))
182- if ((ai != toString(Z.caller)))
189+@Callable(aa)
190+func cancelOrder (z) = {
191+ let aj = Q(z)
192+ let ak = (P(z) - S(z))
193+ if ((aj != toString(aa.caller)))
183194 then throw("permission denied")
184- else ScriptResult(WriteSet([DataEntry(m, Y(y)), DataEntry(C(y), j)]), TransferSet([ScriptTransfer(Z.caller, aj, E)]))
195+ else ScriptResult(WriteSet([DataEntry(n, Z(z)), DataEntry(D(z), k)]), TransferSet([ScriptTransfer(aa.caller, ak, H)]))
185196 }
186197
187198
188199
189-@Callable(Z)
200+@Callable(aa)
190201 func executeOrder () = {
191- let ak = assetBalance(this, F)
192- let al = ((K - ((J * H) / 100)) / i)
193- let am = if ((0 >= al))
202+ let al = assetBalance(this, I)
203+ let am = ((L - ((K * G) / 100)) / j)
204+ let an = if ((0 >= am))
194205 then 0
195- else al
196- let an = if ((am >= ak))
197- then ak
198206 else am
199- let ao = if ((am >= ak))
207+ let ao = if ((an >= al))
208+ then al
209+ else an
210+ let ap = if ((an >= al))
200211 then 0
201- else (ak - am)
202- if ((an == 0))
203- then TransferSet([ScriptTransfer(addressFromStringValue(G), ao, F)])
212+ else (al - an)
213+ if ((ao == 0))
214+ then TransferSet([ScriptTransfer(addressFromStringValue(F), ap, I)])
204215 else {
205- let y = split(I, h)[0]
206- let ap = R(y)
207- let aq = O(y)
208- let ar = M(y)
209- let as = P(y)
210- let aj = ((((aq - ap) * 100) / ar) / i)
211- let at = if ((an >= aj))
212- then Y(y)
213- else I
214- let au = if ((an >= aj))
215- then aj
216- else an
217- let av = (((au * ar) / 100) * i)
218- let aw = if ((an >= aj))
219- then l
220- else k
221- ScriptResult(WriteSet([DataEntry(m, at), DataEntry(D(y), (ap + av)), DataEntry(C(y), aw)]), TransferSet([ScriptTransfer(addressFromStringValue(as), au, F), ScriptTransfer(addressFromStringValue(G), av, E)]))
216+ let z = split(J, i)[0]
217+ let aq = S(z)
218+ let ar = P(z)
219+ let as = N(z)
220+ let at = Q(z)
221+ let ak = ((((ar - aq) * 100) / as) / j)
222+ let au = if ((ao >= ak))
223+ then Z(z)
224+ else J
225+ let av = if ((ao >= ak))
226+ then ak
227+ else ao
228+ let aw = (((av * as) / 100) * j)
229+ let ax = if ((ao >= ak))
230+ then m
231+ else l
232+ ScriptResult(WriteSet([DataEntry(n, au), DataEntry(E(z), (aq + aw)), DataEntry(D(z), ax)]), TransferSet([ScriptTransfer(addressFromStringValue(at), av, I), ScriptTransfer(addressFromStringValue(F), aw, H)]))
222233 }
223234 }
224235
225236

github/deemru/w8io/873ac7e 
84.04 ms