tx · EoLSyHsy6moCym4RV4mYKg7iTAZCuhgXRVzQYzRvsJBZ 3N6qtbZbSPVcvJ1pk87e9ahdsZTjHN8e5mL: -0.01000000 Waves 2021.09.12 19:22 [1700066] smart account 3N6qtbZbSPVcvJ1pk87e9ahdsZTjHN8e5mL > SELF 0.00000000 Waves
{ "type": 13, "id": "EoLSyHsy6moCym4RV4mYKg7iTAZCuhgXRVzQYzRvsJBZ", "fee": 1000000, "feeAssetId": null, "timestamp": 1631463779883, "version": 2, "chainId": 84, "sender": "3N6qtbZbSPVcvJ1pk87e9ahdsZTjHN8e5mL", "senderPublicKey": "EYAKsFBespqQveBrfmX29rsehBJrSwQ3B6yN4ADyw8Kx", "proofs": [ "8Rn24ZViXQo6rxTXH4owhNcrrCZ67q3Rh8UHfyZGMxN3wU3RYra1X23c8Ms6cN7MhJ4zWShye344hiQQi3UrbVA" ], "script": "base64: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AAACAAAABGZsYXQEAAAACWludmFyaWFudAkBAAAADWludmFyaWFudENhbGMAAAACBQAAAA1kQXBwMVRva2VuUGF5BQAAAA1kQXBwMVRva2VuR2V0BAAAAAxpbnZhcmlhbnROZXcJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgkAAGQAAAACBQAAAA1kQXBwMVRva2VuUGF5BQAAAAlwbXRBbW91bnQJAABlAAAAAgUAAAANZEFwcDFUb2tlbkdldAkAAZEAAAACBQAAAAVhcmdzMgAAAAAAAAAAAAkAAZEAAAACBQAAAAVhcmdzMgAAAAAAAAAAAAkAAAIAAAABAgAAABdJbmNvcnJlY3QgZXhjaGFuZ2UgdHlwZQQAAAAUZ2V0RnJvbTJUcmFkZVdpdGhGZWUDCQAAAAAAAAIJAAGRAAAAAgUAAAAOZXhjaGFuZ2Vyc1R5cGUAAAAAAAAAAAECAAAABGNwbW0EAAAADWdldEZyb20yVHJhZGUJAABrAAAAAwUAAAANZEFwcDJUb2tlbkdldAUAAAAUZ2V0RnJvbTFUcmFkZVdpdGhGZWUJAABkAAAAAgUAAAAUZ2V0RnJvbTFUcmFkZVdpdGhGZWUFAAAADWRBcHAyVG9rZW5QYXkJAABrAAAAAwUAAAANZ2V0RnJvbTJUcmFkZQkAAGUAAAACBQAAABhjb21taXNzaW9uU2NhbGVEZWxpbWl0ZXIFAAAACmNvbW1pc3Npb24FAAAAGGNvbW1pc3Npb25TY2FsZURlbGltaXRlcgMJAAAAAAAAAgkAAZEAAAACBQAAAA5leGNoYW5nZXJzVHlwZQAAAAAAAAAAAQIAAAAEZmxhdAQAAAAJaW52YXJpYW50CQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAADWRBcHAyVG9rZW5QYXkFAAAADWRBcHAyVG9rZW5HZXQEAAAADGludmFyaWFudE5ldwkBAAAADWludmFyaWFudENhbGMAAAACCQAAZAAAAAIFAAAADWRBcHAyVG9rZW5QYXkFAAAAFGdldEZyb20xVHJhZGVXaXRoRmVlCQAAZQAAAAIFAAAADWRBcHAyVG9rZW5HZXQJAAGRAAAAAgUAAAAFYXJnczIAAAAAAAAAAAEJAAGRAAAAAgUAAAAFYXJnczIAAAAAAAAAAAEJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGV4Y2hhbmdlIHR5cGUDCQAAZwAAAAIFAAAAFGdldEZyb20yVHJhZGVXaXRoRmVlBQAAABJtaW5BbW91bnRUb1JlY2VpdmUGBwAAAAEAAAABaQEAAAAMcm91dGluZ1RyYWRlAAAABwAAAApleGNoYW5nZXJzAAAADmV4Y2hhbmdlcnNUeXBlAAAABWFyZ3MxAAAABWFyZ3MyAAAAEXJvdXRpbmdBc3NldHNLZXlzAAAADnJlY2VpdmVBc3NldElkAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQQAAAALJHQwMzQ1MzM1MjcJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDAzNDUzMzUyNwAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDM0NTMzNTI3AAAAAl8yAwkBAAAAASEAAAABCQEAAAAPY2hlY2tQb3NzaWJpbHR5AAAABwUAAAAJcG10QW1vdW50BQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAACmV4Y2hhbmdlcnMFAAAADmV4Y2hhbmdlcnNUeXBlBQAAABFyb3V0aW5nQXNzZXRzS2V5cwUAAAAFYXJnczEFAAAABWFyZ3MyCQAAAgAAAAECAAAAJkNoZWNrIHRyYW5zYWN0aW9uIHBvc3NpYmlsdHk6IGRlY2xpbmVkBAAAAAtyb3V0aW5nU2l6ZQkAAZAAAAABBQAAAApleGNoYW5nZXJzCgEAAAAMZXhjaGFuZ2VGb2xkAAAAAgAAAAthY2N1bXVsYXRlZAAAAAlleGNoYW5nZXIEAAAACyR0MDM4MjYzODg5BQAAAAthY2N1bXVsYXRlZAQAAAAPZXhjaGFuZ2VDb3VudGVyCAUAAAALJHQwMzgyNjM4ODkAAAACXzEEAAAADmFtb3VudHNXaXRoRmVlCAUAAAALJHQwMzgyNjM4ODkAAAACXzIEAAAADGFzc2V0c0lkU2VuZAgFAAAACyR0MDM4MjYzODg5AAAAAl8zAwkAAAAAAAACBQAAAA9leGNoYW5nZUNvdW50ZXIAAAAAAAAAAAAEAAAAEGV4Y2hhbmdlckFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAACWV4Y2hhbmdlcgQAAAADaW52AwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlBQAAAA9leGNoYW5nZUNvdW50ZXICAAAABGNwbW0JAAP8AAAABAUAAAAQZXhjaGFuZ2VyQWRkcmVzcwIAAAAIZXhjaGFuZ2UJAARMAAAAAgkAAZEAAAACBQAAAAVhcmdzMQUAAAAPZXhjaGFuZ2VDb3VudGVyBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAACnBtdEFzc2V0SWQFAAAACXBtdEFtb3VudAUAAAADbmlsAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlBQAAAA9leGNoYW5nZUNvdW50ZXICAAAABGZsYXQJAAP8AAAABAUAAAAQZXhjaGFuZ2VyQWRkcmVzcwIAAAAIZXhjaGFuZ2UJAARMAAAAAgkAAZEAAAACBQAAAAVhcmdzMQUAAAAPZXhjaGFuZ2VDb3VudGVyCQAETAAAAAIJAAGRAAAAAgUAAAAFYXJnczIFAAAAD2V4Y2hhbmdlQ291bnRlcgUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAApwbXRBc3NldElkBQAAAAlwbXRBbW91bnQFAAAAA25pbAkAAAIAAAABAgAAABdJbmNvcnJlY3QgZXhjaGFuZ2UgdHlwZQMJAAAAAAAAAgUAAAADaW52BQAAAANpbnYEAAAAByRtYXRjaDAFAAAAA2ludgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAARKEludCwgQnl0ZVZlY3RvcikEAAAAA2ludgUAAAAHJG1hdGNoMAQAAAALJHQwNDU4NTQ2MjMFAAAAA2ludgQAAAANYW1vdW50V2l0aEZlZQgFAAAACyR0MDQ1ODU0NjIzAAAAAl8xBAAAAAthc3NldElkU2VuZAgFAAAACyR0MDQ1ODU0NjIzAAAAAl8yCQAFFQAAAAMJAABkAAAAAgUAAAAPZXhjaGFuZ2VDb3VudGVyAAAAAAAAAAABBQAAAA1hbW91bnRXaXRoRmVlBQAAAAthc3NldElkU2VuZAkAAAIAAAABAgAAAEBJbmNvcnJlY3QgaW52b2tlIHJlc3VsdDogZXhwZWN0ZWQgYW1vdW50V2l0aEZlZSBhbmQgYXNzZXRzSWRTZW5kCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMDCQAAZgAAAAIFAAAAD2V4Y2hhbmdlQ291bnRlcgAAAAAAAAAAAAkAAGYAAAACBQAAAAtyb3V0aW5nU2l6ZQUAAAAPZXhjaGFuZ2VDb3VudGVyBwQAAAAQZXhjaGFuZ2VyQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAJZXhjaGFuZ2VyBAAAAAskdDA0OTY5NTAzNQkABRQAAAACBQAAAAxhc3NldHNJZFNlbmQFAAAADmFtb3VudHNXaXRoRmVlBAAAAA5wbXRBc3NldElkUm91dAgFAAAACyR0MDQ5Njk1MDM1AAAAAl8xBAAAAA1wbXRBbW91bnRSb3V0CAUAAAALJHQwNDk2OTUwMzUAAAACXzIEAAAAA2ludgMJAAAAAAAAAgkAAZEAAAACBQAAAA5leGNoYW5nZXJzVHlwZQUAAAAPZXhjaGFuZ2VDb3VudGVyAgAAAARjcG1tCQAD/AAAAAQFAAAAEGV4Y2hhbmdlckFkZHJlc3MCAAAACGV4Y2hhbmdlCQAETAAAAAIJAAGRAAAAAgUAAAAFYXJnczEFAAAAD2V4Y2hhbmdlQ291bnRlcgUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAA5wbXRBc3NldElkUm91dAUAAAANcG10QW1vdW50Um91dAUAAAADbmlsAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlBQAAAA9leGNoYW5nZUNvdW50ZXICAAAABGZsYXQJAAP8AAAABAUAAAAQZXhjaGFuZ2VyQWRkcmVzcwIAAAAIZXhjaGFuZ2UJAARMAAAAAgkAAZEAAAACBQAAAAVhcmdzMQUAAAAPZXhjaGFuZ2VDb3VudGVyCQAETAAAAAIJAAGRAAAAAgUAAAAFYXJnczIFAAAAD2V4Y2hhbmdlQ291bnRlcgUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAA5wbXRBc3NldElkUm91dAUAAAANcG10QW1vdW50Um91dAUAAAADbmlsCQAAAgAAAAECAAAAF0luY29ycmVjdCBleGNoYW5nZSB0eXBlAwkAAAAAAAACBQAAAANpbnYFAAAAA2ludgQAAAAHJG1hdGNoMAUAAAADaW52AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABEoSW50LCBCeXRlVmVjdG9yKQQAAAADaW52BQAAAAckbWF0Y2gwBAAAAAskdDA1NjQwNTY3OAUAAAADaW52BAAAAA1hbW91bnRXaXRoRmVlCAUAAAALJHQwNTY0MDU2NzgAAAACXzEEAAAAC2Fzc2V0SWRTZW5kCAUAAAALJHQwNTY0MDU2NzgAAAACXzIJAAUVAAAAAwkAAGQAAAACBQAAAA9leGNoYW5nZUNvdW50ZXIAAAAAAAAAAAEFAAAADWFtb3VudFdpdGhGZWUFAAAAC2Fzc2V0SWRTZW5kCQAAAgAAAAECAAAAQEluY29ycmVjdCBpbnZva2UgcmVzdWx0OiBleHBlY3RlZCBhbW91bnRXaXRoRmVlIGFuZCBhc3NldHNJZFNlbmQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBQAAAAthY2N1bXVsYXRlZAQAAAALJHQwNTkxNjYwMTcEAAAADSRsaXN0NTk2ODYwMTcFAAAACmV4Y2hhbmdlcnMEAAAADSRzaXplNTk2ODYwMTcJAAGQAAAAAQUAAAANJGxpc3Q1OTY4NjAxNwQAAAANJGFjYzA1OTY4NjAxNwkABRUAAAADAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADCQAAAAAAAAIFAAAADSRzaXplNTk2ODYwMTcAAAAAAAAAAAAFAAAADSRhY2MwNTk2ODYwMTcEAAAADSRhY2MxNTk2ODYwMTcJAQAAAAxleGNoYW5nZUZvbGQAAAACBQAAAA0kYWNjMDU5Njg2MDE3CQABkQAAAAIFAAAADSRsaXN0NTk2ODYwMTcAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplNTk2ODYwMTcAAAAAAAAAAAEFAAAADSRhY2MxNTk2ODYwMTcEAAAADSRhY2MyNTk2ODYwMTcJAQAAAAxleGNoYW5nZUZvbGQAAAACBQAAAA0kYWNjMTU5Njg2MDE3CQABkQAAAAIFAAAADSRsaXN0NTk2ODYwMTcAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNTk2ODYwMTcAAAAAAAAAAAIFAAAADSRhY2MyNTk2ODYwMTcEAAAADSRhY2MzNTk2ODYwMTcJAQAAAAxleGNoYW5nZUZvbGQAAAACBQAAAA0kYWNjMjU5Njg2MDE3CQABkQAAAAIFAAAADSRsaXN0NTk2ODYwMTcAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNTk2ODYwMTcAAAAAAAAAAAMFAAAADSRhY2MzNTk2ODYwMTcEAAAADSRhY2M0NTk2ODYwMTcJAQAAAAxleGNoYW5nZUZvbGQAAAACBQAAAA0kYWNjMzU5Njg2MDE3CQABkQAAAAIFAAAADSRsaXN0NTk2ODYwMTcAAAAAAAAAAAMJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCAzBAAAAA9leGNoYW5nZUNvdW50ZXIIBQAAAAskdDA1OTE2NjAxNwAAAAJfMQQAAAAOYW1vdW50c1dpdGhGZWUIBQAAAAskdDA1OTE2NjAxNwAAAAJfMgQAAAAMYXNzZXRzSWRTZW5kCAUAAAALJHQwNTkxNjYwMTcAAAACXzMEAAAAD2Ftb3VudFRvUmVjaWV2ZQkAA/AAAAACBQAAAAR0aGlzBQAAAA5yZWNlaXZlQXNzZXRJZAMDCQAAAAAAAAIFAAAAD2V4Y2hhbmdlQ291bnRlcgUAAAALcm91dGluZ1NpemUJAABnAAAAAgUAAAAPYW1vdW50VG9SZWNpZXZlBQAAABJtaW5BbW91bnRUb1JlY2VpdmUHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAPYW1vdW50VG9SZWNpZXZlBQAAAA5yZWNlaXZlQXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAPnJvdXRpbmcgIT0gcm91dGluZ1NpemUgb3IgYW1vdW50VG9SZWNpZXZlIDwgbWluQW1vdW50VG9SZWNlaXZlAAAAAFqaUq8=", "height": 1700066, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CdZYon4JJbf1r9uhhso9PRSwSiUCNPGZ4aFQtib4u91i Next: 5P6aTYNSWLn5uR8Kfe2bFgf3t8qgtJMmgaixhRfNCX7w Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | func a (b,c,d,e,f) = { | |
5 | - | let g = 3000 | |
6 | - | let h = 1000000 | |
7 | - | let i = getIntegerValue(addressFromStringValue(d[0]), f[0]) | |
8 | - | let j = getIntegerValue(addressFromStringValue(d[0]), f[1]) | |
9 | - | let k = getIntegerValue(addressFromStringValue(d[1]), f[2]) | |
10 | - | let l = getIntegerValue(addressFromStringValue(d[1]), f[3]) | |
11 | - | let m = fraction(j, b, (b + i)) | |
12 | - | let n = fraction(m, (h - g), h) | |
13 | - | let o = fraction(l, n, (n + k)) | |
14 | - | let p = fraction(o, (h - g), h) | |
15 | - | if ((p >= c)) | |
4 | + | let a = 8 | |
5 | + | ||
6 | + | let b = 100000000 | |
7 | + | ||
8 | + | let c = 1000000000000 | |
9 | + | ||
10 | + | let d = 50 | |
11 | + | ||
12 | + | let e = 2 | |
13 | + | ||
14 | + | let f = 46000000 | |
15 | + | ||
16 | + | func g (h,i) = (((fraction(c, h, i) + fraction(c, i, h)) / 2) / 10000) | |
17 | + | ||
18 | + | ||
19 | + | func j (h,i) = { | |
20 | + | let k = g(h, i) | |
21 | + | (fraction((h + i), b, pow(k, a, d, e, a, CEILING)) + (2 * fraction(pow(fraction(h, i, b), 0, 5, 1, (a / 2), DOWN), pow((k - f), a, d, e, a, DOWN), b))) | |
22 | + | } | |
23 | + | ||
24 | + | ||
25 | + | func l (m,n,o,p,q,r,s) = { | |
26 | + | let t = 3000 | |
27 | + | let u = 1000000 | |
28 | + | let v = getIntegerValue(addressFromStringValue(o[0]), q[0]) | |
29 | + | let w = getIntegerValue(addressFromStringValue(o[0]), q[1]) | |
30 | + | let x = getIntegerValue(addressFromStringValue(o[1]), q[2]) | |
31 | + | let y = getIntegerValue(addressFromStringValue(o[1]), q[3]) | |
32 | + | let z = if ((p[0] == "cpmm")) | |
33 | + | then { | |
34 | + | let A = fraction(w, m, (m + v)) | |
35 | + | fraction(A, (u - t), u) | |
36 | + | } | |
37 | + | else if ((p[0] == "flat")) | |
38 | + | then { | |
39 | + | let B = j(v, w) | |
40 | + | let C = j((v + m), (w - s[0])) | |
41 | + | s[0] | |
42 | + | } | |
43 | + | else throw("Incorrect exchange type") | |
44 | + | let D = if ((p[1] == "cpmm")) | |
45 | + | then { | |
46 | + | let E = fraction(y, z, (z + x)) | |
47 | + | fraction(E, (u - t), u) | |
48 | + | } | |
49 | + | else if ((p[1] == "flat")) | |
50 | + | then { | |
51 | + | let B = j(x, y) | |
52 | + | let C = j((x + z), (y - s[1])) | |
53 | + | s[1] | |
54 | + | } | |
55 | + | else throw("Incorrect exchange type") | |
56 | + | if ((D >= n)) | |
16 | 57 | then true | |
17 | 58 | else false | |
18 | 59 | } | |
19 | 60 | ||
20 | 61 | ||
21 | - | @Callable(q) | |
22 | - | func routingTrade (d,e,r,s,f,t,c) = { | |
23 | - | let u = $Tuple2(q.payments[0].amount, q.payments[0].assetId) | |
24 | - | let b = u._1 | |
25 | - | let v = u._2 | |
26 | - | let w = size(d) | |
27 | - | func x (y,z) = { | |
28 | - | let A = y | |
29 | - | let B = A._1 | |
30 | - | let C = A._2 | |
31 | - | let D = A._3 | |
32 | - | if ((B == 0)) | |
33 | - | then { | |
34 | - | let E = addressFromStringValue(z) | |
35 | - | let F = if ((e[B] == "cpmm")) | |
36 | - | then invoke(E, "exchange", [r[B]], [AttachedPayment(v, b)]) | |
37 | - | else if ((e[B] == "flat")) | |
38 | - | then invoke(E, "exchange", [r[B], s[B]], [AttachedPayment(v, b)]) | |
39 | - | else throw("Incorrect exchange type") | |
40 | - | if ((F == F)) | |
62 | + | @Callable(F) | |
63 | + | func routingTrade (o,p,r,s,q,G,n) = { | |
64 | + | let H = $Tuple2(F.payments[0].amount, F.payments[0].assetId) | |
65 | + | let m = H._1 | |
66 | + | let I = H._2 | |
67 | + | if (!(l(m, n, o, p, q, r, s))) | |
68 | + | then throw("Check transaction possibilty: declined") | |
69 | + | else { | |
70 | + | let J = size(o) | |
71 | + | func K (L,M) = { | |
72 | + | let N = L | |
73 | + | let O = N._1 | |
74 | + | let P = N._2 | |
75 | + | let Q = N._3 | |
76 | + | if ((O == 0)) | |
41 | 77 | then { | |
42 | - | let G = F | |
43 | - | if ($isInstanceOf(G, "(Int, ByteVector)")) | |
78 | + | let R = addressFromStringValue(M) | |
79 | + | let S = if ((p[O] == "cpmm")) | |
80 | + | then invoke(R, "exchange", [r[O]], [AttachedPayment(I, m)]) | |
81 | + | else if ((p[O] == "flat")) | |
82 | + | then invoke(R, "exchange", [r[O], s[O]], [AttachedPayment(I, m)]) | |
83 | + | else throw("Incorrect exchange type") | |
84 | + | if ((S == S)) | |
44 | 85 | then { | |
45 | - | let F = G | |
46 | - | let H = F | |
47 | - | let I = H._1 | |
48 | - | let J = H._2 | |
49 | - | $Tuple3((B + 1), I, J) | |
86 | + | let T = S | |
87 | + | if ($isInstanceOf(T, "(Int, ByteVector)")) | |
88 | + | then { | |
89 | + | let S = T | |
90 | + | let U = S | |
91 | + | let V = U._1 | |
92 | + | let W = U._2 | |
93 | + | $Tuple3((O + 1), V, W) | |
94 | + | } | |
95 | + | else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend") | |
50 | 96 | } | |
51 | - | else throw(" | |
97 | + | else throw("Strict value is not equal to itself.") | |
52 | 98 | } | |
53 | - | else throw("Strict value is not equal to itself.") | |
99 | + | else if (if ((O > 0)) | |
100 | + | then (J > O) | |
101 | + | else false) | |
102 | + | then { | |
103 | + | let R = addressFromStringValue(M) | |
104 | + | let X = $Tuple2(Q, P) | |
105 | + | let Y = X._1 | |
106 | + | let Z = X._2 | |
107 | + | let S = if ((p[O] == "cpmm")) | |
108 | + | then invoke(R, "exchange", [r[O]], [AttachedPayment(Y, Z)]) | |
109 | + | else if ((p[O] == "flat")) | |
110 | + | then invoke(R, "exchange", [r[O], s[O]], [AttachedPayment(Y, Z)]) | |
111 | + | else throw("Incorrect exchange type") | |
112 | + | if ((S == S)) | |
113 | + | then { | |
114 | + | let T = S | |
115 | + | if ($isInstanceOf(T, "(Int, ByteVector)")) | |
116 | + | then { | |
117 | + | let S = T | |
118 | + | let aa = S | |
119 | + | let V = aa._1 | |
120 | + | let W = aa._2 | |
121 | + | $Tuple3((O + 1), V, W) | |
122 | + | } | |
123 | + | else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend") | |
124 | + | } | |
125 | + | else throw("Strict value is not equal to itself.") | |
126 | + | } | |
127 | + | else L | |
54 | 128 | } | |
55 | - | else if (if ((B > 0)) | |
56 | - | then (w > B) | |
57 | - | else false) | |
58 | - | then { | |
59 | - | let E = addressFromStringValue(z) | |
60 | - | let K = $Tuple2(D, C) | |
61 | - | let L = K._1 | |
62 | - | let M = K._2 | |
63 | - | let F = if ((e[B] == "cpmm")) | |
64 | - | then invoke(E, "exchange", [r[B]], [AttachedPayment(L, M)]) | |
65 | - | else if ((e[B] == "flat")) | |
66 | - | then invoke(E, "exchange", [r[B], s[B]], [AttachedPayment(L, M)]) | |
67 | - | else throw("Incorrect exchange type") | |
68 | - | if ((F == F)) | |
69 | - | then { | |
70 | - | let G = F | |
71 | - | if ($isInstanceOf(G, "(Int, ByteVector)")) | |
72 | - | then { | |
73 | - | let F = G | |
74 | - | let N = F | |
75 | - | let I = N._1 | |
76 | - | let J = N._2 | |
77 | - | $Tuple3((B + 1), I, J) | |
78 | - | } | |
79 | - | else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend") | |
80 | - | } | |
81 | - | else throw("Strict value is not equal to itself.") | |
82 | - | } | |
83 | - | else y | |
84 | - | } | |
85 | 129 | ||
86 | - | let O = { | |
87 | - | let P = d | |
88 | - | let Q = size(P) | |
89 | - | let R = $Tuple3(0, 0, base58'') | |
90 | - | if ((Q == 0)) | |
91 | - | then R | |
92 | - | else { | |
93 | - | let S = x(R, P[0]) | |
94 | - | if ((Q == 1)) | |
95 | - | then S | |
130 | + | let ab = { | |
131 | + | let ac = o | |
132 | + | let ad = size(ac) | |
133 | + | let ae = $Tuple3(0, 0, base58'') | |
134 | + | if ((ad == 0)) | |
135 | + | then ae | |
96 | 136 | else { | |
97 | - | let | |
98 | - | if (( | |
99 | - | then | |
137 | + | let af = K(ae, ac[0]) | |
138 | + | if ((ad == 1)) | |
139 | + | then af | |
100 | 140 | else { | |
101 | - | let | |
102 | - | if (( | |
103 | - | then | |
141 | + | let ag = K(af, ac[1]) | |
142 | + | if ((ad == 2)) | |
143 | + | then ag | |
104 | 144 | else { | |
105 | - | let V = x(U, P[3]) | |
106 | - | throw("List size exceed 3") | |
145 | + | let ah = K(ag, ac[2]) | |
146 | + | if ((ad == 3)) | |
147 | + | then ah | |
148 | + | else { | |
149 | + | let ai = K(ah, ac[3]) | |
150 | + | throw("List size exceed 3") | |
151 | + | } | |
107 | 152 | } | |
108 | 153 | } | |
109 | 154 | } | |
110 | 155 | } | |
111 | - | | |
112 | - | let | |
113 | - | let | |
114 | - | let | |
115 | - | | |
116 | - | | |
117 | - | | |
118 | - | | |
119 | - | | |
120 | - | | |
156 | + | let O = ab._1 | |
157 | + | let P = ab._2 | |
158 | + | let Q = ab._3 | |
159 | + | let aj = assetBalance(this, G) | |
160 | + | if (if ((O == J)) | |
161 | + | then (aj >= n) | |
162 | + | else false) | |
163 | + | then [ScriptTransfer(F.caller, aj, G)] | |
164 | + | else throw("routing != routingSize or amountToRecieve < minAmountToReceive") | |
165 | + | } | |
121 | 166 | } | |
122 | 167 | ||
123 | 168 |
github/deemru/w8io/026f985 38.70 ms ◑