tx · DymBmzh2M1L5H9jT1HDagRBfP92KBRLJtd4hujZ6JwnK

3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph:  -0.01400000 Waves

2021.11.07 21:46 [1780970] smart account 3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph > SELF 0.00000000 Waves

{ "type": 13, "id": "DymBmzh2M1L5H9jT1HDagRBfP92KBRLJtd4hujZ6JwnK", "fee": 1400000, "feeAssetId": null, "timestamp": 1636310831156, "version": 2, "chainId": 84, "sender": "3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph", "senderPublicKey": "G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD", "proofs": [ "39RYmG36qvYxgiDCoBX4SUDHaSvz3yUq1aWRiAmQj8yZfZ4Ket6QuagJGrro7FjRKo5mvKXjKtQi7bKALXXH6e8o" ], "script": "base64:AAIFAAAAAAAAACEIAhIAEgYKBBgYGBESBgoECAgBARIAEgMKAQgSBAoCCAEAAAAGAAAAAApkZXBvc2l0RmVlAAAAAAAAAAPoAAAAAA1jb250cm9sbGVyRmVlAAAAAAAAACcQAAAAAAtwbGF0Zm9ybUZlZQAAAAAAAAAnEAAAAAAMYWRtaW5QdWJLZXkxAQAAACDvKr/fUaQ4hMSae4iyf4kFpz6rnnDsFuW6KC6s3wMfQQAAAAAMYWRtaW5QdWJLZXkyAQAAACDgkMh3M2mpU305XK7y5b9J+9C9m7ycRhB7Y2h8D+QzGgAAAAAMYWRtaW5QdWJLZXkzAQAAACDgkMh3M2mpU305XK7y5b9J+9C9m7ycRhB7Y2h8D+QzGgAAAAYAAAACYTgBAAAABGluaXQAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAADEzUFBIN3g3aXFvYlc1eml5aVJDaWMxOXJRcUtyNm5QWWFLMV9hc3NldF9iYWxhbmNlAAAAAAAAbdStBQAAAANuaWwAAAABaQEAAAAIYWRkUG9vbHMAAAAEAAAABXBvb2xzAAAAD2xpcXVpZGl0eVRva2VucwAAAA1zZXJ2aWNlVG9rZW5zAAAAFmxpcXVpZGl0eVRva2VuRGVjaW1hbHMKAQAAABBnZW5lcmF0ZVBvb2xLZXlzAAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wCAAAADl9hc3NldF9iYWxhbmNlAAAAAAAAAAAABQAAAAthY2N1bXVsYXRlZAoBAAAAHmdlbmVyYXRlUG9vbExpcXVpZGl0eVRva2VuS2V5cwAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAABXBvb2xzBQAAAARwb29sBAAAAA5saXF1aWRpdHlUb2tlbgkAAZEAAAACBQAAAA9saXF1aWRpdHlUb2tlbnMFAAAACXBvb2xJbmRleAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAEF9saXF1aWRpdHlfdG9rZW4FAAAADmxpcXVpZGl0eVRva2VuBQAAAAthY2N1bXVsYXRlZAoBAAAAHGdlbmVyYXRlUG9vbFNlcnZpY2VUb2tlbktleXMAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAVwb29scwUAAAAEcG9vbAQAAAAObGlxdWlkaXR5VG9rZW4JAAGRAAAAAgUAAAANc2VydmljZVRva2VucwUAAAAJcG9vbEluZGV4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAAOX3NlcnZpY2VfdG9rZW4FAAAADmxpcXVpZGl0eVRva2VuBQAAAAthY2N1bXVsYXRlZAoBAAAAJWdlbmVyYXRlUG9vbExpcXVpZGl0eVRva2VuRGVjaW1hbEtleXMAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAVwb29scwUAAAAEcG9vbAQAAAAObGlxdWlkaXR5VG9rZW4JAAGRAAAAAgUAAAAWbGlxdWlkaXR5VG9rZW5EZWNpbWFscwUAAAAJcG9vbEluZGV4CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wCAAAADl9zZXJ2aWNlX3Rva2VuBQAAAA5saXF1aWRpdHlUb2tlbgUAAAALYWNjdW11bGF0ZWQKAQAAABZnZW5lcmF0ZVBvb2xBY3RpdmVLZXlzAAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAB19hY3RpdmUGBQAAAAthY2N1bXVsYXRlZAQAAAAPcG9vbEJhbGFuY2VLZXlzCgAAAAACJGwFAAAABXBvb2xzCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAUAAAADbmlsCgEAAAABMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAABBnZW5lcmF0ZVBvb2xLZXlzAAAAAgUAAAACJGEJAAGRAAAA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ZXNzAgAAAA5fYXNzZXRfYmFsYW5jZQQAAAAQZEFwcEFzc2V0QWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sAgAAAA5fc2VydmljZV90b2tlbgQAAAAKcG9vbEFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAANcG9vbEFtb3VudEtleQQAAAAKdXNlckFtb3VudAQAAAAHJG1hdGNoMAkABB8AAAABBQAAABF1c2VyUG9vbEFtb3VudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAFAAAAA2ludAQAAAAHbm90aGluZwUAAAAHJG1hdGNoMAAAAAAAAAAAAAQAAAANbmV3UG9vbEFtb3VudAkAAGQAAAACBQAAAApwb29sQW1vdW50BQAAAAZhbW91bnQEAAAAFHVzZXJBbW91bnRXaXRob3V0RmVlCQAAZQAAAAIJAABlAAAAAgUAAAAGYW1vdW50CQEAAAAIZnJhY3Rpb24AAAAEBQAAAAZhbW91bnQAAAAAAAAAAAEFAAAACmRlcG9zaXRGZWUFAAAABkhBTEZVUAkBAAAACGZyYWN0aW9uAAAABAUAAAAGYW1vdW50AAAAAAAAAAABBQAAAA1jb250cm9sbGVyRmVlBQAAAAZIQUxGVVAEAAAAEW5ld1VzZXJQb29sQW1vdW50CQAAZAAAAAIFAAAACnVzZXJBbW91bnQFAAAAFHVzZXJBbW91bnRXaXRob3V0RmVlCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwkAAlkAAAABBQAAABBkQXBwQXNzZXRBZGRyZXNzBQAAABR1c2VyQW1vdW50V2l0aG91dEZlZQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABR1c2VyQW1vdW50V2l0aG91dEZlZQkAAlkAAAABBQAAABBkQXBwQXNzZXRBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1wb29sQW1vdW50S2V5BQAAAA1uZXdQb29sQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABF1c2VyUG9vbEFtb3VudEtleQUAAAARbmV3VXNlclBvb2xBbW91bnQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAEcG9vbAAAAAp1c2VyRWFybmVkBAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAAHYXNzZXRJZAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAANcG9vbEFtb3VudEtleQkAASwAAAACBQAAAARwb29sAgAAAA5fYXNzZXRfYmFsYW5jZQQAAAALdXNlckFkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABF1c2VyUG9vbEFtb3VudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwUAAAALdXNlckFkZHJlc3MCAAAADl9hc3NldF9iYWxhbmNlBAAAABF1c2VyUG9vbEVhcm5lZEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwUAAAALdXNlckFkZHJlc3MCAAAAB19lYXJuZWQEAAAACnBvb2xBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAADXBvb2xBbW91bnRLZXkEAAAACnVzZXJBbW91bnQEAAAAByRtYXRjaDAJAAQfAAAAAQUAAAARdXNlclBvb2xBbW91bnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAAAAAAAAAAAAAEAAAAEHVzZXJFYXJuZWRCZWZvcmUEAAAAByRtYXRjaDAJAAQfAAAAAQUAAAARdXNlclBvb2xFYXJuZWRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAAAAAAAAAAAAAEAAAAFWxpcXVpZHV0eUFzc2V0QWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sAgAAABBfbGlxdWlkaXR5X3Rva2VuBAAAABVsaXF1aWRpdHlUb2tlbkRlY2ltYWwEAAAAByRtYXRjaDAJAAPsAAAAAQkAAlkAAAABBQAAABVsaXF1aWR1dHlBc3NldEFkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAVhc3NldAUAAAAHJG1hdGNoMAgFAAAABWFzc2V0AAAACGRlY2ltYWxzCQAAAgAAAAECAAAAEENhbid0IGZpbmQgYXNzZXQEAAAAEGRBcHBBc3NldEFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAIAAAAOX3NlcnZpY2VfdG9rZW4EAAAAD3VzZXJFYXJuZWRUb3RhbAkAAGQAAAACBQAAAAp1c2VyRWFybmVkBQAAABB1c2VyRWFybmVkQmVmb3JlBAAAABBhbW91bnRXaXRob3V0RmVlCQAAZQAAAAIJAABlAAAAAgUAAAAGYW1vdW50CQEAAAAIZnJhY3Rpb24AAAAEBQAAAAZhbW91bnQAAAAAAAAAAAEFAAAAC3BsYXRmb3JtRmVlBQAAAAZIQUxGVVAJAQAAAAhmcmFjdGlvbgAAAAQFAAAABmFtb3VudAAAAAAAAAAAAQUAAAANY29udHJvbGxlckZlZQUAAAAGSEFMRlVQBAAAAA1uZXdQb29sQW1vdW50CQAAZQAAAAIFAAAACnBvb2xBbW91bnQFAAAAEGFtb3VudFdpdGhvdXRGZWUDCQAAZwAAAAIFAAAACnVzZXJBbW91bnQFAAAABmFtb3VudAQAAAARbmV3VXNlclBvb2xBbW91bnQJAABlAAAAAgUAAAAKdXNlckFtb3VudAUAAAAQYW1vdW50V2l0aG91dEZlZQkABEwAAAACCQEAAAAEQnVybgAAAAIJAAJZAAAAAQUAAAAQZEFwcEFzc2V0QWRkcmVzcwUAAAAQYW1vdW50V2l0aG91dEZlZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEGFtb3VudFdpdGhvdXRGZWUJAAJZAAAAAQUAAAAVbGlxdWlkdXR5QXNzZXRBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1wb29sQW1vdW50S2V5BQAAAA1uZXdQb29sQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABF1c2VyUG9vbEFtb3VudEtleQUAAAARbmV3VXNlclBvb2xBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEXVzZXJQb29sRWFybmVkS2V5BQAAAA91c2VyRWFybmVkVG90YWwFAAAAA25pbAkAAAIAAAABAgAAACZZb3UgaGF2ZSBub3Qgc3VjaCBiYWxhbmNlIGZvciB3aXRoZHJhdwAAAAEAAAACYjYBAAAAAmI3AAAAAAkAAfQAAAADCAUAAAACYjYAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJiNgAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJiNgAAAA9zZW5kZXJQdWJsaWNLZXmt6kvY", "height": 1780970, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3TcKfYhbq3uMgf8NuW71biaCCZ56uzE5ZH6gSQ3q2zoK Next: 8SmbJrz5LnovNbwHYWWhYqYoD7xpbueH2vg83GHXRsS1 Diff:
OldNewDifferences
77
88 let c = 10000
99
10-@Callable(d)
10+let d = base58'H6cFN4f92Tqmvpuuvii5LhcBHugkttZ7QNJ3tmqYLzuE'
11+
12+let e = base58'G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD'
13+
14+let f = base58'G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD'
15+
16+@Callable(g)
1117 func init () = [IntegerEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_asset_balance", 7197869)]
1218
1319
1420
15-@Callable(e)
16-func addPools (f,g,h,i) = {
17- func j (k,l) = IntegerEntry((l + "_asset_balance"), 0) :: k
21+@Callable(h)
22+func addPools (i,j,k,l) = {
23+ func m (n,o) = IntegerEntry((o + "_asset_balance"), 0) :: n
1824
19- func m (k,l) = {
20- let n = value(indexOf(f, l))
21- let o = g[n]
22-StringEntry((l + "_liquidity_token"), o) :: k
25+ func p (n,o) = {
26+ let q = value(indexOf(i, o))
27+ let r = j[q]
28+StringEntry((o + "_liquidity_token"), r) :: n
2329 }
2430
25- func p (k,l) = {
26- let n = value(indexOf(f, l))
27- let o = h[n]
28-StringEntry((l + "_service_token"), o) :: k
31+ func s (n,o) = {
32+ let q = value(indexOf(i, o))
33+ let r = k[q]
34+StringEntry((o + "_service_token"), r) :: n
2935 }
3036
31- func q (k,l) = {
32- let n = value(indexOf(f, l))
33- let o = i[n]
34-IntegerEntry((l + "_service_token"), o) :: k
37+ func t (n,o) = {
38+ let q = value(indexOf(i, o))
39+ let r = l[q]
40+IntegerEntry((o + "_service_token"), r) :: n
3541 }
3642
37- func r (k,l) = BooleanEntry((l + "_active"), true) :: k
43+ func u (n,o) = BooleanEntry((o + "_active"), true) :: n
3844
39- let s = {
40- let t = f
41- let u = size(t)
42- let v = nil
43- func w (x,y) = if ((y >= u))
44- then x
45- else j(x, t[y])
45+ let v = {
46+ let w = i
47+ let x = size(w)
48+ let y = nil
49+ func z (A,B) = if ((B >= x))
50+ then A
51+ else m(A, w[B])
4652
47- func z (x,y) = if ((y >= u))
48- then x
53+ func C (A,B) = if ((B >= x))
54+ then A
4955 else throw("List size exceeds 20")
5056
51- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
57+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
5258 }
53- let A = {
54- let t = f
55- let u = size(t)
56- let v = nil
57- func w (x,y) = if ((y >= u))
58- then x
59- else m(x, t[y])
59+ let D = {
60+ let w = i
61+ let x = size(w)
62+ let y = nil
63+ func z (A,B) = if ((B >= x))
64+ then A
65+ else p(A, w[B])
6066
61- func z (x,y) = if ((y >= u))
62- then x
67+ func C (A,B) = if ((B >= x))
68+ then A
6369 else throw("List size exceeds 20")
6470
65- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
71+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
6672 }
67- let B = {
68- let t = f
69- let u = size(t)
70- let v = nil
71- func w (x,y) = if ((y >= u))
72- then x
73- else p(x, t[y])
73+ let E = {
74+ let w = i
75+ let x = size(w)
76+ let y = nil
77+ func z (A,B) = if ((B >= x))
78+ then A
79+ else s(A, w[B])
7480
75- func z (x,y) = if ((y >= u))
76- then x
81+ func C (A,B) = if ((B >= x))
82+ then A
7783 else throw("List size exceeds 20")
7884
79- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
85+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
8086 }
81- let C = {
82- let t = f
83- let u = size(t)
84- let v = nil
85- func w (x,y) = if ((y >= u))
86- then x
87- else q(x, t[y])
87+ let F = {
88+ let w = i
89+ let x = size(w)
90+ let y = nil
91+ func z (A,B) = if ((B >= x))
92+ then A
93+ else t(A, w[B])
8894
89- func z (x,y) = if ((y >= u))
90- then x
95+ func C (A,B) = if ((B >= x))
96+ then A
9197 else throw("List size exceeds 20")
9298
93- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
99+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
94100 }
95- let D = {
96- let t = f
97- let u = size(t)
98- let v = nil
99- func w (x,y) = if ((y >= u))
100- then x
101- else r(x, t[y])
101+ let G = {
102+ let w = i
103+ let x = size(w)
104+ let y = nil
105+ func z (A,B) = if ((B >= x))
106+ then A
107+ else u(A, w[B])
102108
103- func z (x,y) = if ((y >= u))
104- then x
109+ func C (A,B) = if ((B >= x))
110+ then A
105111 else throw("List size exceeds 20")
106112
107- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
113+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
108114 }
109- ((((s ++ A) ++ B) ++ C) ++ D)
115+ ((((v ++ D) ++ E) ++ F) ++ G)
110116 }
111117
112118
113119
114-@Callable(d)
120+@Callable(h)
121+func issueToken (H,I,J,K) = if (!(containsElement([d, e, f], h.callerPublicKey)))
122+ then throw("Only admin can call this function")
123+ else [Issue(H, I, J, K, true, unit, 0)]
124+
125+
126+
127+@Callable(g)
115128 func call () = {
116- let E = Issue("Asset107112021", "Asset from dApp 1", 100000, 2, true, unit, 0)
117- let F = Issue("Asset207112021", "Asset from dApp 2", 100000, 2, true, unit, 0)
118-[F, E]
129+ let L = Issue("Asset107112021", "Asset from dApp 1", 100000, 2, true, unit, 0)
130+ let M = Issue("Asset207112021", "Asset from dApp 2", 100000, 2, true, unit, 0)
131+[M, L]
119132 }
120133
121134
122135
123-@Callable(e)
124-func deposit (l) = {
125- let G = e.payments[0].amount
126- let H = e.payments[0].assetId
127- let I = (l + "_asset_balance")
128- let J = toString(e.caller)
129- let K = (((l + "_") + J) + "_asset_balance")
130- let L = getStringValue(this, (l + "_service_token"))
131- let M = getIntegerValue(this, I)
132- let N = {
133- let O = getInteger(K)
134- if ($isInstanceOf(O, "Int"))
136+@Callable(h)
137+func deposit (o) = {
138+ let N = h.payments[0].amount
139+ let O = h.payments[0].assetId
140+ let P = (o + "_asset_balance")
141+ let Q = toString(h.caller)
142+ let R = (((o + "_") + Q) + "_asset_balance")
143+ let S = getStringValue(this, (o + "_service_token"))
144+ let T = getIntegerValue(this, P)
145+ let U = {
146+ let V = getInteger(R)
147+ if ($isInstanceOf(V, "Int"))
135148 then {
136- let P = O
137- P
149+ let W = V
150+ W
138151 }
139152 else {
140- let Q = O
153+ let X = V
141154 0
142155 }
143156 }
144- let R = (M + G)
145- let S = ((G - fraction(G, 1, a, HALFUP)) - fraction(G, 1, b, HALFUP))
146- let T = (N + S)
147-[Reissue(fromBase58String(L), S, true), ScriptTransfer(e.caller, S, fromBase58String(L)), IntegerEntry(I, R), IntegerEntry(K, T)]
157+ let Y = (T + N)
158+ let Z = ((N - fraction(N, 1, a, HALFUP)) - fraction(N, 1, b, HALFUP))
159+ let aa = (U + Z)
160+[Reissue(fromBase58String(S), Z, true), ScriptTransfer(h.caller, Z, fromBase58String(S)), IntegerEntry(P, Y), IntegerEntry(R, aa)]
148161 }
149162
150163
151164
152-@Callable(e)
153-func withdraw (l,U) = {
154- let G = e.payments[0].amount
155- let H = e.payments[0].assetId
156- let I = (l + "_asset_balance")
157- let J = toString(e.caller)
158- let K = (((l + "_") + J) + "_asset_balance")
159- let V = (((l + "_") + J) + "_earned")
160- let M = getIntegerValue(this, I)
161- let N = {
162- let O = getInteger(K)
163- if ($isInstanceOf(O, "Int"))
165+@Callable(h)
166+func withdraw (o,ab) = {
167+ let N = h.payments[0].amount
168+ let O = h.payments[0].assetId
169+ let P = (o + "_asset_balance")
170+ let Q = toString(h.caller)
171+ let R = (((o + "_") + Q) + "_asset_balance")
172+ let ac = (((o + "_") + Q) + "_earned")
173+ let T = getIntegerValue(this, P)
174+ let U = {
175+ let V = getInteger(R)
176+ if ($isInstanceOf(V, "Int"))
164177 then {
165- let P = O
166- P
178+ let W = V
179+ W
167180 }
168181 else {
169- let Q = O
182+ let X = V
170183 0
171184 }
172185 }
173- let W = {
174- let O = getInteger(V)
175- if ($isInstanceOf(O, "Int"))
186+ let ad = {
187+ let V = getInteger(ac)
188+ if ($isInstanceOf(V, "Int"))
176189 then {
177- let P = O
178- P
190+ let W = V
191+ W
179192 }
180193 else {
181- let Q = O
194+ let X = V
182195 0
183196 }
184197 }
185- let X = getStringValue(this, (l + "_liquidity_token"))
186- let Y = {
187- let O = assetInfo(fromBase58String(X))
188- if ($isInstanceOf(O, "Asset"))
198+ let ae = getStringValue(this, (o + "_liquidity_token"))
199+ let af = {
200+ let V = assetInfo(fromBase58String(ae))
201+ if ($isInstanceOf(V, "Asset"))
189202 then {
190- let Z = O
191- Z.decimals
203+ let ag = V
204+ ag.decimals
192205 }
193206 else throw("Can't find asset")
194207 }
195- let L = getStringValue(this, (l + "_service_token"))
196- let aa = (U + W)
197- let ab = ((G - fraction(G, 1, c, HALFUP)) - fraction(G, 1, b, HALFUP))
198- let R = (M - ab)
199- if ((N >= G))
208+ let S = getStringValue(this, (o + "_service_token"))
209+ let ah = (ab + ad)
210+ let ai = ((N - fraction(N, 1, c, HALFUP)) - fraction(N, 1, b, HALFUP))
211+ let Y = (T - ai)
212+ if ((U >= N))
200213 then {
201- let T = (N - ab)
202-[Burn(fromBase58String(L), ab), ScriptTransfer(e.caller, ab, fromBase58String(X)), IntegerEntry(I, R), IntegerEntry(K, T), IntegerEntry(V, aa)]
214+ let aa = (U - ai)
215+[Burn(fromBase58String(S), ai), ScriptTransfer(h.caller, ai, fromBase58String(ae)), IntegerEntry(P, Y), IntegerEntry(R, aa), IntegerEntry(ac, ah)]
203216 }
204217 else throw("You have not such balance for withdraw")
205218 }
206219
207220
208-@Verifier(ac)
209-func ad () = sigVerify(ac.bodyBytes, ac.proofs[0], ac.senderPublicKey)
221+@Verifier(aj)
222+func ak () = sigVerify(aj.bodyBytes, aj.proofs[0], aj.senderPublicKey)
210223
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000
55
66 let b = 10000
77
88 let c = 10000
99
10-@Callable(d)
10+let d = base58'H6cFN4f92Tqmvpuuvii5LhcBHugkttZ7QNJ3tmqYLzuE'
11+
12+let e = base58'G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD'
13+
14+let f = base58'G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD'
15+
16+@Callable(g)
1117 func init () = [IntegerEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_asset_balance", 7197869)]
1218
1319
1420
15-@Callable(e)
16-func addPools (f,g,h,i) = {
17- func j (k,l) = IntegerEntry((l + "_asset_balance"), 0) :: k
21+@Callable(h)
22+func addPools (i,j,k,l) = {
23+ func m (n,o) = IntegerEntry((o + "_asset_balance"), 0) :: n
1824
19- func m (k,l) = {
20- let n = value(indexOf(f, l))
21- let o = g[n]
22-StringEntry((l + "_liquidity_token"), o) :: k
25+ func p (n,o) = {
26+ let q = value(indexOf(i, o))
27+ let r = j[q]
28+StringEntry((o + "_liquidity_token"), r) :: n
2329 }
2430
25- func p (k,l) = {
26- let n = value(indexOf(f, l))
27- let o = h[n]
28-StringEntry((l + "_service_token"), o) :: k
31+ func s (n,o) = {
32+ let q = value(indexOf(i, o))
33+ let r = k[q]
34+StringEntry((o + "_service_token"), r) :: n
2935 }
3036
31- func q (k,l) = {
32- let n = value(indexOf(f, l))
33- let o = i[n]
34-IntegerEntry((l + "_service_token"), o) :: k
37+ func t (n,o) = {
38+ let q = value(indexOf(i, o))
39+ let r = l[q]
40+IntegerEntry((o + "_service_token"), r) :: n
3541 }
3642
37- func r (k,l) = BooleanEntry((l + "_active"), true) :: k
43+ func u (n,o) = BooleanEntry((o + "_active"), true) :: n
3844
39- let s = {
40- let t = f
41- let u = size(t)
42- let v = nil
43- func w (x,y) = if ((y >= u))
44- then x
45- else j(x, t[y])
45+ let v = {
46+ let w = i
47+ let x = size(w)
48+ let y = nil
49+ func z (A,B) = if ((B >= x))
50+ then A
51+ else m(A, w[B])
4652
47- func z (x,y) = if ((y >= u))
48- then x
53+ func C (A,B) = if ((B >= x))
54+ then A
4955 else throw("List size exceeds 20")
5056
51- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
57+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
5258 }
53- let A = {
54- let t = f
55- let u = size(t)
56- let v = nil
57- func w (x,y) = if ((y >= u))
58- then x
59- else m(x, t[y])
59+ let D = {
60+ let w = i
61+ let x = size(w)
62+ let y = nil
63+ func z (A,B) = if ((B >= x))
64+ then A
65+ else p(A, w[B])
6066
61- func z (x,y) = if ((y >= u))
62- then x
67+ func C (A,B) = if ((B >= x))
68+ then A
6369 else throw("List size exceeds 20")
6470
65- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
71+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
6672 }
67- let B = {
68- let t = f
69- let u = size(t)
70- let v = nil
71- func w (x,y) = if ((y >= u))
72- then x
73- else p(x, t[y])
73+ let E = {
74+ let w = i
75+ let x = size(w)
76+ let y = nil
77+ func z (A,B) = if ((B >= x))
78+ then A
79+ else s(A, w[B])
7480
75- func z (x,y) = if ((y >= u))
76- then x
81+ func C (A,B) = if ((B >= x))
82+ then A
7783 else throw("List size exceeds 20")
7884
79- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
85+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
8086 }
81- let C = {
82- let t = f
83- let u = size(t)
84- let v = nil
85- func w (x,y) = if ((y >= u))
86- then x
87- else q(x, t[y])
87+ let F = {
88+ let w = i
89+ let x = size(w)
90+ let y = nil
91+ func z (A,B) = if ((B >= x))
92+ then A
93+ else t(A, w[B])
8894
89- func z (x,y) = if ((y >= u))
90- then x
95+ func C (A,B) = if ((B >= x))
96+ then A
9197 else throw("List size exceeds 20")
9298
93- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
99+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
94100 }
95- let D = {
96- let t = f
97- let u = size(t)
98- let v = nil
99- func w (x,y) = if ((y >= u))
100- then x
101- else r(x, t[y])
101+ let G = {
102+ let w = i
103+ let x = size(w)
104+ let y = nil
105+ func z (A,B) = if ((B >= x))
106+ then A
107+ else u(A, w[B])
102108
103- func z (x,y) = if ((y >= u))
104- then x
109+ func C (A,B) = if ((B >= x))
110+ then A
105111 else throw("List size exceeds 20")
106112
107- z(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
113+ C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
108114 }
109- ((((s ++ A) ++ B) ++ C) ++ D)
115+ ((((v ++ D) ++ E) ++ F) ++ G)
110116 }
111117
112118
113119
114-@Callable(d)
120+@Callable(h)
121+func issueToken (H,I,J,K) = if (!(containsElement([d, e, f], h.callerPublicKey)))
122+ then throw("Only admin can call this function")
123+ else [Issue(H, I, J, K, true, unit, 0)]
124+
125+
126+
127+@Callable(g)
115128 func call () = {
116- let E = Issue("Asset107112021", "Asset from dApp 1", 100000, 2, true, unit, 0)
117- let F = Issue("Asset207112021", "Asset from dApp 2", 100000, 2, true, unit, 0)
118-[F, E]
129+ let L = Issue("Asset107112021", "Asset from dApp 1", 100000, 2, true, unit, 0)
130+ let M = Issue("Asset207112021", "Asset from dApp 2", 100000, 2, true, unit, 0)
131+[M, L]
119132 }
120133
121134
122135
123-@Callable(e)
124-func deposit (l) = {
125- let G = e.payments[0].amount
126- let H = e.payments[0].assetId
127- let I = (l + "_asset_balance")
128- let J = toString(e.caller)
129- let K = (((l + "_") + J) + "_asset_balance")
130- let L = getStringValue(this, (l + "_service_token"))
131- let M = getIntegerValue(this, I)
132- let N = {
133- let O = getInteger(K)
134- if ($isInstanceOf(O, "Int"))
136+@Callable(h)
137+func deposit (o) = {
138+ let N = h.payments[0].amount
139+ let O = h.payments[0].assetId
140+ let P = (o + "_asset_balance")
141+ let Q = toString(h.caller)
142+ let R = (((o + "_") + Q) + "_asset_balance")
143+ let S = getStringValue(this, (o + "_service_token"))
144+ let T = getIntegerValue(this, P)
145+ let U = {
146+ let V = getInteger(R)
147+ if ($isInstanceOf(V, "Int"))
135148 then {
136- let P = O
137- P
149+ let W = V
150+ W
138151 }
139152 else {
140- let Q = O
153+ let X = V
141154 0
142155 }
143156 }
144- let R = (M + G)
145- let S = ((G - fraction(G, 1, a, HALFUP)) - fraction(G, 1, b, HALFUP))
146- let T = (N + S)
147-[Reissue(fromBase58String(L), S, true), ScriptTransfer(e.caller, S, fromBase58String(L)), IntegerEntry(I, R), IntegerEntry(K, T)]
157+ let Y = (T + N)
158+ let Z = ((N - fraction(N, 1, a, HALFUP)) - fraction(N, 1, b, HALFUP))
159+ let aa = (U + Z)
160+[Reissue(fromBase58String(S), Z, true), ScriptTransfer(h.caller, Z, fromBase58String(S)), IntegerEntry(P, Y), IntegerEntry(R, aa)]
148161 }
149162
150163
151164
152-@Callable(e)
153-func withdraw (l,U) = {
154- let G = e.payments[0].amount
155- let H = e.payments[0].assetId
156- let I = (l + "_asset_balance")
157- let J = toString(e.caller)
158- let K = (((l + "_") + J) + "_asset_balance")
159- let V = (((l + "_") + J) + "_earned")
160- let M = getIntegerValue(this, I)
161- let N = {
162- let O = getInteger(K)
163- if ($isInstanceOf(O, "Int"))
165+@Callable(h)
166+func withdraw (o,ab) = {
167+ let N = h.payments[0].amount
168+ let O = h.payments[0].assetId
169+ let P = (o + "_asset_balance")
170+ let Q = toString(h.caller)
171+ let R = (((o + "_") + Q) + "_asset_balance")
172+ let ac = (((o + "_") + Q) + "_earned")
173+ let T = getIntegerValue(this, P)
174+ let U = {
175+ let V = getInteger(R)
176+ if ($isInstanceOf(V, "Int"))
164177 then {
165- let P = O
166- P
178+ let W = V
179+ W
167180 }
168181 else {
169- let Q = O
182+ let X = V
170183 0
171184 }
172185 }
173- let W = {
174- let O = getInteger(V)
175- if ($isInstanceOf(O, "Int"))
186+ let ad = {
187+ let V = getInteger(ac)
188+ if ($isInstanceOf(V, "Int"))
176189 then {
177- let P = O
178- P
190+ let W = V
191+ W
179192 }
180193 else {
181- let Q = O
194+ let X = V
182195 0
183196 }
184197 }
185- let X = getStringValue(this, (l + "_liquidity_token"))
186- let Y = {
187- let O = assetInfo(fromBase58String(X))
188- if ($isInstanceOf(O, "Asset"))
198+ let ae = getStringValue(this, (o + "_liquidity_token"))
199+ let af = {
200+ let V = assetInfo(fromBase58String(ae))
201+ if ($isInstanceOf(V, "Asset"))
189202 then {
190- let Z = O
191- Z.decimals
203+ let ag = V
204+ ag.decimals
192205 }
193206 else throw("Can't find asset")
194207 }
195- let L = getStringValue(this, (l + "_service_token"))
196- let aa = (U + W)
197- let ab = ((G - fraction(G, 1, c, HALFUP)) - fraction(G, 1, b, HALFUP))
198- let R = (M - ab)
199- if ((N >= G))
208+ let S = getStringValue(this, (o + "_service_token"))
209+ let ah = (ab + ad)
210+ let ai = ((N - fraction(N, 1, c, HALFUP)) - fraction(N, 1, b, HALFUP))
211+ let Y = (T - ai)
212+ if ((U >= N))
200213 then {
201- let T = (N - ab)
202-[Burn(fromBase58String(L), ab), ScriptTransfer(e.caller, ab, fromBase58String(X)), IntegerEntry(I, R), IntegerEntry(K, T), IntegerEntry(V, aa)]
214+ let aa = (U - ai)
215+[Burn(fromBase58String(S), ai), ScriptTransfer(h.caller, ai, fromBase58String(ae)), IntegerEntry(P, Y), IntegerEntry(R, aa), IntegerEntry(ac, ah)]
203216 }
204217 else throw("You have not such balance for withdraw")
205218 }
206219
207220
208-@Verifier(ac)
209-func ad () = sigVerify(ac.bodyBytes, ac.proofs[0], ac.senderPublicKey)
221+@Verifier(aj)
222+func ak () = sigVerify(aj.bodyBytes, aj.proofs[0], aj.senderPublicKey)
210223

github/deemru/w8io/169f3d6 
105.50 ms