tx · CcnoSNM36wXGfeXDEGp4YQ1kKDzFignUkCQpuaDb8rJY
3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU: -0.01500000 Waves
2022.06.20 14:50 [3170281] smart account 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > SELF 0.00000000 Waves
{
"type": 13,
"id": "CcnoSNM36wXGfeXDEGp4YQ1kKDzFignUkCQpuaDb8rJY",
"fee": 1500000,
"feeAssetId": null,
"timestamp": 1655725858647,
"version": 2,
"chainId": 87,
"sender": "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU",
"senderPublicKey": "Dmn1fWHxpwN789LPfoMHFj7uSYKSsb5VFfyNQyQ629f9",
"proofs": [
"3hh7Hj58ZggPDCGHTS2HdhGGojMJSkw7uUsPUPdKyRHr8YWYgsYiKJ1fPNtAt5VfL5yZi3i7jwnjv2JU6JkD1EwP"
],
"script": "base64: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AGUAAAACCQABkAAAAAEJAAS1AAAAAgUAAAAJcm91dGVzU3RyAgAAAAEsAAAAAAAAAAABBAAAAAZhc3NldDEJAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQUAAAAJYXNzZXQxU3RyBAAAAAd1c2RuRmVlAwkAAAAAAAACBQAAAAZhc3NldDEFAAAABnVzZG5JZAUAAAAJZmVlQW1vdW50BAAAABF1c2RuQmFsYW5jZUJlZm9yZQkBAAAACmdldEJhbGFuY2UAAAABBQAAAAZ1c2RuSWQDCQAAAAAAAAIFAAAAEXVzZG5CYWxhbmNlQmVmb3JlBQAAABF1c2RuQmFsYW5jZUJlZm9yZQQAAAAOcG9vbEFkZHJlc3NTdHIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIJAAEsAAAAAgIAAAANc3RhdGljX2Fzc2V0XwUAAAAJYXNzZXQxU3RyAgAAAAtfcHV6emxlUG9vbAMJAAAAAAAAAgUAAAAOcG9vbEFkZHJlc3NTdHICAAAAAAAAAAAAAAAAAAQAAAAMY29udmVydGVkRmVlCQAD/AAAAAQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADnBvb2xBZGRyZXNzU3RyAgAAAARzd2FwCQAETAAAAAIFAAAACXVzZG5JZFN0cgkABEwAAAACAAAAAAAAAAAABQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAABmFzc2V0MQUAAAAJZmVlQW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAADGNvbnZlcnRlZEZlZQUAAAAMY29udmVydGVkRmVlBAAAABB1c2RuQmFsYW5jZUFmdGVyCQEAAAAKZ2V0QmFsYW5jZQAAAAEFAAAABnVzZG5JZAMJAAAAAAAAAgUAAAAQdXNkbkJhbGFuY2VBZnRlcgUAAAAQdXNkbkJhbGFuY2VBZnRlcgkAAGUAAAACBQAAABB1c2RuQmFsYW5jZUFmdGVyBQAAABF1c2RuQmFsYW5jZUJlZm9yZQkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAA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",
"height": 3170281,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: GHjq6Tw2R3dS4SbaPh3KJEBfr21qkMP1pBf7DLqtJoVY
Next: CW4kicyPj4c5BN1JpveurJE4L2EHnKZJFd9ZkbtSvJaf
Diff:
Old | New | | Differences |
---|
45 | 45 | | |
---|
46 | 46 | | @Callable(m) |
---|
47 | 47 | | func swap (n,o) = { |
---|
48 | | - | func p (q,r) = { |
---|
49 | | - | let s = split(r, ",") |
---|
50 | | - | let t = $Tuple4(s[0], s[1], s[2], s[3]) |
---|
51 | | - | let u = t._1 |
---|
52 | | - | let v = t._2 |
---|
53 | | - | let w = t._3 |
---|
54 | | - | let x = t._4 |
---|
55 | | - | let y = i(w) |
---|
| 48 | + | let p = (k(m.payments[0].assetId) - m.payments[0].amount) |
---|
| 49 | + | func q (r,s) = { |
---|
| 50 | + | let t = split(s, ",") |
---|
| 51 | + | let u = $Tuple4(t[0], t[1], t[2], t[3]) |
---|
| 52 | + | let v = u._1 |
---|
| 53 | + | let w = u._2 |
---|
| 54 | + | let x = u._3 |
---|
| 55 | + | let y = u._4 |
---|
56 | 56 | | let z = i(x) |
---|
57 | | - | let A = k(z) |
---|
58 | | - | if ((A == A)) |
---|
| 57 | + | let A = i(y) |
---|
| 58 | + | let B = k(A) |
---|
| 59 | + | if ((B == B)) |
---|
59 | 60 | | then { |
---|
60 | | - | let B = if ((v == "swopfi")) |
---|
61 | | - | then invoke(Address(fromBase58String(u)), "exchange", [1], [AttachedPayment(y, q)]) |
---|
62 | | - | else invoke(Address(fromBase58String(u)), "swap", [x, 0], [AttachedPayment(y, q)]) |
---|
63 | | - | if ((B == B)) |
---|
| 61 | + | let C = if ((w == "swopfi")) |
---|
| 62 | + | then invoke(Address(fromBase58String(v)), "exchange", [1], [AttachedPayment(z, r)]) |
---|
| 63 | + | else invoke(Address(fromBase58String(v)), "swap", [y, 0], [AttachedPayment(z, r)]) |
---|
| 64 | + | if ((C == C)) |
---|
64 | 65 | | then { |
---|
65 | | - | let C = k(z) |
---|
66 | | - | if ((C == C)) |
---|
67 | | - | then (C - A) |
---|
| 66 | + | let D = k(A) |
---|
| 67 | + | if ((D == D)) |
---|
| 68 | + | then (D - B) |
---|
68 | 69 | | else throw("Strict value is not equal to itself.") |
---|
69 | 70 | | } |
---|
70 | 71 | | else throw("Strict value is not equal to itself.") |
---|
|
72 | 73 | | else throw("Strict value is not equal to itself.") |
---|
73 | 74 | | } |
---|
74 | 75 | | |
---|
75 | | - | func D (E,F) = { |
---|
76 | | - | let G = parseIntValue(split(F, "/")[0]) |
---|
77 | | - | let H = split(split(F, "/")[1], ";") |
---|
78 | | - | let I = { |
---|
79 | | - | let J = H |
---|
80 | | - | let K = size(J) |
---|
81 | | - | let L = G |
---|
82 | | - | func M (N,O) = if ((O >= K)) |
---|
83 | | - | then N |
---|
84 | | - | else p(N, J[O]) |
---|
| 76 | + | func E (F,G) = { |
---|
| 77 | + | let H = parseIntValue(split(G, "/")[0]) |
---|
| 78 | + | let I = split(split(G, "/")[1], ";") |
---|
| 79 | + | let J = { |
---|
| 80 | + | let K = I |
---|
| 81 | + | let L = size(K) |
---|
| 82 | + | let M = H |
---|
| 83 | + | func N (O,P) = if ((P >= L)) |
---|
| 84 | + | then O |
---|
| 85 | + | else q(O, K[P]) |
---|
85 | 86 | | |
---|
86 | | - | func P (N,O) = if ((O >= K)) |
---|
87 | | - | then N |
---|
| 87 | + | func Q (O,P) = if ((P >= L)) |
---|
| 88 | + | then O |
---|
88 | 89 | | else throw("List size exceeds 3") |
---|
89 | 90 | | |
---|
90 | | - | P(M(M(M(L, 0), 1), 2), 3) |
---|
| 91 | + | Q(N(N(N(M, 0), 1), 2), 3) |
---|
91 | 92 | | } |
---|
92 | | - | if ((I == I)) |
---|
93 | | - | then (E + I) |
---|
| 93 | + | if ((J == J)) |
---|
| 94 | + | then (F + J) |
---|
94 | 95 | | else throw("Strict value is not equal to itself.") |
---|
95 | 96 | | } |
---|
96 | 97 | | |
---|
97 | | - | let Q = split(n, "|") |
---|
98 | | - | let G = parseIntValue(split(Q[0], "/")[0]) |
---|
99 | | - | let R = i(split(split(split(Q[0], "/")[1], ";")[0], ",")[2]) |
---|
100 | | - | let S = { |
---|
101 | | - | let J = Q |
---|
102 | | - | let K = size(J) |
---|
103 | | - | let L = 0 |
---|
104 | | - | func M (N,O) = if ((O >= K)) |
---|
105 | | - | then N |
---|
106 | | - | else D(N, J[O]) |
---|
| 98 | + | let R = split(n, "|") |
---|
| 99 | + | let H = parseIntValue(split(R[0], "/")[0]) |
---|
| 100 | + | let S = i(split(split(split(R[0], "/")[1], ";")[0], ",")[2]) |
---|
| 101 | + | let T = { |
---|
| 102 | + | let K = R |
---|
| 103 | + | let L = size(K) |
---|
| 104 | + | let M = 0 |
---|
| 105 | + | func N (O,P) = if ((P >= L)) |
---|
| 106 | + | then O |
---|
| 107 | + | else E(O, K[P]) |
---|
107 | 108 | | |
---|
108 | | - | func P (N,O) = if ((O >= K)) |
---|
109 | | - | then N |
---|
| 109 | + | func Q (O,P) = if ((P >= L)) |
---|
| 110 | + | then O |
---|
110 | 111 | | else throw("List size exceeds 5") |
---|
111 | 112 | | |
---|
112 | | - | P(M(M(M(M(M(L, 0), 1), 2), 3), 4), 5) |
---|
| 113 | + | Q(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5) |
---|
113 | 114 | | } |
---|
114 | | - | if ((S == S)) |
---|
| 115 | + | if ((T == T)) |
---|
115 | 116 | | then { |
---|
116 | | - | let T = fraction(S, 29, 10000) |
---|
117 | | - | let U = (S - T) |
---|
118 | | - | let V = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
119 | | - | let W = i(V) |
---|
120 | | - | let X = if ((W == b)) |
---|
121 | | - | then T |
---|
| 117 | + | let U = fraction(T, 29, 10000) |
---|
| 118 | + | let V = (T - U) |
---|
| 119 | + | let W = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
| 120 | + | let X = i(W) |
---|
| 121 | + | let Y = if ((X == b)) |
---|
| 122 | + | then U |
---|
122 | 123 | | else { |
---|
123 | | - | let Y = k(b) |
---|
124 | | - | if ((Y == Y)) |
---|
| 124 | + | let Z = k(b) |
---|
| 125 | + | if ((Z == Z)) |
---|
125 | 126 | | then { |
---|
126 | | - | let Z = c((("static_asset_" + V) + "_puzzlePool")) |
---|
127 | | - | if ((Z == "")) |
---|
| 127 | + | let aa = c((("static_asset_" + W) + "_puzzlePool")) |
---|
| 128 | + | if ((aa == "")) |
---|
128 | 129 | | then 0 |
---|
129 | 130 | | else { |
---|
130 | | - | let aa = invoke(addressFromStringValue(Z), "swap", [a, 0], [AttachedPayment(W, T)]) |
---|
131 | | - | if ((aa == aa)) |
---|
| 131 | + | let ab = invoke(addressFromStringValue(aa), "swap", [a, 0], [AttachedPayment(X, U)]) |
---|
| 132 | + | if ((ab == ab)) |
---|
132 | 133 | | then { |
---|
133 | | - | let ab = k(b) |
---|
134 | | - | if ((ab == ab)) |
---|
135 | | - | then (ab - Y) |
---|
| 134 | + | let ac = k(b) |
---|
| 135 | + | if ((ac == ac)) |
---|
| 136 | + | then (ac - Z) |
---|
136 | 137 | | else throw("Strict value is not equal to itself.") |
---|
137 | 138 | | } |
---|
138 | 139 | | else throw("Strict value is not equal to itself.") |
---|
|
140 | 141 | | } |
---|
141 | 142 | | else throw("Strict value is not equal to itself.") |
---|
142 | 143 | | } |
---|
143 | | - | if ((X == X)) |
---|
| 144 | + | if ((Y == Y)) |
---|
144 | 145 | | then { |
---|
145 | | - | let ac = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, X)]) |
---|
146 | | - | if ((ac == ac)) |
---|
147 | | - | then if ((o > U)) |
---|
148 | | - | then throw(("amount to receive is lower than expected one " + toString(U))) |
---|
149 | | - | else if (if ((R != m.payments[0].assetId)) |
---|
| 146 | + | let ad = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, Y)]) |
---|
| 147 | + | if ((ad == ad)) |
---|
| 148 | + | then if ((o > V)) |
---|
| 149 | + | then throw(("amount to receive is lower than expected one " + toString(V))) |
---|
| 150 | + | else if (if ((S != m.payments[0].assetId)) |
---|
150 | 151 | | then true |
---|
151 | | - | else (G > m.payments[0].amount)) |
---|
| 152 | + | else (H > m.payments[0].amount)) |
---|
152 | 153 | | then throw("wrong asset attached as payment") |
---|
153 | | - | else [ScriptTransfer(m.caller, U, W)] |
---|
| 154 | + | else [ScriptTransfer(m.caller, V, X), ScriptTransfer(m.caller, (k(m.payments[0].assetId) - p), S)] |
---|
154 | 155 | | else throw("Strict value is not equal to itself.") |
---|
155 | 156 | | } |
---|
156 | 157 | | else throw("Strict value is not equal to itself.") |
---|
|
161 | 162 | | |
---|
162 | 163 | | |
---|
163 | 164 | | @Callable(m) |
---|
164 | | - | func swapWithReferral (n,o,ad) = { |
---|
165 | | - | func p (q,r) = { |
---|
166 | | - | let s = split(r, ",") |
---|
167 | | - | let ae = $Tuple4(s[0], s[1], s[2], s[3]) |
---|
168 | | - | let u = ae._1 |
---|
169 | | - | let v = ae._2 |
---|
170 | | - | let w = ae._3 |
---|
171 | | - | let x = ae._4 |
---|
172 | | - | let y = i(w) |
---|
| 165 | + | func swapWithReferral (n,o,ae) = { |
---|
| 166 | + | let p = (k(m.payments[0].assetId) - m.payments[0].amount) |
---|
| 167 | + | func q (r,s) = { |
---|
| 168 | + | let t = split(s, ",") |
---|
| 169 | + | let af = $Tuple4(t[0], t[1], t[2], t[3]) |
---|
| 170 | + | let v = af._1 |
---|
| 171 | + | let w = af._2 |
---|
| 172 | + | let x = af._3 |
---|
| 173 | + | let y = af._4 |
---|
173 | 174 | | let z = i(x) |
---|
174 | | - | let A = k(z) |
---|
175 | | - | if ((A == A)) |
---|
| 175 | + | let A = i(y) |
---|
| 176 | + | let B = k(A) |
---|
| 177 | + | if ((B == B)) |
---|
176 | 178 | | then { |
---|
177 | | - | let B = if ((v == "swopfi")) |
---|
178 | | - | then invoke(Address(fromBase58String(u)), "exchange", [1], [AttachedPayment(y, q)]) |
---|
179 | | - | else invoke(Address(fromBase58String(u)), "swap", [x, 0], [AttachedPayment(y, q)]) |
---|
180 | | - | if ((B == B)) |
---|
| 179 | + | let C = if ((w == "swopfi")) |
---|
| 180 | + | then invoke(Address(fromBase58String(v)), "exchange", [1], [AttachedPayment(z, r)]) |
---|
| 181 | + | else invoke(Address(fromBase58String(v)), "swap", [y, 0], [AttachedPayment(z, r)]) |
---|
| 182 | + | if ((C == C)) |
---|
181 | 183 | | then { |
---|
182 | | - | let C = k(z) |
---|
183 | | - | if ((C == C)) |
---|
184 | | - | then (C - A) |
---|
| 184 | + | let D = k(A) |
---|
| 185 | + | if ((D == D)) |
---|
| 186 | + | then (D - B) |
---|
185 | 187 | | else throw("Strict value is not equal to itself.") |
---|
186 | 188 | | } |
---|
187 | 189 | | else throw("Strict value is not equal to itself.") |
---|
|
189 | 191 | | else throw("Strict value is not equal to itself.") |
---|
190 | 192 | | } |
---|
191 | 193 | | |
---|
192 | | - | func D (E,F) = { |
---|
193 | | - | let G = parseIntValue(split(F, "/")[0]) |
---|
194 | | - | let H = split(split(F, "/")[1], ";") |
---|
195 | | - | let I = { |
---|
196 | | - | let J = H |
---|
197 | | - | let K = size(J) |
---|
198 | | - | let L = G |
---|
199 | | - | func M (N,O) = if ((O >= K)) |
---|
200 | | - | then N |
---|
201 | | - | else p(N, J[O]) |
---|
| 194 | + | func E (F,G) = { |
---|
| 195 | + | let H = parseIntValue(split(G, "/")[0]) |
---|
| 196 | + | let I = split(split(G, "/")[1], ";") |
---|
| 197 | + | let J = { |
---|
| 198 | + | let K = I |
---|
| 199 | + | let L = size(K) |
---|
| 200 | + | let M = H |
---|
| 201 | + | func N (O,P) = if ((P >= L)) |
---|
| 202 | + | then O |
---|
| 203 | + | else q(O, K[P]) |
---|
202 | 204 | | |
---|
203 | | - | func P (N,O) = if ((O >= K)) |
---|
204 | | - | then N |
---|
| 205 | + | func Q (O,P) = if ((P >= L)) |
---|
| 206 | + | then O |
---|
205 | 207 | | else throw("List size exceeds 3") |
---|
206 | 208 | | |
---|
207 | | - | P(M(M(M(L, 0), 1), 2), 3) |
---|
| 209 | + | Q(N(N(N(M, 0), 1), 2), 3) |
---|
208 | 210 | | } |
---|
209 | | - | if ((I == I)) |
---|
210 | | - | then (E + I) |
---|
| 211 | + | if ((J == J)) |
---|
| 212 | + | then (F + J) |
---|
211 | 213 | | else throw("Strict value is not equal to itself.") |
---|
212 | 214 | | } |
---|
213 | 215 | | |
---|
214 | | - | let Q = split(n, "|") |
---|
215 | | - | let G = parseIntValue(split(Q[0], "/")[0]) |
---|
216 | | - | let R = i(split(split(split(Q[0], "/")[1], ";")[0], ",")[2]) |
---|
217 | | - | let S = { |
---|
218 | | - | let J = Q |
---|
219 | | - | let K = size(J) |
---|
220 | | - | let L = 0 |
---|
221 | | - | func M (N,O) = if ((O >= K)) |
---|
222 | | - | then N |
---|
223 | | - | else D(N, J[O]) |
---|
| 216 | + | let R = split(n, "|") |
---|
| 217 | + | let H = parseIntValue(split(R[0], "/")[0]) |
---|
| 218 | + | let S = i(split(split(split(R[0], "/")[1], ";")[0], ",")[2]) |
---|
| 219 | + | let T = { |
---|
| 220 | + | let K = R |
---|
| 221 | + | let L = size(K) |
---|
| 222 | + | let M = 0 |
---|
| 223 | + | func N (O,P) = if ((P >= L)) |
---|
| 224 | + | then O |
---|
| 225 | + | else E(O, K[P]) |
---|
224 | 226 | | |
---|
225 | | - | func P (N,O) = if ((O >= K)) |
---|
226 | | - | then N |
---|
| 227 | + | func Q (O,P) = if ((P >= L)) |
---|
| 228 | + | then O |
---|
227 | 229 | | else throw("List size exceeds 5") |
---|
228 | 230 | | |
---|
229 | | - | P(M(M(M(M(M(L, 0), 1), 2), 3), 4), 5) |
---|
| 231 | + | Q(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5) |
---|
230 | 232 | | } |
---|
231 | | - | if ((S == S)) |
---|
| 233 | + | if ((T == T)) |
---|
232 | 234 | | then { |
---|
233 | | - | let T = fraction(S, 29, 10000) |
---|
234 | | - | let U = (S - T) |
---|
235 | | - | let V = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
236 | | - | let W = i(V) |
---|
237 | | - | let X = if ((W == b)) |
---|
238 | | - | then T |
---|
| 235 | + | let U = fraction(T, 29, 10000) |
---|
| 236 | + | let V = (T - U) |
---|
| 237 | + | let W = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
| 238 | + | let X = i(W) |
---|
| 239 | + | let Y = if ((X == b)) |
---|
| 240 | + | then U |
---|
239 | 241 | | else { |
---|
240 | | - | let Y = k(b) |
---|
241 | | - | if ((Y == Y)) |
---|
| 242 | + | let Z = k(b) |
---|
| 243 | + | if ((Z == Z)) |
---|
242 | 244 | | then { |
---|
243 | | - | let aa = invoke(Address(fromBase58String(c((("static_asset_" + V) + "_puzzlePool")))), "swap", [a, 0], [AttachedPayment(W, T)]) |
---|
244 | | - | if ((aa == aa)) |
---|
| 245 | + | let ab = invoke(Address(fromBase58String(c((("static_asset_" + W) + "_puzzlePool")))), "swap", [a, 0], [AttachedPayment(X, U)]) |
---|
| 246 | + | if ((ab == ab)) |
---|
245 | 247 | | then { |
---|
246 | | - | let ab = k(b) |
---|
247 | | - | if ((ab == ab)) |
---|
248 | | - | then (ab - Y) |
---|
| 248 | + | let ac = k(b) |
---|
| 249 | + | if ((ac == ac)) |
---|
| 250 | + | then (ac - Z) |
---|
249 | 251 | | else throw("Strict value is not equal to itself.") |
---|
250 | 252 | | } |
---|
251 | 253 | | else throw("Strict value is not equal to itself.") |
---|
252 | 254 | | } |
---|
253 | 255 | | else throw("Strict value is not equal to itself.") |
---|
254 | 256 | | } |
---|
255 | | - | if ((X == X)) |
---|
| 257 | + | if ((Y == Y)) |
---|
256 | 258 | | then { |
---|
257 | | - | let af = if ((ad == "muna")) |
---|
| 259 | + | let ag = if ((ae == "muna")) |
---|
258 | 260 | | then Address(base58'3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU') |
---|
259 | | - | else if ((ad == "keeper")) |
---|
| 261 | + | else if ((ae == "keeper")) |
---|
260 | 262 | | then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM') |
---|
261 | | - | else if ((ad == "tci")) |
---|
| 263 | + | else if ((ae == "tci")) |
---|
262 | 264 | | then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM') |
---|
263 | 265 | | else Address(base58'3PQxXXiQXpWsjDwQLYxyuoPiaLnVHjJguFo') |
---|
264 | | - | let ag = fraction(X, 2, 10) |
---|
265 | | - | let ac = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, (X - ag))]) |
---|
266 | | - | if ((ac == ac)) |
---|
267 | | - | then if ((o > U)) |
---|
268 | | - | then throw(("amount to receive is lower than expected one " + toString(U))) |
---|
269 | | - | else if (if ((R != m.payments[0].assetId)) |
---|
| 266 | + | let ah = fraction(Y, 2, 10) |
---|
| 267 | + | let ad = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, (Y - ah))]) |
---|
| 268 | + | if ((ad == ad)) |
---|
| 269 | + | then if ((o > V)) |
---|
| 270 | + | then throw(("amount to receive is lower than expected one " + toString(V))) |
---|
| 271 | + | else if (if ((S != m.payments[0].assetId)) |
---|
270 | 272 | | then true |
---|
271 | | - | else (G > m.payments[0].amount)) |
---|
| 273 | + | else (H > m.payments[0].amount)) |
---|
272 | 274 | | then throw("wrong asset attached as payment") |
---|
273 | | - | else [ScriptTransfer(m.caller, U, W), ScriptTransfer(af, ag, b)] |
---|
| 275 | + | else [ScriptTransfer(m.caller, V, X), ScriptTransfer(ag, ah, b), ScriptTransfer(m.caller, (k(m.payments[0].assetId) - p), S)] |
---|
274 | 276 | | else throw("Strict value is not equal to itself.") |
---|
275 | 277 | | } |
---|
276 | 278 | | else throw("Strict value is not equal to itself.") |
---|
|
281 | 283 | | |
---|
282 | 284 | | |
---|
283 | 285 | | @Callable(m) |
---|
284 | | - | func addTokenPuzzlePool (j,Z) = if ((m.caller != Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd'))) |
---|
| 286 | + | func addTokenPuzzlePool (j,aa) = if ((m.caller != Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd'))) |
---|
285 | 287 | | then throw("admin only") |
---|
286 | | - | else [StringEntry((("static_asset_" + j) + "_puzzlePool"), Z)] |
---|
| 288 | + | else [StringEntry((("static_asset_" + j) + "_puzzlePool"), aa)] |
---|
287 | 289 | | |
---|
288 | 290 | | |
---|
289 | | - | @Verifier(ah) |
---|
290 | | - | func ai () = sigVerify(ah.bodyBytes, ah.proofs[0], ah.senderPublicKey) |
---|
| 291 | + | @Verifier(ai) |
---|
| 292 | + | func aj () = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey) |
---|
291 | 293 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" |
---|
5 | 5 | | |
---|
6 | 6 | | let b = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' |
---|
7 | 7 | | |
---|
8 | 8 | | func c (d) = { |
---|
9 | 9 | | let e = getString(this, d) |
---|
10 | 10 | | if ($isInstanceOf(e, "String")) |
---|
11 | 11 | | then { |
---|
12 | 12 | | let f = e |
---|
13 | 13 | | f |
---|
14 | 14 | | } |
---|
15 | 15 | | else "" |
---|
16 | 16 | | } |
---|
17 | 17 | | |
---|
18 | 18 | | |
---|
19 | 19 | | func g (h) = { |
---|
20 | 20 | | let e = h |
---|
21 | 21 | | if ($isInstanceOf(e, "ByteVector")) |
---|
22 | 22 | | then { |
---|
23 | 23 | | let f = e |
---|
24 | 24 | | toBase58String(f) |
---|
25 | 25 | | } |
---|
26 | 26 | | else "WAVES" |
---|
27 | 27 | | } |
---|
28 | 28 | | |
---|
29 | 29 | | |
---|
30 | 30 | | func i (j) = if ((j == "WAVES")) |
---|
31 | 31 | | then unit |
---|
32 | 32 | | else fromBase58String(j) |
---|
33 | 33 | | |
---|
34 | 34 | | |
---|
35 | 35 | | func k (h) = { |
---|
36 | 36 | | let e = h |
---|
37 | 37 | | if ($isInstanceOf(e, "Unit")) |
---|
38 | 38 | | then { |
---|
39 | 39 | | let l = e |
---|
40 | 40 | | wavesBalance(this).available |
---|
41 | 41 | | } |
---|
42 | 42 | | else assetBalance(this, value(h)) |
---|
43 | 43 | | } |
---|
44 | 44 | | |
---|
45 | 45 | | |
---|
46 | 46 | | @Callable(m) |
---|
47 | 47 | | func swap (n,o) = { |
---|
48 | | - | func p (q,r) = { |
---|
49 | | - | let s = split(r, ",") |
---|
50 | | - | let t = $Tuple4(s[0], s[1], s[2], s[3]) |
---|
51 | | - | let u = t._1 |
---|
52 | | - | let v = t._2 |
---|
53 | | - | let w = t._3 |
---|
54 | | - | let x = t._4 |
---|
55 | | - | let y = i(w) |
---|
| 48 | + | let p = (k(m.payments[0].assetId) - m.payments[0].amount) |
---|
| 49 | + | func q (r,s) = { |
---|
| 50 | + | let t = split(s, ",") |
---|
| 51 | + | let u = $Tuple4(t[0], t[1], t[2], t[3]) |
---|
| 52 | + | let v = u._1 |
---|
| 53 | + | let w = u._2 |
---|
| 54 | + | let x = u._3 |
---|
| 55 | + | let y = u._4 |
---|
56 | 56 | | let z = i(x) |
---|
57 | | - | let A = k(z) |
---|
58 | | - | if ((A == A)) |
---|
| 57 | + | let A = i(y) |
---|
| 58 | + | let B = k(A) |
---|
| 59 | + | if ((B == B)) |
---|
59 | 60 | | then { |
---|
60 | | - | let B = if ((v == "swopfi")) |
---|
61 | | - | then invoke(Address(fromBase58String(u)), "exchange", [1], [AttachedPayment(y, q)]) |
---|
62 | | - | else invoke(Address(fromBase58String(u)), "swap", [x, 0], [AttachedPayment(y, q)]) |
---|
63 | | - | if ((B == B)) |
---|
| 61 | + | let C = if ((w == "swopfi")) |
---|
| 62 | + | then invoke(Address(fromBase58String(v)), "exchange", [1], [AttachedPayment(z, r)]) |
---|
| 63 | + | else invoke(Address(fromBase58String(v)), "swap", [y, 0], [AttachedPayment(z, r)]) |
---|
| 64 | + | if ((C == C)) |
---|
64 | 65 | | then { |
---|
65 | | - | let C = k(z) |
---|
66 | | - | if ((C == C)) |
---|
67 | | - | then (C - A) |
---|
| 66 | + | let D = k(A) |
---|
| 67 | + | if ((D == D)) |
---|
| 68 | + | then (D - B) |
---|
68 | 69 | | else throw("Strict value is not equal to itself.") |
---|
69 | 70 | | } |
---|
70 | 71 | | else throw("Strict value is not equal to itself.") |
---|
71 | 72 | | } |
---|
72 | 73 | | else throw("Strict value is not equal to itself.") |
---|
73 | 74 | | } |
---|
74 | 75 | | |
---|
75 | | - | func D (E,F) = { |
---|
76 | | - | let G = parseIntValue(split(F, "/")[0]) |
---|
77 | | - | let H = split(split(F, "/")[1], ";") |
---|
78 | | - | let I = { |
---|
79 | | - | let J = H |
---|
80 | | - | let K = size(J) |
---|
81 | | - | let L = G |
---|
82 | | - | func M (N,O) = if ((O >= K)) |
---|
83 | | - | then N |
---|
84 | | - | else p(N, J[O]) |
---|
| 76 | + | func E (F,G) = { |
---|
| 77 | + | let H = parseIntValue(split(G, "/")[0]) |
---|
| 78 | + | let I = split(split(G, "/")[1], ";") |
---|
| 79 | + | let J = { |
---|
| 80 | + | let K = I |
---|
| 81 | + | let L = size(K) |
---|
| 82 | + | let M = H |
---|
| 83 | + | func N (O,P) = if ((P >= L)) |
---|
| 84 | + | then O |
---|
| 85 | + | else q(O, K[P]) |
---|
85 | 86 | | |
---|
86 | | - | func P (N,O) = if ((O >= K)) |
---|
87 | | - | then N |
---|
| 87 | + | func Q (O,P) = if ((P >= L)) |
---|
| 88 | + | then O |
---|
88 | 89 | | else throw("List size exceeds 3") |
---|
89 | 90 | | |
---|
90 | | - | P(M(M(M(L, 0), 1), 2), 3) |
---|
| 91 | + | Q(N(N(N(M, 0), 1), 2), 3) |
---|
91 | 92 | | } |
---|
92 | | - | if ((I == I)) |
---|
93 | | - | then (E + I) |
---|
| 93 | + | if ((J == J)) |
---|
| 94 | + | then (F + J) |
---|
94 | 95 | | else throw("Strict value is not equal to itself.") |
---|
95 | 96 | | } |
---|
96 | 97 | | |
---|
97 | | - | let Q = split(n, "|") |
---|
98 | | - | let G = parseIntValue(split(Q[0], "/")[0]) |
---|
99 | | - | let R = i(split(split(split(Q[0], "/")[1], ";")[0], ",")[2]) |
---|
100 | | - | let S = { |
---|
101 | | - | let J = Q |
---|
102 | | - | let K = size(J) |
---|
103 | | - | let L = 0 |
---|
104 | | - | func M (N,O) = if ((O >= K)) |
---|
105 | | - | then N |
---|
106 | | - | else D(N, J[O]) |
---|
| 98 | + | let R = split(n, "|") |
---|
| 99 | + | let H = parseIntValue(split(R[0], "/")[0]) |
---|
| 100 | + | let S = i(split(split(split(R[0], "/")[1], ";")[0], ",")[2]) |
---|
| 101 | + | let T = { |
---|
| 102 | + | let K = R |
---|
| 103 | + | let L = size(K) |
---|
| 104 | + | let M = 0 |
---|
| 105 | + | func N (O,P) = if ((P >= L)) |
---|
| 106 | + | then O |
---|
| 107 | + | else E(O, K[P]) |
---|
107 | 108 | | |
---|
108 | | - | func P (N,O) = if ((O >= K)) |
---|
109 | | - | then N |
---|
| 109 | + | func Q (O,P) = if ((P >= L)) |
---|
| 110 | + | then O |
---|
110 | 111 | | else throw("List size exceeds 5") |
---|
111 | 112 | | |
---|
112 | | - | P(M(M(M(M(M(L, 0), 1), 2), 3), 4), 5) |
---|
| 113 | + | Q(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5) |
---|
113 | 114 | | } |
---|
114 | | - | if ((S == S)) |
---|
| 115 | + | if ((T == T)) |
---|
115 | 116 | | then { |
---|
116 | | - | let T = fraction(S, 29, 10000) |
---|
117 | | - | let U = (S - T) |
---|
118 | | - | let V = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
119 | | - | let W = i(V) |
---|
120 | | - | let X = if ((W == b)) |
---|
121 | | - | then T |
---|
| 117 | + | let U = fraction(T, 29, 10000) |
---|
| 118 | + | let V = (T - U) |
---|
| 119 | + | let W = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
| 120 | + | let X = i(W) |
---|
| 121 | + | let Y = if ((X == b)) |
---|
| 122 | + | then U |
---|
122 | 123 | | else { |
---|
123 | | - | let Y = k(b) |
---|
124 | | - | if ((Y == Y)) |
---|
| 124 | + | let Z = k(b) |
---|
| 125 | + | if ((Z == Z)) |
---|
125 | 126 | | then { |
---|
126 | | - | let Z = c((("static_asset_" + V) + "_puzzlePool")) |
---|
127 | | - | if ((Z == "")) |
---|
| 127 | + | let aa = c((("static_asset_" + W) + "_puzzlePool")) |
---|
| 128 | + | if ((aa == "")) |
---|
128 | 129 | | then 0 |
---|
129 | 130 | | else { |
---|
130 | | - | let aa = invoke(addressFromStringValue(Z), "swap", [a, 0], [AttachedPayment(W, T)]) |
---|
131 | | - | if ((aa == aa)) |
---|
| 131 | + | let ab = invoke(addressFromStringValue(aa), "swap", [a, 0], [AttachedPayment(X, U)]) |
---|
| 132 | + | if ((ab == ab)) |
---|
132 | 133 | | then { |
---|
133 | | - | let ab = k(b) |
---|
134 | | - | if ((ab == ab)) |
---|
135 | | - | then (ab - Y) |
---|
| 134 | + | let ac = k(b) |
---|
| 135 | + | if ((ac == ac)) |
---|
| 136 | + | then (ac - Z) |
---|
136 | 137 | | else throw("Strict value is not equal to itself.") |
---|
137 | 138 | | } |
---|
138 | 139 | | else throw("Strict value is not equal to itself.") |
---|
139 | 140 | | } |
---|
140 | 141 | | } |
---|
141 | 142 | | else throw("Strict value is not equal to itself.") |
---|
142 | 143 | | } |
---|
143 | | - | if ((X == X)) |
---|
| 144 | + | if ((Y == Y)) |
---|
144 | 145 | | then { |
---|
145 | | - | let ac = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, X)]) |
---|
146 | | - | if ((ac == ac)) |
---|
147 | | - | then if ((o > U)) |
---|
148 | | - | then throw(("amount to receive is lower than expected one " + toString(U))) |
---|
149 | | - | else if (if ((R != m.payments[0].assetId)) |
---|
| 146 | + | let ad = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, Y)]) |
---|
| 147 | + | if ((ad == ad)) |
---|
| 148 | + | then if ((o > V)) |
---|
| 149 | + | then throw(("amount to receive is lower than expected one " + toString(V))) |
---|
| 150 | + | else if (if ((S != m.payments[0].assetId)) |
---|
150 | 151 | | then true |
---|
151 | | - | else (G > m.payments[0].amount)) |
---|
| 152 | + | else (H > m.payments[0].amount)) |
---|
152 | 153 | | then throw("wrong asset attached as payment") |
---|
153 | | - | else [ScriptTransfer(m.caller, U, W)] |
---|
| 154 | + | else [ScriptTransfer(m.caller, V, X), ScriptTransfer(m.caller, (k(m.payments[0].assetId) - p), S)] |
---|
154 | 155 | | else throw("Strict value is not equal to itself.") |
---|
155 | 156 | | } |
---|
156 | 157 | | else throw("Strict value is not equal to itself.") |
---|
157 | 158 | | } |
---|
158 | 159 | | else throw("Strict value is not equal to itself.") |
---|
159 | 160 | | } |
---|
160 | 161 | | |
---|
161 | 162 | | |
---|
162 | 163 | | |
---|
163 | 164 | | @Callable(m) |
---|
164 | | - | func swapWithReferral (n,o,ad) = { |
---|
165 | | - | func p (q,r) = { |
---|
166 | | - | let s = split(r, ",") |
---|
167 | | - | let ae = $Tuple4(s[0], s[1], s[2], s[3]) |
---|
168 | | - | let u = ae._1 |
---|
169 | | - | let v = ae._2 |
---|
170 | | - | let w = ae._3 |
---|
171 | | - | let x = ae._4 |
---|
172 | | - | let y = i(w) |
---|
| 165 | + | func swapWithReferral (n,o,ae) = { |
---|
| 166 | + | let p = (k(m.payments[0].assetId) - m.payments[0].amount) |
---|
| 167 | + | func q (r,s) = { |
---|
| 168 | + | let t = split(s, ",") |
---|
| 169 | + | let af = $Tuple4(t[0], t[1], t[2], t[3]) |
---|
| 170 | + | let v = af._1 |
---|
| 171 | + | let w = af._2 |
---|
| 172 | + | let x = af._3 |
---|
| 173 | + | let y = af._4 |
---|
173 | 174 | | let z = i(x) |
---|
174 | | - | let A = k(z) |
---|
175 | | - | if ((A == A)) |
---|
| 175 | + | let A = i(y) |
---|
| 176 | + | let B = k(A) |
---|
| 177 | + | if ((B == B)) |
---|
176 | 178 | | then { |
---|
177 | | - | let B = if ((v == "swopfi")) |
---|
178 | | - | then invoke(Address(fromBase58String(u)), "exchange", [1], [AttachedPayment(y, q)]) |
---|
179 | | - | else invoke(Address(fromBase58String(u)), "swap", [x, 0], [AttachedPayment(y, q)]) |
---|
180 | | - | if ((B == B)) |
---|
| 179 | + | let C = if ((w == "swopfi")) |
---|
| 180 | + | then invoke(Address(fromBase58String(v)), "exchange", [1], [AttachedPayment(z, r)]) |
---|
| 181 | + | else invoke(Address(fromBase58String(v)), "swap", [y, 0], [AttachedPayment(z, r)]) |
---|
| 182 | + | if ((C == C)) |
---|
181 | 183 | | then { |
---|
182 | | - | let C = k(z) |
---|
183 | | - | if ((C == C)) |
---|
184 | | - | then (C - A) |
---|
| 184 | + | let D = k(A) |
---|
| 185 | + | if ((D == D)) |
---|
| 186 | + | then (D - B) |
---|
185 | 187 | | else throw("Strict value is not equal to itself.") |
---|
186 | 188 | | } |
---|
187 | 189 | | else throw("Strict value is not equal to itself.") |
---|
188 | 190 | | } |
---|
189 | 191 | | else throw("Strict value is not equal to itself.") |
---|
190 | 192 | | } |
---|
191 | 193 | | |
---|
192 | | - | func D (E,F) = { |
---|
193 | | - | let G = parseIntValue(split(F, "/")[0]) |
---|
194 | | - | let H = split(split(F, "/")[1], ";") |
---|
195 | | - | let I = { |
---|
196 | | - | let J = H |
---|
197 | | - | let K = size(J) |
---|
198 | | - | let L = G |
---|
199 | | - | func M (N,O) = if ((O >= K)) |
---|
200 | | - | then N |
---|
201 | | - | else p(N, J[O]) |
---|
| 194 | + | func E (F,G) = { |
---|
| 195 | + | let H = parseIntValue(split(G, "/")[0]) |
---|
| 196 | + | let I = split(split(G, "/")[1], ";") |
---|
| 197 | + | let J = { |
---|
| 198 | + | let K = I |
---|
| 199 | + | let L = size(K) |
---|
| 200 | + | let M = H |
---|
| 201 | + | func N (O,P) = if ((P >= L)) |
---|
| 202 | + | then O |
---|
| 203 | + | else q(O, K[P]) |
---|
202 | 204 | | |
---|
203 | | - | func P (N,O) = if ((O >= K)) |
---|
204 | | - | then N |
---|
| 205 | + | func Q (O,P) = if ((P >= L)) |
---|
| 206 | + | then O |
---|
205 | 207 | | else throw("List size exceeds 3") |
---|
206 | 208 | | |
---|
207 | | - | P(M(M(M(L, 0), 1), 2), 3) |
---|
| 209 | + | Q(N(N(N(M, 0), 1), 2), 3) |
---|
208 | 210 | | } |
---|
209 | | - | if ((I == I)) |
---|
210 | | - | then (E + I) |
---|
| 211 | + | if ((J == J)) |
---|
| 212 | + | then (F + J) |
---|
211 | 213 | | else throw("Strict value is not equal to itself.") |
---|
212 | 214 | | } |
---|
213 | 215 | | |
---|
214 | | - | let Q = split(n, "|") |
---|
215 | | - | let G = parseIntValue(split(Q[0], "/")[0]) |
---|
216 | | - | let R = i(split(split(split(Q[0], "/")[1], ";")[0], ",")[2]) |
---|
217 | | - | let S = { |
---|
218 | | - | let J = Q |
---|
219 | | - | let K = size(J) |
---|
220 | | - | let L = 0 |
---|
221 | | - | func M (N,O) = if ((O >= K)) |
---|
222 | | - | then N |
---|
223 | | - | else D(N, J[O]) |
---|
| 216 | + | let R = split(n, "|") |
---|
| 217 | + | let H = parseIntValue(split(R[0], "/")[0]) |
---|
| 218 | + | let S = i(split(split(split(R[0], "/")[1], ";")[0], ",")[2]) |
---|
| 219 | + | let T = { |
---|
| 220 | + | let K = R |
---|
| 221 | + | let L = size(K) |
---|
| 222 | + | let M = 0 |
---|
| 223 | + | func N (O,P) = if ((P >= L)) |
---|
| 224 | + | then O |
---|
| 225 | + | else E(O, K[P]) |
---|
224 | 226 | | |
---|
225 | | - | func P (N,O) = if ((O >= K)) |
---|
226 | | - | then N |
---|
| 227 | + | func Q (O,P) = if ((P >= L)) |
---|
| 228 | + | then O |
---|
227 | 229 | | else throw("List size exceeds 5") |
---|
228 | 230 | | |
---|
229 | | - | P(M(M(M(M(M(L, 0), 1), 2), 3), 4), 5) |
---|
| 231 | + | Q(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5) |
---|
230 | 232 | | } |
---|
231 | | - | if ((S == S)) |
---|
| 233 | + | if ((T == T)) |
---|
232 | 234 | | then { |
---|
233 | | - | let T = fraction(S, 29, 10000) |
---|
234 | | - | let U = (S - T) |
---|
235 | | - | let V = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
236 | | - | let W = i(V) |
---|
237 | | - | let X = if ((W == b)) |
---|
238 | | - | then T |
---|
| 235 | + | let U = fraction(T, 29, 10000) |
---|
| 236 | + | let V = (T - U) |
---|
| 237 | + | let W = split(n, ",")[(size(split(n, ",")) - 1)] |
---|
| 238 | + | let X = i(W) |
---|
| 239 | + | let Y = if ((X == b)) |
---|
| 240 | + | then U |
---|
239 | 241 | | else { |
---|
240 | | - | let Y = k(b) |
---|
241 | | - | if ((Y == Y)) |
---|
| 242 | + | let Z = k(b) |
---|
| 243 | + | if ((Z == Z)) |
---|
242 | 244 | | then { |
---|
243 | | - | let aa = invoke(Address(fromBase58String(c((("static_asset_" + V) + "_puzzlePool")))), "swap", [a, 0], [AttachedPayment(W, T)]) |
---|
244 | | - | if ((aa == aa)) |
---|
| 245 | + | let ab = invoke(Address(fromBase58String(c((("static_asset_" + W) + "_puzzlePool")))), "swap", [a, 0], [AttachedPayment(X, U)]) |
---|
| 246 | + | if ((ab == ab)) |
---|
245 | 247 | | then { |
---|
246 | | - | let ab = k(b) |
---|
247 | | - | if ((ab == ab)) |
---|
248 | | - | then (ab - Y) |
---|
| 248 | + | let ac = k(b) |
---|
| 249 | + | if ((ac == ac)) |
---|
| 250 | + | then (ac - Z) |
---|
249 | 251 | | else throw("Strict value is not equal to itself.") |
---|
250 | 252 | | } |
---|
251 | 253 | | else throw("Strict value is not equal to itself.") |
---|
252 | 254 | | } |
---|
253 | 255 | | else throw("Strict value is not equal to itself.") |
---|
254 | 256 | | } |
---|
255 | | - | if ((X == X)) |
---|
| 257 | + | if ((Y == Y)) |
---|
256 | 258 | | then { |
---|
257 | | - | let af = if ((ad == "muna")) |
---|
| 259 | + | let ag = if ((ae == "muna")) |
---|
258 | 260 | | then Address(base58'3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU') |
---|
259 | | - | else if ((ad == "keeper")) |
---|
| 261 | + | else if ((ae == "keeper")) |
---|
260 | 262 | | then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM') |
---|
261 | | - | else if ((ad == "tci")) |
---|
| 263 | + | else if ((ae == "tci")) |
---|
262 | 264 | | then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM') |
---|
263 | 265 | | else Address(base58'3PQxXXiQXpWsjDwQLYxyuoPiaLnVHjJguFo') |
---|
264 | | - | let ag = fraction(X, 2, 10) |
---|
265 | | - | let ac = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, (X - ag))]) |
---|
266 | | - | if ((ac == ac)) |
---|
267 | | - | then if ((o > U)) |
---|
268 | | - | then throw(("amount to receive is lower than expected one " + toString(U))) |
---|
269 | | - | else if (if ((R != m.payments[0].assetId)) |
---|
| 266 | + | let ah = fraction(Y, 2, 10) |
---|
| 267 | + | let ad = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, (Y - ah))]) |
---|
| 268 | + | if ((ad == ad)) |
---|
| 269 | + | then if ((o > V)) |
---|
| 270 | + | then throw(("amount to receive is lower than expected one " + toString(V))) |
---|
| 271 | + | else if (if ((S != m.payments[0].assetId)) |
---|
270 | 272 | | then true |
---|
271 | | - | else (G > m.payments[0].amount)) |
---|
| 273 | + | else (H > m.payments[0].amount)) |
---|
272 | 274 | | then throw("wrong asset attached as payment") |
---|
273 | | - | else [ScriptTransfer(m.caller, U, W), ScriptTransfer(af, ag, b)] |
---|
| 275 | + | else [ScriptTransfer(m.caller, V, X), ScriptTransfer(ag, ah, b), ScriptTransfer(m.caller, (k(m.payments[0].assetId) - p), S)] |
---|
274 | 276 | | else throw("Strict value is not equal to itself.") |
---|
275 | 277 | | } |
---|
276 | 278 | | else throw("Strict value is not equal to itself.") |
---|
277 | 279 | | } |
---|
278 | 280 | | else throw("Strict value is not equal to itself.") |
---|
279 | 281 | | } |
---|
280 | 282 | | |
---|
281 | 283 | | |
---|
282 | 284 | | |
---|
283 | 285 | | @Callable(m) |
---|
284 | | - | func addTokenPuzzlePool (j,Z) = if ((m.caller != Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd'))) |
---|
| 286 | + | func addTokenPuzzlePool (j,aa) = if ((m.caller != Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd'))) |
---|
285 | 287 | | then throw("admin only") |
---|
286 | | - | else [StringEntry((("static_asset_" + j) + "_puzzlePool"), Z)] |
---|
| 288 | + | else [StringEntry((("static_asset_" + j) + "_puzzlePool"), aa)] |
---|
287 | 289 | | |
---|
288 | 290 | | |
---|
289 | | - | @Verifier(ah) |
---|
290 | | - | func ai () = sigVerify(ah.bodyBytes, ah.proofs[0], ah.senderPublicKey) |
---|
| 291 | + | @Verifier(ai) |
---|
| 292 | + | func aj () = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey) |
---|
291 | 293 | | |
---|