tx · 6pY4yMBpLk5GE1MkQnhFkaPwuk5Y6BVPt7FEDKV6pebE

3N6qtbZbSPVcvJ1pk87e9ahdsZTjHN8e5mL:  -0.01000000 Waves

2021.08.31 23:55 [1683025] smart account 3N6qtbZbSPVcvJ1pk87e9ahdsZTjHN8e5mL > SELF 0.00000000 Waves

{ "type": 13, "id": "6pY4yMBpLk5GE1MkQnhFkaPwuk5Y6BVPt7FEDKV6pebE", "fee": 1000000, "feeAssetId": null, "timestamp": 1630443308958, "version": 2, "chainId": 84, "sender": "3N6qtbZbSPVcvJ1pk87e9ahdsZTjHN8e5mL", "senderPublicKey": "EYAKsFBespqQveBrfmX29rsehBJrSwQ3B6yN4ADyw8Kx", "proofs": [ "JhbwMDxRRhMAD3M8iFRP97kgL7pVDbCtDgy5EX3iLHJXC1PGx7vMrGwG2rhGro3yTefhjPa3FRrZRqHFed9B9tC" ], "script": "base64:AAIFAAAAAAAAAoQIAhIGCgQYEQIBGgcKAmExEgFpGhAKAmEyEgpleGNoYW5nZXJzGgoKAmEzEgRhcmdzGhQKAmE0Eg5yZWNlaXZlQXNzZXRJZBoYCgJhNRISbWluQW1vdW50VG9SZWNlaXZlGhEKAmE2Egtyb3V0aW5nU2l6ZRoSCgJhNxIMZXhjaGFuZ2VGb2xkGhEKAmE4EgthY2N1bXVsYXRlZBoPCgJhORIJZXhjaGFuZ2VyGg8KAmIxEgkkdDA5MzU5OTgaFQoCYjISD2V4Y2hhbmdlQ291bnRlchoUCgJiMxIOYW1vdW50c1dpdGhGZWUaEgoCYjQSDGFzc2V0c0lkU2VuZBoWCgJiNRIQZXhjaGFuZ2VyQWRkcmVzcxoRCgJiNhILJHQwMTExODExOTIaDwoCYjcSCXBtdEFtb3VudBoQCgJiOBIKcG10QXNzZXRJZBoJCgJiORIDaW52Gg0KAmMxEgckbWF0Y2gwGhEKAmMyEgskdDAxNDIwMTQ1OBoTCgJjMxINYW1vdW50V2l0aEZlZRoRCgJjNBILYXNzZXRJZFNlbmQaEQoCYzUSCyR0MDE5NjMyMTE1GhEKAmM2EgskdDAyMzQzMjM4MRoRCgJjNxILJHQwMjYxOTI3MjAaEwoCYzgSDSRsaXN0MjY3MTI3MjAaEwoCYzkSDSRzaXplMjY3MTI3MjAaEwoCZDESDSRhY2MwMjY3MTI3MjAaEwoCZDISDSRhY2MxMjY3MTI3MjAaEwoCZDMSDSRhY2MyMjY3MTI3MjAaEwoCZDQSDSRhY2MzMjY3MTI3MjAaEwoCZDUSDSRhY2M0MjY3MTI3MjAaFQoCZDYSD2Ftb3VudFRvUmVjaWV2ZQAAAAAAAAABAAAAAmExAQAAAAxyb3V0aW5nVHJhZGUAAAAEAAAAAmEyAAAAAmEzAAAAAmE0AAAAAmE1BAAAAAJhNgkAAZAAAAABBQAAAAJhMgoBAAAAAmE3AAAAAgAAAAJhOAAAAAJhOQQAAAACYjEFAAAAAmE4BAAAAAJiMggFAAAAAmIxAAAAAl8xBAAAAAJiMwgFAAAAAmIxAAAAAl8yBAAAAAJiNAgFAAAAAmIxAAAAAl8zAwkAAAAAAAACBQAAAAJiMgAAAAAAAAAAAAQAAAACYjUJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAAmE5BAAAAAJiNgkABRQAAAACCAkAAZEAAAACCAUAAAACYTEAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAACYTEAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAACYjcIBQAAAAJiNgAAAAJfMQQAAAACYjgIBQAAAAJiNgAAAAJfMgQAAAACYjkJAAP8AAAABAUAAAACYjUCAAAACGV4Y2hhbmdlCQAETAAAAAIJAAGRAAAAAgUAAAACYTMFAAAAAmIyBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAAmI4BQAAAAJiNwUAAAADbmlsAwkAAAAAAAACBQAAAAJiOQUAAAACYjkEAAAAAmMxBQAAAAJiOQMJAAABAAAAAgUAAAACYzECAAAAEShJbnQsIEJ5dGVWZWN0b3IpBAAAAAJiOQUAAAACYzEEAAAAAmMyBQAAAAJiOQQAAAACYzMIBQAAAAJjMgAAAAJfMQQAAAACYzQIBQAAAAJjMgAAAAJfMgkABRUAAAADCQAAZAAAAAIFAAAAAmIyAAAAAAAAAAABBQAAAAJjMwUAAAACYzQJAAACAAAAAQIAAABASW5jb3JyZWN0IGludm9rZSByZXN1bHQ6IGV4cGVjdGVkIGFtb3VudFdpdGhGZWUgYW5kIGFzc2V0c0lkU2VuZAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAZgAAAAIFAAAAAmIyAAAAAAAAAAABCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAJiMgIAAAABIAkAAlgAAAABBQAAAAJiNAIAAAABIAkAAaQAAAABBQAAAAJiMwMDCQAAZgAAAAIFAAAAAmIyAAAAAAAAAAAACQAAZgAAAAIFAAAAAmE2BQAAAAJiMgcEAAAAAmI1CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAJhOQQAAAACYzUJAAUUAAAAAgUAAAACYjQFAAAAAmIzBAAAAAJiOAgFAAAAAmM1AAAAAl8xBAAAAAJiNwgFAAAAAmM1AAAAAl8yBAAAAAJiOQkAA/wAAAAEBQAAAAJiNQIAAAAIZXhjaGFuZ2UJAARMAAAAAgkAAZEAAAACBQAAAAJhMwUAAAACYjIFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAACYjgFAAAAAmI3BQAAAANuaWwDCQAAAAAAAAIFAAAAAmI5BQAAAAJiOQQAAAACYzEFAAAAAmI5AwkAAAEAAAACBQAAAAJjMQIAAAARKEludCwgQnl0ZVZlY3RvcikEAAAAAmI5BQAAAAJjMQQAAAACYzYFAAAAAmI5BAAAAAJjMwgFAAAAAmM2AAAAAl8xBAAAAAJjNAgFAAAAAmM2AAAAAl8yCQAFFQAAAAMJAABkAAAAAgUAAAACYjIAAAAAAAAAAAEFAAAAAmMzBQAAAAJjNAkAAAIAAAABAgAAAEBJbmNvcnJlY3QgaW52b2tlIHJlc3VsdDogZXhwZWN0ZWQgYW1vdW50V2l0aEZlZSBhbmQgYXNzZXRzSWRTZW5kCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUAAAACYTgEAAAAAmM3BAAAAAJjOAUAAAACYTIEAAAAAmM5CQABkAAAAAEFAAAAAmM4BAAAAAJkMQkABRUAAAADAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADCQAAAAAAAAIFAAAAAmM5AAAAAAAAAAAABQAAAAJkMQQAAAACZDIJAQAAAAJhNwAAAAIFAAAAAmQxCQABkQAAAAIFAAAAAmM4AAAAAAAAAAAAAwkAAAAAAAACBQAAAAJjOQAAAAAAAAAAAQUAAAACZDIEAAAAAmQzCQEAAAACYTcAAAACBQAAAAJkMgkAAZEAAAACBQAAAAJjOAAAAAAAAAAAAQMJAAAAAAAAAgUAAAACYzkAAAAAAAAAAAIFAAAAAmQzBAAAAAJkNAkBAAAAAmE3AAAAAgUAAAACZDMJAAGRAAAAAgUAAAACYzgAAAAAAAAAAAIDCQAAAAAAAAIFAAAAAmM5AAAAAAAAAAADBQAAAAJkNAQAAAACZDUJAQAAAAJhNwAAAAIFAAAAAmQ0CQABkQAAAAIFAAAAAmM4AAAAAAAAAAADCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgMwQAAAACYjIIBQAAAAJjNwAAAAJfMQQAAAACYjMIBQAAAAJjNwAAAAJfMgQAAAACYjQIBQAAAAJjNwAAAAJfMwQAAAACZDYJAAPwAAAAAgUAAAAEdGhpcwUAAAACYTQDAwkAAAAAAAACBQAAAAJiMgUAAAACYTYJAABnAAAAAgUAAAACZDYFAAAAAmE1BwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAACYTEAAAAGY2FsbGVyBQAAAAJkNgUAAAACYTQFAAAAA25pbAkAAAIAAAABAgAAAD5yb3V0aW5nICE9IHJvdXRpbmdTaXplIG9yIGFtb3VudFRvUmVjaWV2ZSA8IG1pbkFtb3VudFRvUmVjZWl2ZQAAAADuyvLK", "height": 1683025, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CqQyoaBgcUWSLSt3WHWNGEgCK2vf4qhu17BwAtZJeQ24 Next: ApudeGuHwGP7JeD57avz2jPg8GxksXdk198EpfQbFH7M Diff:
OldNewDifferences
3333 }
3434 else throw("Strict value is not equal to itself.")
3535 }
36- else if (if ((k > 0))
37- then (f > k)
38- else false)
36+ else if ((k > 1))
3937 then throw(((((toString(k) + " ") + toBase58String(m)) + " ") + toString(l)))
40- else h
38+ else if (if ((k > 0))
39+ then (f > k)
40+ else false)
41+ then {
42+ let n = addressFromStringValue(i)
43+ let w = $Tuple2(m, l)
44+ let q = w._1
45+ let p = w._2
46+ let r = invoke(n, "exchange", [c[k]], [AttachedPayment(q, p)])
47+ if ((r == r))
48+ then {
49+ let s = r
50+ if ($isInstanceOf(s, "(Int, ByteVector)"))
51+ then {
52+ let r = s
53+ let x = r
54+ let u = x._1
55+ let v = x._2
56+ $Tuple3((k + 1), u, v)
57+ }
58+ else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend")
59+ }
60+ else throw("Strict value is not equal to itself.")
61+ }
62+ else h
4163 }
4264
43- let w = {
44- let x = b
45- let y = size(x)
46- let z = $Tuple3(0, 0, base58'')
47- if ((y == 0))
48- then z
65+ let y = {
66+ let z = b
67+ let A = size(z)
68+ let B = $Tuple3(0, 0, base58'')
69+ if ((A == 0))
70+ then B
4971 else {
50- let A = g(z, x[0])
51- if ((y == 1))
52- then A
72+ let C = g(B, z[0])
73+ if ((A == 1))
74+ then C
5375 else {
54- let B = g(A, x[1])
55- if ((y == 2))
56- then B
76+ let D = g(C, z[1])
77+ if ((A == 2))
78+ then D
5779 else {
58- let C = g(B, x[2])
59- if ((y == 3))
60- then C
80+ let E = g(D, z[2])
81+ if ((A == 3))
82+ then E
6183 else {
62- let D = g(C, x[3])
84+ let F = g(E, z[3])
6385 throw("List size exceed 3")
6486 }
6587 }
6688 }
6789 }
6890 }
69- let k = w._1
70- let l = w._2
71- let m = w._3
72- let E = assetBalance(this, d)
91+ let k = y._1
92+ let l = y._2
93+ let m = y._3
94+ let G = assetBalance(this, d)
7395 if (if ((k == f))
74- then (E >= e)
96+ then (G >= e)
7597 else false)
76- then [ScriptTransfer(a.caller, E, d)]
98+ then [ScriptTransfer(a.caller, G, d)]
7799 else throw("routing != routingSize or amountToRecieve < minAmountToReceive")
78100 }
79101
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
77 func routingTrade (b,c,d,e) = {
88 let f = size(b)
99 func g (h,i) = {
1010 let j = h
1111 let k = j._1
1212 let l = j._2
1313 let m = j._3
1414 if ((k == 0))
1515 then {
1616 let n = addressFromStringValue(i)
1717 let o = $Tuple2(a.payments[0].amount, a.payments[0].assetId)
1818 let p = o._1
1919 let q = o._2
2020 let r = invoke(n, "exchange", [c[k]], [AttachedPayment(q, p)])
2121 if ((r == r))
2222 then {
2323 let s = r
2424 if ($isInstanceOf(s, "(Int, ByteVector)"))
2525 then {
2626 let r = s
2727 let t = r
2828 let u = t._1
2929 let v = t._2
3030 $Tuple3((k + 1), u, v)
3131 }
3232 else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend")
3333 }
3434 else throw("Strict value is not equal to itself.")
3535 }
36- else if (if ((k > 0))
37- then (f > k)
38- else false)
36+ else if ((k > 1))
3937 then throw(((((toString(k) + " ") + toBase58String(m)) + " ") + toString(l)))
40- else h
38+ else if (if ((k > 0))
39+ then (f > k)
40+ else false)
41+ then {
42+ let n = addressFromStringValue(i)
43+ let w = $Tuple2(m, l)
44+ let q = w._1
45+ let p = w._2
46+ let r = invoke(n, "exchange", [c[k]], [AttachedPayment(q, p)])
47+ if ((r == r))
48+ then {
49+ let s = r
50+ if ($isInstanceOf(s, "(Int, ByteVector)"))
51+ then {
52+ let r = s
53+ let x = r
54+ let u = x._1
55+ let v = x._2
56+ $Tuple3((k + 1), u, v)
57+ }
58+ else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend")
59+ }
60+ else throw("Strict value is not equal to itself.")
61+ }
62+ else h
4163 }
4264
43- let w = {
44- let x = b
45- let y = size(x)
46- let z = $Tuple3(0, 0, base58'')
47- if ((y == 0))
48- then z
65+ let y = {
66+ let z = b
67+ let A = size(z)
68+ let B = $Tuple3(0, 0, base58'')
69+ if ((A == 0))
70+ then B
4971 else {
50- let A = g(z, x[0])
51- if ((y == 1))
52- then A
72+ let C = g(B, z[0])
73+ if ((A == 1))
74+ then C
5375 else {
54- let B = g(A, x[1])
55- if ((y == 2))
56- then B
76+ let D = g(C, z[1])
77+ if ((A == 2))
78+ then D
5779 else {
58- let C = g(B, x[2])
59- if ((y == 3))
60- then C
80+ let E = g(D, z[2])
81+ if ((A == 3))
82+ then E
6183 else {
62- let D = g(C, x[3])
84+ let F = g(E, z[3])
6385 throw("List size exceed 3")
6486 }
6587 }
6688 }
6789 }
6890 }
69- let k = w._1
70- let l = w._2
71- let m = w._3
72- let E = assetBalance(this, d)
91+ let k = y._1
92+ let l = y._2
93+ let m = y._3
94+ let G = assetBalance(this, d)
7395 if (if ((k == f))
74- then (E >= e)
96+ then (G >= e)
7597 else false)
76- then [ScriptTransfer(a.caller, E, d)]
98+ then [ScriptTransfer(a.caller, G, d)]
7799 else throw("routing != routingSize or amountToRecieve < minAmountToReceive")
78100 }
79101
80102

github/deemru/w8io/169f3d6 
34.63 ms