tx · 2BndNUPbwUVrLRKZUGWRGu9HRxA4t71PbiMpqYwP7Mnt

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02900000 Waves

2022.12.14 13:34 [2359863] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "2BndNUPbwUVrLRKZUGWRGu9HRxA4t71PbiMpqYwP7Mnt", "fee": 2900000, "feeAssetId": null, "timestamp": 1671014101148, "version": 1, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "46RrTpwJtioKjFZ9P1NYV2hsJ4bY4wEtYymHhqKMNeFXs3w9DDseTJhXGkVHBskRSJxSqLVHtfhR78jGGKzyTtMf" ], "script": "base64:AAIFAAAAAAAAEoIIAhIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEIEgASAwoBGBIKCggICAgICAEICBIECgIIARIDCgEBEgMKAQESBAoCCAESBgoECAgICBIECgIICBIECgIICBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIIgZTQ0FMRTgiBU1VTFQ4IgdTQ0FMRTE4IgZNVUxUMTgiDlBPT0xXRUlHSFRNVUxUIg5HV1h2aXJ0dWFsUE9PTCIMbGFiZWxQb29sc0xwIg1kZWZhdWx0U3ByZWFkIhFkZWNpbWFsc011bHRQcmljZSIDU0VQIgVFTVBUWSIKUG9vbEFjdGl2ZSIPUG9vbFB1dERpc2FibGVkIhNQb29sTWF0Y2hlckRpc2FibGVkIgxQb29sU2h1dGRvd24iEmlkeEludGVybmFsQXNzZXRJZCIPaWR4UmVzdXRBY3Rpb25zIiBpZHhJZkFzc2V0SWRDYWxjdWxhdGlvblBlcmZvcm1lZCIOaWR4UG9vbEFkZHJlc3MiDWlkeFBvb2xTdGF0dXMiEGlkeFBvb2xMUEFzc2V0SWQiDWlkeEFtdEFzc2V0SWQiD2lkeFByaWNlQXNzZXRJZCIOaWR4QW10QXNzZXREY20iEGlkeFByaWNlQXNzZXREY20iDmlkeElBbXRBc3NldElkIhBpZHhJUHJpY2VBc3NldElkIg1pZHhMUEFzc2V0RGNtIgtpZHhQb29sVHlwZSITcG9vbExhYmVsV3hFbWlzc2lvbiIPdmFsaWRQb29sTGFiZWxzIhZrZXlBbGxvd2VkTHBTY3JpcHRIYXNoIhxrZXlBbGxvd2VkTHBTdGFibGVTY3JpcHRIYXNoIiFrZXlBbGxvd2VkTHBTdGFibGVBZGRvblNjcmlwdEhhc2giEGtleUZhY3RvcnlDb25maWciD2tleUxwVG9rZW5zTGlzdCIRa2V5UG9vbFNjcmlwdEhhc2giDWtleU1hdGNoZXJQdWIiGGtleUxlZ2FjeUZhY3RvcnlDb250cmFjdCIOa2V5TGVnYWN5UG9vbHMiE2tleU1hbmFnZXJQdWJsaWNLZXkiGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5Ig9rZXlBZG1pblB1YktleXMiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiDmtleVByaWNlQXNzZXRzIhBrZXlQcmljZURlY2ltYWxzIhNrZXlBbGxQb29sc1NodXRkb3duIhZrZXlOZXh0SW50ZXJuYWxBc3NldElkIg9rZXlQb29sVG9XZWlnaHQiC3Bvb2xBZGRyZXNzIhZrZXlQb29sVG9XZWlnaHRIaXN0b3J5IgNudW0iH2tleU1hcHBpbmdzSW50ZXJuYWwyYmFzZUFzc2V0SWQiEWludGVybmFsQmFzZUFzc2V0Ih9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiDWtleVBvb2xDb25maWciE2Ftb3VudEFzc2V0SW50ZXJuYWwiEnByaWNlQXNzZXRJbnRlcm5hbCIha2V5UG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIg5hc3NldHNJbnRlcm5hbCILJHQwMzYzMjM2OTQiJWtleUFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiHWtleU1hcHBpbmdMcEFzc2V0VG9Qb29sQXNzZXRzIgpscEFzc2V0U3RyIh1rZXlNYXBwaW5nUG9vbEFzc2V0c1RvTHBhc3NldCIYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyIhdpbnRlcm5hbFByaWNlQXNzZXRJZFN0ciINa2V5UG9vbFNwcmVhZCIpa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMiE3Bvb2xDb250cmFjdEFkZHJlc3MiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IiprZXlNYXBwaW5nUG9vbExQQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MiDWtleVd4RW1pc3Npb24iDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCIIa2V5SW5GZWUiD2tleUluRmVlRGVmYXVsdCIJa2V5T3V0RmVlIhBrZXlPdXRGZWVEZWZhdWx0Ig9nZXRTdHJpbmdPckZhaWwiA2tleSIQZ2V0Qm9vbGVhbk9yRmFpbCIMZ2V0SW50T3JGYWlsIhhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAiGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAiFElkeEZhY3RvcnlDZmdJZG9EYXBwIhVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAiGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAiFUlkeEZhY3RvcnlDZmdSZXN0RGFwcCIZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcCIUSWR4RmFjdG9yeUNmZ0Rhb0RhcHAiGklkeEZhY3RvcnlDZmdNYXJrZXRpbmdEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCIWSWR4RmFjdG9yeUNmZ0JpcmRzRGFwcCIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIg5nZXRQcmljZUFzc2V0cyIHJG1hdGNoMCIBcyIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIQZGF0YUZhY3RvcnlDZmdWMyIOc3Rha2luZ0FkZHJlc3MiD2Jvb3N0aW5nQWRkcmVzcyILaWRvQ29udHJhY3QiDHRlYW1Db250cmFjdCIQZW1pc3Npb25Db250cmFjdCIMcmVzdENvbnRyYWN0IhBzbGlwcGFnZUNvbnRyYWN0IgtkYW9Db250cmFjdCIRbWFya2V0aW5nQ29udHJhY3QiEmd3eFJld2FyZHNDb250cmFjdCINYmlyZHNDb250cmFjdCIOZGF0YUZhY3RvcnlDZmciC2RhdGFQb29sQ2ZnIgpwb29sU3RhdHVzIglscEFzc2V0SWQiDmFtb3VudEFzc2V0U3RyIg1wcmljZUFzc2V0U3RyIhNhbW91bnRBc3NldERlY2ltYWxzIhJwcmljZUFzc2V0RGVjaW1hbHMiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiD2xwQXNzZXREZWNpbWFscyIIcG9vbFR5cGUiFWRhdGFNYXBwaW5nUG9vbEFzc2V0cyIWaW50ZXJuYWxBbW91bnRBc3NldFN0ciIVaW50ZXJuYWxQcmljZUFzc2V0U3RyIg1nZXRQb29sQ29uZmlnIgpwb29sQXNzZXRzIhpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZSIKYXNzZXRJZFN0ciILaW5jcmVtZW50b3IiD2ludGVybmFsQXNzZXRJZCIYY3VycmVudEluZGV4T2ZJbnRlcm5hbElkIgZyZXN1bHQiEm5ld0ludGVybmFsQXNzZXRJZCIJbXVzdEFkbWluIghhZG1pblBLcyIJaXNNYW5hZ2VyIhZpbnRPckRlZmF1bHRPckZhbGxiYWNrIgprZXlEZWZhdWx0Ig12YWx1ZUZhbGxiYWNrIg9zdGFraW5nQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiEHNscGlwYWdlQ29udHJhY3QiDXByaWNlRGVjaW1hbHMiC2NoZWNrQ2FsbGVyIhBtYXRoY2hlclB1YjU4U3RyIgptYXRoY2VyUHViIhVsZWdhY3lGYWN0b3J5Q29udHJhY3QiC2xlZ2FjeVBvb2xzIhNhc3NldHNTdG9yZUNvbnRyYWN0IhZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0IgtwcmljZUFzc2V0cyIFY2hla3MiF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sQ29uZmlnIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJZFN0ciIUdXNkY1VzZHRMcEFzc2V0SWRTdHIiEW9uTW9kaWZ5V2VpZ2h0QnRjIhFvbk1vZGlmeVdlaWdodEV0aCIUb25Nb2RpZnlXZWln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", "chainId": 84, "height": 2359863, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6Kujaw5qNvJ7gLTKo2PUbZkZHyQVmKbGdowYwajJUNU9 Next: 3sBXQNMaANfjiNEf3iZrXSuNoLC7uhKHLVsWdE6eaq6N Diff:
OldNewDifferences
167167 func ax (ay,az) = ((("%s%s%s__wxEmission__" + ay) + "__") + az)
168168
169169
170-func aA (aB) = valueOrErrorMessage(getString(this, aB), ("No data for this.key=" + aB))
170+func aA (Y) = ("%s%s__inFee__" + Y)
171171
172172
173-func aC (aB) = valueOrErrorMessage(getBoolean(this, aB), ("No data for this.key=" + aB))
173+func aB () = "%s__inFeeDefault"
174174
175175
176-func aD (aB) = valueOrErrorMessage(getInteger(this, aB), ("No data for this.key=" + aB))
176+func aC (Y) = ("%s%s__outFee__" + Y)
177177
178178
179-let aE = 1
180-
181-let aF = 2
182-
183-let aG = 3
184-
185-let aH = 4
186-
187-let aI = 5
188-
189-let aJ = 6
190-
191-let aK = 7
192-
193-let aL = 8
194-
195-let aM = 9
196-
197-let aN = 10
198-
199-let aO = 11
200-
201-func aP (aQ) = addressFromStringValue(aQ[aF])
179+func aD () = "%s__outFeeDefault"
202180
203181
204-func aR (aQ) = addressFromStringValue(aQ[aI])
182+func aE (aF) = valueOrErrorMessage(getString(this, aF), ("No data for this.key=" + aF))
205183
206184
207-func aS (aQ) = addressFromStringValue(aQ[aE])
185+func aG (aF) = valueOrErrorMessage(getBoolean(this, aF), ("No data for this.key=" + aF))
208186
209187
210-func aT (aQ) = addressFromStringValue(aQ[aN])
188+func aH (aF) = valueOrErrorMessage(getInteger(this, aF), ("No data for this.key=" + aF))
211189
212190
213-func aU () = {
214- let aV = getString(T())
215- if ($isInstanceOf(aV, "String"))
191+let aI = 1
192+
193+let aJ = 2
194+
195+let aK = 3
196+
197+let aL = 4
198+
199+let aM = 5
200+
201+let aN = 6
202+
203+let aO = 7
204+
205+let aP = 8
206+
207+let aQ = 9
208+
209+let aR = 10
210+
211+let aS = 11
212+
213+func aT (aU) = addressFromStringValue(aU[aJ])
214+
215+
216+func aV (aU) = addressFromStringValue(aU[aM])
217+
218+
219+func aW (aU) = addressFromStringValue(aU[aI])
220+
221+
222+func aX (aU) = addressFromStringValue(aU[aR])
223+
224+
225+func aY () = {
226+ let aZ = getString(T())
227+ if ($isInstanceOf(aZ, "String"))
216228 then {
217- let aW = aV
218- if ((size(aW) == 0))
229+ let ba = aZ
230+ if ((size(ba) == 0))
219231 then nil
220- else split(aW, j)
232+ else split(ba, j)
221233 }
222234 else nil
223235 }
224236
225237
226-func aX () = {
227- let aV = getString(O())
228- if ($isInstanceOf(aV, "String"))
238+func bb () = {
239+ let aZ = getString(O())
240+ if ($isInstanceOf(aZ, "String"))
229241 then {
230- let aW = aV
231- fromBase58String(aW)
242+ let ba = aZ
243+ fromBase58String(ba)
232244 }
233- else if ($isInstanceOf(aV, "Unit"))
245+ else if ($isInstanceOf(aZ, "Unit"))
234246 then unit
235247 else throw("Match error")
236248 }
237249
238250
239-func aY () = {
240- let aV = getString(P())
241- if ($isInstanceOf(aV, "String"))
251+func bc () = {
252+ let aZ = getString(P())
253+ if ($isInstanceOf(aZ, "String"))
242254 then {
243- let aW = aV
244- fromBase58String(aW)
255+ let ba = aZ
256+ fromBase58String(ba)
245257 }
246- else if ($isInstanceOf(aV, "Unit"))
258+ else if ($isInstanceOf(aZ, "Unit"))
247259 then unit
248260 else throw("Match error")
249261 }
250262
251263
252-let aZ = throw("Permission denied")
264+let bd = throw("Permission denied")
253265
254-func ba (bb) = if ((bb.caller == this))
266+func be (bf) = if ((bf.caller == this))
255267 then true
256- else aZ
268+ else bd
257269
258270
259-func bc (bb) = {
260- let aV = aX()
261- if ($isInstanceOf(aV, "ByteVector"))
271+func bg (bf) = {
272+ let aZ = bb()
273+ if ($isInstanceOf(aZ, "ByteVector"))
262274 then {
263- let bd = aV
264- if ((bb.callerPublicKey == bd))
275+ let bh = aZ
276+ if ((bf.callerPublicKey == bh))
265277 then true
266- else aZ
278+ else bd
267279 }
268- else if ($isInstanceOf(aV, "Unit"))
269- then ba(bb)
280+ else if ($isInstanceOf(aZ, "Unit"))
281+ then be(bf)
270282 else throw("Match error")
271283 }
272284
273285
274-func be (bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp], j)
286+func bi (bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt], j)
275287
276288
277-func bq (bf,bg,bh,bi,bj,bk,bl) = makeString(["%s%s%s%s%s%s", bf, bg, bh, bi, bj, bk, bl], j)
289+func bu (bj,bk,bl,bm,bn,bo,bp) = makeString(["%s%s%s%s%s%s", bj, bk, bl, bm, bn, bo, bp], j)
278290
279291
280-func br (Y,bs,bt,bu,bv,bw,bx,by,bz,bA,bB) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Y, bs, bt, bu, bv, toString(bw), toString(bx), toString(by), toString(bz), toString(bA), bB], j)
292+func bv (Y,bw,bx,by,bz,bA,bB,bC,bD,bE,bF) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Y, bw, bx, by, bz, toString(bA), toString(bB), toString(bC), toString(bD), toString(bE), bF], j)
281293
282294
283-func bC (bD,bE) = makeString(["%d%d", toString(bD), toString(bE)], j)
295+func bG (bH,bI) = makeString(["%d%d", toString(bH), toString(bI)], j)
284296
285297
286-func bF (Y) = {
287- let bG = split(aA(as(Y)), j)
288- let ag = bG[1]
289- let ah = bG[2]
290- split(aA(af(ag, ah)), j)
298+func bJ (Y) = {
299+ let bK = split(aE(as(Y)), j)
300+ let ag = bK[1]
301+ let ah = bK[2]
302+ split(aE(af(ag, ah)), j)
291303 }
292304
293305
294-func bH (bI,bJ) = {
295- let bK = valueOrElse(getInteger(this, ad(bI)), 0)
296- let bL = valueOrElse(getInteger(this, W()), 0)
297- let bM = if ((bK == 0))
306+func bL (bM,bN) = {
307+ let bO = valueOrElse(getInteger(this, ad(bM)), 0)
308+ let bP = valueOrElse(getInteger(this, W()), 0)
309+ let bQ = if ((bO == 0))
298310 then {
299- let bN = (bL + bJ)
300- $Tuple3(bN, [IntegerEntry(W(), bN), IntegerEntry(ad(bI), bN), StringEntry(ab(bN), bI)], true)
311+ let bR = (bP + bN)
312+ $Tuple3(bR, [IntegerEntry(W(), bR), IntegerEntry(ad(bM), bR), StringEntry(ab(bR), bM)], true)
301313 }
302- else $Tuple3(bK, nil, false)
303- bM
314+ else $Tuple3(bO, nil, false)
315+ bQ
304316 }
305317
306318
307-func bO (bb) = {
308- let bP = split(valueOrElse(getString(Q()), k), j)
309- if (containsElement(bP, toBase58String(bb.callerPublicKey)))
319+func bS (bf) = {
320+ let bT = split(valueOrElse(getString(Q()), k), j)
321+ if (containsElement(bT, toBase58String(bf.callerPublicKey)))
310322 then true
311323 else {
312- let bQ = bc(bb)
313- if ((bQ == bQ))
324+ let bU = bg(bf)
325+ if ((bU == bU))
314326 then true
315327 else throw("Strict value is not equal to itself.")
316328 }
317329 }
318330
319331
320-@Callable(bb)
321-func constructor (bR,bS,bh,bi,bj,bk,bT,bU) = {
322- let bV = bc(bb)
323- if ((bV == bV))
324- then [StringEntry(I(), bq(bR, bS, bh, bi, bj, bk, bT)), IntegerEntry(U(), bU)]
332+func bV (aF,bW,bX) = valueOrElse(getInteger(this, aF), valueOrElse(getInteger(this, bW), bX))
333+
334+
335+@Callable(bf)
336+func constructor (bY,bZ,bl,bm,bn,bo,ca,cb) = {
337+ let cc = bg(bf)
338+ if ((cc == cc))
339+ then [StringEntry(I(), bu(bY, bZ, bl, bm, bn, bo, ca)), IntegerEntry(U(), cb)]
325340 else throw("Strict value is not equal to itself.")
326341 }
327342
328343
329344
330-@Callable(bb)
331-func constructorV2 (bW) = {
332- let bV = bc(bb)
333- if ((bV == bV))
345+@Callable(bf)
346+func constructorV2 (cd) = {
347+ let cc = bg(bf)
348+ if ((cc == cc))
334349 then {
335- let bX = addressFromPublicKey(fromBase58String(bW))
336- if ((bX == bX))
337- then [StringEntry(L(), bW)]
350+ let ce = addressFromPublicKey(fromBase58String(cd))
351+ if ((ce == ce))
352+ then [StringEntry(L(), cd)]
338353 else throw("Strict value is not equal to itself.")
339354 }
340355 else throw("Strict value is not equal to itself.")
342357
343358
344359
345-@Callable(bb)
346-func constructorV3 (bm,bn,bo,bp) = {
347- let bV = bc(bb)
348- if ((bV == bV))
360+@Callable(bf)
361+func constructorV3 (bq,br,bs,bt) = {
362+ let cc = bg(bf)
363+ if ((cc == cc))
349364 then {
350- let aQ = split(aA(I()), j)
351-[StringEntry(I(), be(aQ[1], aQ[2], aQ[3], aQ[4], aQ[5], aQ[6], aQ[7], bm, bn, bo, bp))]
365+ let aU = split(aE(I()), j)
366+[StringEntry(I(), bi(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], bq, br, bs, bt))]
352367 }
353368 else throw("Strict value is not equal to itself.")
354369 }
355370
356371
357372
358-@Callable(bb)
359-func constructorV4 (bY,bZ) = {
360- let bV = bc(bb)
361- if ((bV == bV))
362- then [StringEntry(M(), bY), StringEntry(N(), makeString(bZ, j))]
373+@Callable(bf)
374+func constructorV4 (cf,cg) = {
375+ let cc = bg(bf)
376+ if ((cc == cc))
377+ then [StringEntry(M(), cf), StringEntry(N(), makeString(cg, j))]
363378 else throw("Strict value is not equal to itself.")
364379 }
365380
366381
367382
368-@Callable(bb)
369-func constructorV5 (ca) = {
370- let bV = bc(bb)
371- if ((bV == bV))
372- then [StringEntry(R(), ca)]
383+@Callable(bf)
384+func constructorV5 (ch) = {
385+ let cc = bg(bf)
386+ if ((cc == cc))
387+ then [StringEntry(R(), ch)]
373388 else throw("Strict value is not equal to itself.")
374389 }
375390
376391
377392
378-@Callable(bb)
379-func constructorV6 (cb,cc) = {
380- let cd = [bc(bb), if ((addressFromString(cb) != unit))
393+@Callable(bf)
394+func constructorV6 (ci,cj) = {
395+ let ck = [bg(bf), if ((addressFromString(ci) != unit))
381396 then true
382397 else "invalid voting emission contract address"]
383- if ((cd == cd))
384- then [StringEntry(S(), cb), StringEntry(T(), makeString(cc, j))]
398+ if ((ck == ck))
399+ then [StringEntry(S(), ci), StringEntry(T(), makeString(cj, j))]
385400 else throw("Strict value is not equal to itself.")
386401 }
387402
388403
389404
390-@Callable(bb)
391-func setManager (ce) = {
392- let bV = bc(bb)
393- if ((bV == bV))
405+@Callable(bf)
406+func setManager (cl) = {
407+ let cc = bg(bf)
408+ if ((cc == cc))
394409 then {
395- let cf = fromBase58String(ce)
396- if ((cf == cf))
397- then [StringEntry(P(), ce)]
410+ let cm = fromBase58String(cl)
411+ if ((cm == cm))
412+ then [StringEntry(P(), cl)]
398413 else throw("Strict value is not equal to itself.")
399414 }
400415 else throw("Strict value is not equal to itself.")
402417
403418
404419
405-@Callable(bb)
420+@Callable(bf)
406421 func confirmManager () = {
407- let cg = aY()
408- let ch = if (isDefined(cg))
422+ let cn = bc()
423+ let co = if (isDefined(cn))
409424 then true
410425 else throw("No pending manager")
411- if ((ch == ch))
426+ if ((co == co))
412427 then {
413- let ci = if ((bb.callerPublicKey == value(cg)))
428+ let cp = if ((bf.callerPublicKey == value(cn)))
414429 then true
415430 else throw("You are not pending manager")
416- if ((ci == ci))
417- then [StringEntry(O(), toBase58String(value(cg))), DeleteEntry(P())]
431+ if ((cp == cp))
432+ then [StringEntry(O(), toBase58String(value(cn))), DeleteEntry(P())]
418433 else throw("Strict value is not equal to itself.")
419434 }
420435 else throw("Strict value is not equal to itself.")
422437
423438
424439
425-@Callable(bb)
426-func setAdmins (cj) = {
427- let bV = bc(bb)
428- if ((bV == bV))
429- then [StringEntry(Q(), makeString(cj, j))]
440+@Callable(bf)
441+func setAdmins (cq) = {
442+ let cc = bg(bf)
443+ if ((cc == cc))
444+ then [StringEntry(Q(), makeString(cq, j))]
430445 else throw("Strict value is not equal to itself.")
431446 }
432447
433448
434449
435-@Callable(bb)
436-func activateNewPool (Y,bu,bv,ck,cl,cm,bB,cn) = {
437- let bV = bO(bb)
438- if ((bV == bV))
450+@Callable(bf)
451+func activateNewPool (Y,by,bz,cr,cs,ct,bF,cu) = {
452+ let cc = bS(bf)
453+ if ((cc == cc))
439454 then if (isDefined(getString(as(Y))))
440455 then throw((("Pool address " + Y) + " already registered."))
441456 else {
442- let co = bH(bu, 1)
443- let cp = co._1
444- let cq = bH(bv, if (co._3)
457+ let cv = bL(by, 1)
458+ let cw = cv._1
459+ let cx = bL(bz, if (cv._3)
445460 then 2
446461 else 1)
447- let cr = cq._1
448- let cs = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
449- let ct = getBinaryValue(K())
450- let cu = getString(this, af(toString(cp), toString(cr)))
451- if (isDefined(cu))
452- then throw((((("Pool " + bu) + "/") + bv) + " has already been activated."))
462+ let cy = cx._1
463+ let cz = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
464+ let cA = getBinaryValue(K())
465+ let cB = getString(this, af(toString(cw), toString(cy)))
466+ if (isDefined(cB))
467+ then throw((((("Pool " + by) + "/") + bz) + " has already been activated."))
453468 else {
454- let cv = value(getString(this, af(toString(cp), toString(cr))))
455- let cw = if ((bu == "WAVES"))
469+ let cC = value(getString(this, af(toString(cw), toString(cy))))
470+ let cD = if ((by == "WAVES"))
456471 then i
457- else pow(10, 0, value(assetInfo(fromBase58String(bu))).decimals, 0, 0, DOWN)
458- let cx = if ((bv == "WAVES"))
472+ else pow(10, 0, value(assetInfo(fromBase58String(by))).decimals, 0, 0, DOWN)
473+ let cE = if ((bz == "WAVES"))
459474 then i
460- else pow(10, 0, value(assetInfo(fromBase58String(bv))).decimals, 0, 0, DOWN)
461- let cy = Issue(ck, cl, 1, 8, true)
462- let bt = calculateAssetId(cy)
463- let cz = toBase58String(bt)
464- let cA = invoke(addressFromStringValue(Y), "activate", [bu, bv], nil)
465- if ((cA == cA))
466- then if ((cA != "success"))
475+ else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
476+ let cF = Issue(cr, cs, 1, 8, true)
477+ let bx = calculateAssetId(cF)
478+ let cG = toBase58String(bx)
479+ let cH = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
480+ if ((cH == cH))
481+ then if ((cH != "success"))
467482 then throw("Pool initialisation error happened.")
468483 else {
469- let ca = addressFromStringValue(aA(R()))
470- let cB = invoke(ca, "createOrUpdate", [cz, ck, false], nil)
471- if ((cB == cB))
484+ let ch = addressFromStringValue(aE(R()))
485+ let cI = invoke(ch, "createOrUpdate", [cG, cr, false], nil)
486+ if ((cI == cI))
472487 then {
473- let cC = invoke(ca, "addLabel", [cz, g], nil)
474- if ((cC == cC))
488+ let cJ = invoke(ch, "addLabel", [cG, g], nil)
489+ if ((cJ == cJ))
475490 then {
476- let cD = invoke(ca, "setLogo", [cz, cn], nil)
477- if ((cD == cD))
491+ let cK = invoke(ch, "setLogo", [cG, cu], nil)
492+ if ((cK == cK))
478493 then {
479- let cE = invoke(ca, "addAssetsLink", [bu, bv, cz], nil)
480- if ((cE == cE))
494+ let cL = invoke(ch, "addAssetsLink", [by, bz, cG], nil)
495+ if ((cL == cL))
481496 then {
482- let cF = invoke(ca, "increaseAssetPoolsNumber", [bu], nil)
483- if ((cF == cF))
484- then $Tuple2(((co._2 ++ cq._2) ++ [cy, Burn(bt, 1), StringEntry(af(toString(cp), toString(cr)), br(Y, toString(l), cz, bu, bv, cw, cx, cp, cr, i, bB)), StringEntry(am(cz), bC(cp, cr)), StringEntry(ao(toString(cp), toString(cr)), ("%s__" + cz)), StringEntry(as(Y), bC(cp, cr)), StringEntry(au(cp, cr), Y), StringEntry(aw(cz), Y), StringEntry(av(Y), cz), IntegerEntry(X(Y), cm), IntegerEntry(ar(Y), h)]), cz)
497+ let cM = invoke(ch, "increaseAssetPoolsNumber", [by], nil)
498+ if ((cM == cM))
499+ then $Tuple2(((cv._2 ++ cx._2) ++ [cF, Burn(bx, 1), StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(l), cG, by, bz, cD, cE, cw, cy, i, bF)), StringEntry(am(cG), bG(cw, cy)), StringEntry(ao(toString(cw), toString(cy)), ("%s__" + cG)), StringEntry(as(Y), bG(cw, cy)), StringEntry(au(cw, cy), Y), StringEntry(aw(cG), Y), StringEntry(av(Y), cG), IntegerEntry(X(Y), ct), IntegerEntry(ar(Y), h)]), cG)
485500 else throw("Strict value is not equal to itself.")
486501 }
487502 else throw("Strict value is not equal to itself.")
500515
501516
502517
503-@Callable(bb)
504-func managePool (Y,cG) = {
505- let bV = bc(bb)
506- if ((bV == bV))
518+@Callable(bf)
519+func managePool (Y,cN) = {
520+ let cc = bg(bf)
521+ if ((cc == cc))
507522 then {
508- let cu = bF(Y)
509- let bs = cu[t]
510- let cz = cu[u]
511- let bu = cu[v]
512- let bv = cu[w]
513- let cw = parseIntValue(cu[x])
514- let cx = parseIntValue(cu[y])
515- let cp = parseIntValue(cu[z])
516- let cr = parseIntValue(cu[A])
517- let cH = parseIntValue(cu[B])
518- let bB = cu[C]
519-[StringEntry(af(toString(cp), toString(cr)), br(Y, toString(cG), cz, bu, bv, cw, cx, cp, cr, cH, bB))]
523+ let cB = bJ(Y)
524+ let bw = cB[t]
525+ let cG = cB[u]
526+ let by = cB[v]
527+ let bz = cB[w]
528+ let cD = parseIntValue(cB[x])
529+ let cE = parseIntValue(cB[y])
530+ let cw = parseIntValue(cB[z])
531+ let cy = parseIntValue(cB[A])
532+ let cO = parseIntValue(cB[B])
533+ let bF = cB[C]
534+[StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(cN), cG, by, bz, cD, cE, cw, cy, cO, bF))]
520535 }
521536 else throw("Strict value is not equal to itself.")
522537 }
523538
524539
525540
526-@Callable(bb)
527-func emit (cI) = {
528- let cJ = bb.caller
529- let cK = bb.originCaller
530- let cL = valueOrErrorMessage(getString(av(toString(cJ))), "Invalid LP address called me.")
531- let cM = fromBase58String(cL)
532- let bZ = split(valueOrElse(getString(N()), k), j)
533- let bY = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
534- if ((0 >= cI))
541+@Callable(bf)
542+func emit (cP) = {
543+ let cQ = bf.caller
544+ let cR = bf.originCaller
545+ let cS = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
546+ let cT = fromBase58String(cS)
547+ let cg = split(valueOrElse(getString(N()), k), j)
548+ let cf = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
549+ if ((0 >= cP))
535550 then nil
536- else if (containsElement(bZ, toString(cJ)))
537- then $Tuple2(nil, bY)
538- else $Tuple2([Reissue(cM, cI, true), ScriptTransfer(bb.caller, cI, cM)], "success")
551+ else if (containsElement(cg, toString(cQ)))
552+ then $Tuple2(nil, cf)
553+ else $Tuple2([Reissue(cT, cP, true), ScriptTransfer(bf.caller, cP, cT)], "success")
539554 }
540555
541556
542557
543-@Callable(bb)
544-func burn (cN) = {
545- let cJ = bb.caller
546- let cK = bb.originCaller
547- let cO = value(bb.payments[0])
548- let cP = value(cO.amount)
549- let cQ = toBase58String(value(cO.assetId))
550- let cR = valueOrErrorMessage(getString(av(toString(cJ))), "Invalid LP address called me.")
551- if ((cQ != cR))
558+@Callable(bf)
559+func burn (cU) = {
560+ let cQ = bf.caller
561+ let cR = bf.originCaller
562+ let cV = value(bf.payments[0])
563+ let cW = value(cV.amount)
564+ let cX = toBase58String(value(cV.assetId))
565+ let cY = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
566+ if ((cX != cY))
552567 then throw("Invalid asset passed.")
553- else if ((cN != cP))
568+ else if ((cU != cW))
554569 then throw("Invalid amount passed.")
555570 else {
556- let cM = fromBase58String(cR)
557- $Tuple2([Burn(cM, cN)], "success")
571+ let cT = fromBase58String(cY)
572+ $Tuple2([Burn(cT, cU)], "success")
558573 }
559574 }
560575
561576
562577
563-@Callable(bb)
564-func modifyWeight (bt,cS) = {
565- let bV = if ((toBase58String(bb.caller.bytes) == valueOrElse(getString(this, S()), "")))
578+@Callable(bf)
579+func modifyWeight (bx,cZ) = {
580+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
566581 then true
567- else bc(bb)
568- if ((bV == bV))
582+ else bg(bf)
583+ if ((cc == cc))
569584 then {
570- let at = aA(aw(bt))
571- let cT = X(at)
572- let cU = X(f)
573- let cV = valueOrElse(getInteger(cU), 0)
574- let cm = valueOrElse(getInteger(cT), 0)
575- let cW = cS
576- let aQ = split(aA(I()), j)
577- let bR = aS(aQ)
578- let cX = invoke(bR, "onModifyWeight", [bt, at], nil)
579- if ((cX == cX))
585+ let at = aE(aw(bx))
586+ let da = X(at)
587+ let db = X(f)
588+ let dc = valueOrElse(getInteger(db), 0)
589+ let ct = valueOrElse(getInteger(da), 0)
590+ let dd = cZ
591+ let aU = split(aE(I()), j)
592+ let bY = aW(aU)
593+ let de = invoke(bY, "onModifyWeight", [bx, at], nil)
594+ if ((de == de))
580595 then {
581- let cY = if ((cV == 0))
596+ let df = if ((dc == 0))
582597 then nil
583- else [IntegerEntry(cU, 0)]
584- let cZ = Z(at, 0)
585- let da = getInteger(cZ)
586- let db = if ((da == unit))
598+ else [IntegerEntry(db, 0)]
599+ let dg = Z(at, 0)
600+ let dh = getInteger(dg)
601+ let di = if ((dh == unit))
587602 then nil
588- else [DeleteEntry(cZ)]
589- (([IntegerEntry(cT, cW)] ++ cY) ++ db)
603+ else [DeleteEntry(dg)]
604+ (([IntegerEntry(da, dd)] ++ df) ++ di)
590605 }
591606 else throw("Strict value is not equal to itself.")
592607 }
595610
596611
597612
598-@Callable(bb)
599-func modifyWeights (dc,dd,de,df) = {
600- let bV = bc(bb)
601- if ((bV == bV))
613+@Callable(bf)
614+func modifyWeights (dj,dk,dl,dm) = {
615+ let cc = bg(bf)
616+ if ((cc == cc))
602617 then {
603- let dg = ((5 * e) / 100)
604- let dh = ((5 * e) / 100)
605- let di = ((5 * e) / 100)
606- let aQ = split(aA(I()), j)
607- let dj = aS(aQ)
608- let dk = aT(aQ)
609- let dl = X(dc)
610- let dm = X(dd)
611- let dn = X(de)
612- let do = X(df)
613- let dp = aD(dl)
614- let dq = aD(dm)
615- let dr = (dp - di)
616- let ds = (dq - di)
617- if ((0 >= dr))
618- then throw(("invalid btcWeightNew: " + toString(dr)))
619- else if ((0 >= ds))
620- then throw(("invalid ethWeightNew: " + toString(ds)))
618+ let dn = ((5 * e) / 100)
619+ let do = ((5 * e) / 100)
620+ let dp = ((5 * e) / 100)
621+ let aU = split(aE(I()), j)
622+ let dq = aW(aU)
623+ let dr = aX(aU)
624+ let ds = X(dj)
625+ let dt = X(dk)
626+ let du = X(dl)
627+ let dv = X(dm)
628+ let dw = aH(ds)
629+ let dx = aH(dt)
630+ let dy = (dw - dp)
631+ let dz = (dx - dp)
632+ if ((0 >= dy))
633+ then throw(("invalid btcWeightNew: " + toString(dy)))
634+ else if ((0 >= dz))
635+ then throw(("invalid ethWeightNew: " + toString(dz)))
621636 else {
622- let dt = aA(av(dc))
623- let du = aA(av(dd))
624- let dv = aA(av(de))
625- let dw = aA(av(df))
626- let dx = invoke(dj, "onModifyWeight", [dt, dc], nil)
627- if ((dx == dx))
637+ let dA = aE(av(dj))
638+ let dB = aE(av(dk))
639+ let dC = aE(av(dl))
640+ let dD = aE(av(dm))
641+ let dE = invoke(dq, "onModifyWeight", [dA, dj], nil)
642+ if ((dE == dE))
628643 then {
629- let dy = invoke(dj, "onModifyWeight", [du, dd], nil)
630- if ((dy == dy))
644+ let dF = invoke(dq, "onModifyWeight", [dB, dk], nil)
645+ if ((dF == dF))
631646 then {
632- let dz = invoke(dj, "onModifyWeight", [dv, de], nil)
633- if ((dz == dz))
647+ let dG = invoke(dq, "onModifyWeight", [dC, dl], nil)
648+ if ((dG == dG))
634649 then {
635- let dA = invoke(dj, "onModifyWeight", [dw, df], nil)
636- if ((dA == dA))
637- then [IntegerEntry(dl, dr), IntegerEntry(dm, ds), IntegerEntry(dn, dg), IntegerEntry(do, dh), IntegerEntry(Z(dc, 0), dp), IntegerEntry(Z(dd, 0), dq), IntegerEntry(Z(de, 0), dg), IntegerEntry(Z(df, 0), dh)]
650+ let dH = invoke(dq, "onModifyWeight", [dD, dm], nil)
651+ if ((dH == dH))
652+ then [IntegerEntry(ds, dy), IntegerEntry(dt, dz), IntegerEntry(du, dn), IntegerEntry(dv, do), IntegerEntry(Z(dj, 0), dw), IntegerEntry(Z(dk, 0), dx), IntegerEntry(Z(dl, 0), dn), IntegerEntry(Z(dm, 0), do)]
638653 else throw("Strict value is not equal to itself.")
639654 }
640655 else throw("Strict value is not equal to itself.")
649664
650665
651666
652-@Callable(bb)
667+@Callable(bf)
653668 func checkWxEmissionPoolLabel (ay,az) = {
654- let dB = {
655- let aV = getBoolean(ax(ay, az))
656- if ($isInstanceOf(aV, "Boolean"))
669+ let dI = {
670+ let aZ = getBoolean(ax(ay, az))
671+ if ($isInstanceOf(aZ, "Boolean"))
657672 then {
658- let dC = aV
659- dC
673+ let dJ = aZ
674+ dJ
660675 }
661676 else false
662677 }
663- $Tuple2(nil, dB)
678+ $Tuple2(nil, dI)
664679 }
665680
666681
667682
668-@Callable(bb)
683+@Callable(bf)
669684 func setWxEmissionPoolLabel (ay,az) = {
670- let bV = bO(bb)
671- if ((bV == bV))
685+ let cc = bS(bf)
686+ if ((cc == cc))
672687 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
673688 else throw("Strict value is not equal to itself.")
674689 }
675690
676691
677692
678-@Callable(bb)
693+@Callable(bf)
679694 func deleteWxEmissionPoolLabel (ay,az) = {
680- let bV = if (ba(bb))
695+ let cc = if (be(bf))
681696 then true
682- else bO(bb)
683- if ((bV == bV))
697+ else bS(bf)
698+ if ((cc == cc))
684699 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
685700 else throw("Strict value is not equal to itself.")
686701 }
687702
688703
689704
690-@Callable(bb)
691-func onVerificationLoss (dD) = {
692- let bV = if ((toBase58String(bb.caller.bytes) == valueOrElse(getString(this, R()), "")))
705+@Callable(bf)
706+func onVerificationLoss (dK) = {
707+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
693708 then true
694- else bc(bb)
695- if ((bV == bV))
709+ else bg(bf)
710+ if ((cc == cc))
696711 then {
697- let cc = aU()
698- let dE = if ((size(cc) > 0))
712+ let cj = aY()
713+ let dL = if ((size(cj) > 0))
699714 then true
700715 else throw("invalid price assets")
701- if ((dE == dE))
716+ if ((dL == dL))
702717 then {
703- func dF (dG,dH) = {
704- let dI = invoke(this, "deleteWxEmissionPoolLabel", [dD, dH], nil)
705- if ((dI == dI))
718+ func dM (dN,dO) = {
719+ let dP = invoke(this, "deleteWxEmissionPoolLabel", [dK, dO], nil)
720+ if ((dP == dP))
706721 then unit
707722 else throw("Strict value is not equal to itself.")
708723 }
709724
710- let dJ = {
711- let dK = cc
712- let dL = size(dK)
713- let dM = unit
714- func dN (dO,dP) = if ((dP >= dL))
715- then dO
716- else dF(dO, dK[dP])
725+ let dQ = {
726+ let dR = cj
727+ let dS = size(dR)
728+ let dT = unit
729+ func dU (dV,dW) = if ((dW >= dS))
730+ then dV
731+ else dM(dV, dR[dW])
717732
718- func dQ (dO,dP) = if ((dP >= dL))
719- then dO
733+ func dX (dV,dW) = if ((dW >= dS))
734+ then dV
720735 else throw("List size exceeds 3")
721736
722- dQ(dN(dN(dN(dM, 0), 1), 2), 3)
737+ dX(dU(dU(dU(dT, 0), 1), 2), 3)
723738 }
724- if ((dJ == dJ))
739+ if ((dQ == dQ))
725740 then $Tuple2(nil, unit)
726741 else throw("Strict value is not equal to itself.")
727742 }
732747
733748
734749
735-@Callable(bb)
750+@Callable(bf)
736751 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
737- let cu = bF(Y)
738- let aj = $Tuple2(parseIntValue(cu[z]), parseIntValue(cu[A]))
739- let dR = valueOrElse(getBoolean(ai(aj)), false)
740- let dS = valueOrElse(getBoolean(al()), false)
741- $Tuple2(nil, if (dS)
752+ let cB = bJ(Y)
753+ let aj = $Tuple2(parseIntValue(cB[z]), parseIntValue(cB[A]))
754+ let dY = valueOrElse(getBoolean(ai(aj)), false)
755+ let dZ = valueOrElse(getBoolean(al()), false)
756+ $Tuple2(nil, if (dZ)
742757 then true
743- else dR)
758+ else dY)
744759 }
745760
746761
747-@Verifier(dT)
748-func dU () = {
749- let dV = {
750- let aV = aX()
751- if ($isInstanceOf(aV, "ByteVector"))
762+
763+@Callable(bf)
764+func getInFeeREADONLY (Y) = {
765+ let ea = bV(aA(Y), aB(), 0)
766+ $Tuple2(nil, ea)
767+ }
768+
769+
770+
771+@Callable(bf)
772+func getOutFeeREADONLY (Y) = {
773+ let ea = bV(aC(Y), aD(), fraction(10, b, 10000))
774+ $Tuple2(nil, ea)
775+ }
776+
777+
778+@Verifier(eb)
779+func ec () = {
780+ let ed = {
781+ let aZ = bb()
782+ if ($isInstanceOf(aZ, "ByteVector"))
752783 then {
753- let bd = aV
754- bd
784+ let bh = aZ
785+ bh
755786 }
756- else if ($isInstanceOf(aV, "Unit"))
757- then dT.senderPublicKey
787+ else if ($isInstanceOf(aZ, "Unit"))
788+ then eb.senderPublicKey
758789 else throw("Match error")
759790 }
760- sigVerify(dT.bodyBytes, dT.proofs[0], dV)
791+ sigVerify(eb.bodyBytes, eb.proofs[0], ed)
761792 }
762793
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = b
1313
1414 let f = "GWXvirtualPOOL"
1515
1616 let g = "POOLS_LP"
1717
1818 let h = 2000000
1919
2020 let i = ((100 * 1000) * 1000)
2121
2222 let j = "__"
2323
2424 let k = ""
2525
2626 let l = 1
2727
2828 let m = 2
2929
3030 let n = 3
3131
3232 let o = 4
3333
3434 let p = 1
3535
3636 let q = 2
3737
3838 let r = 3
3939
4040 let s = 1
4141
4242 let t = 2
4343
4444 let u = 3
4545
4646 let v = 4
4747
4848 let w = 5
4949
5050 let x = 6
5151
5252 let y = 7
5353
5454 let z = 8
5555
5656 let A = 9
5757
5858 let B = 10
5959
6060 let C = 11
6161
6262 let D = "WX_EMISSION"
6363
6464 let E = [D]
6565
6666 func F () = "%s__allowedLpScriptHash"
6767
6868
6969 func G () = "%s__allowedLpStableScriptHash"
7070
7171
7272 func H () = "%s__allowedLpStableAddonScriptHash"
7373
7474
7575 func I () = "%s__factoryConfig"
7676
7777
7878 func J () = "%s__lpTokensList"
7979
8080
8181 func K () = "%s%s__pool__scriptHash"
8282
8383
8484 func L () = "%s%s__matcher__publicKey"
8585
8686
8787 func M () = "%s__legacyFactoryContract"
8888
8989
9090 func N () = "%s__legacyPools"
9191
9292
9393 func O () = "%s__managerPublicKey"
9494
9595
9696 func P () = "%s__pendingManagerPublicKey"
9797
9898
9999 func Q () = "%s__adminPubKeys"
100100
101101
102102 func R () = "%s__assetsStoreContract"
103103
104104
105105 func S () = "%s__votingEmissionContract"
106106
107107
108108 func T () = makeString(["%s", "priceAssets"], j)
109109
110110
111111 func U () = "%s__priceDecimals"
112112
113113
114114 func V () = "%s__shutdown"
115115
116116
117117 func W () = "%s__nextInternalAssetId"
118118
119119
120120 func X (Y) = ("%s%s__poolWeight__" + Y)
121121
122122
123123 func Z (Y,aa) = ((("%s%s__poolWeight__" + Y) + "__") + toString(aa))
124124
125125
126126 func ab (ac) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ac))
127127
128128
129129 func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
130130
131131
132132 func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
133133
134134
135135 func ai (aj) = {
136136 let ak = aj
137137 let ag = ak._1
138138 let ah = ak._2
139139 makeString(["%d%d%s", toString(ag), toString(ah), "oneTokenOperationsDisabled"], j)
140140 }
141141
142142
143143 func al () = makeString(["%s", "oneTokenOperationsDisabled"], j)
144144
145145
146146 func am (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2Pool")
147147
148148
149149 func ao (ap,aq) = (((("%d%d%s%s__" + ap) + "__") + aq) + "__mappings__PoolAssets2LpAsset")
150150
151151
152152 func ar (Y) = ("%s%s__spread__" + Y)
153153
154154
155155 func as (at) = (("%s%s%s__" + at) + "__mappings__poolContract2PoolAssets")
156156
157157
158158 func au (ap,aq) = (((("%d%d%s%s__" + toString(ap)) + "__") + toString(aq)) + "__mappings__poolAssets2PoolContract")
159159
160160
161161 func av (at) = (("%s%s%s__" + at) + "__mappings__poolContract2LpAsset")
162162
163163
164164 func aw (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2PoolContract")
165165
166166
167167 func ax (ay,az) = ((("%s%s%s__wxEmission__" + ay) + "__") + az)
168168
169169
170-func aA (aB) = valueOrErrorMessage(getString(this, aB), ("No data for this.key=" + aB))
170+func aA (Y) = ("%s%s__inFee__" + Y)
171171
172172
173-func aC (aB) = valueOrErrorMessage(getBoolean(this, aB), ("No data for this.key=" + aB))
173+func aB () = "%s__inFeeDefault"
174174
175175
176-func aD (aB) = valueOrErrorMessage(getInteger(this, aB), ("No data for this.key=" + aB))
176+func aC (Y) = ("%s%s__outFee__" + Y)
177177
178178
179-let aE = 1
180-
181-let aF = 2
182-
183-let aG = 3
184-
185-let aH = 4
186-
187-let aI = 5
188-
189-let aJ = 6
190-
191-let aK = 7
192-
193-let aL = 8
194-
195-let aM = 9
196-
197-let aN = 10
198-
199-let aO = 11
200-
201-func aP (aQ) = addressFromStringValue(aQ[aF])
179+func aD () = "%s__outFeeDefault"
202180
203181
204-func aR (aQ) = addressFromStringValue(aQ[aI])
182+func aE (aF) = valueOrErrorMessage(getString(this, aF), ("No data for this.key=" + aF))
205183
206184
207-func aS (aQ) = addressFromStringValue(aQ[aE])
185+func aG (aF) = valueOrErrorMessage(getBoolean(this, aF), ("No data for this.key=" + aF))
208186
209187
210-func aT (aQ) = addressFromStringValue(aQ[aN])
188+func aH (aF) = valueOrErrorMessage(getInteger(this, aF), ("No data for this.key=" + aF))
211189
212190
213-func aU () = {
214- let aV = getString(T())
215- if ($isInstanceOf(aV, "String"))
191+let aI = 1
192+
193+let aJ = 2
194+
195+let aK = 3
196+
197+let aL = 4
198+
199+let aM = 5
200+
201+let aN = 6
202+
203+let aO = 7
204+
205+let aP = 8
206+
207+let aQ = 9
208+
209+let aR = 10
210+
211+let aS = 11
212+
213+func aT (aU) = addressFromStringValue(aU[aJ])
214+
215+
216+func aV (aU) = addressFromStringValue(aU[aM])
217+
218+
219+func aW (aU) = addressFromStringValue(aU[aI])
220+
221+
222+func aX (aU) = addressFromStringValue(aU[aR])
223+
224+
225+func aY () = {
226+ let aZ = getString(T())
227+ if ($isInstanceOf(aZ, "String"))
216228 then {
217- let aW = aV
218- if ((size(aW) == 0))
229+ let ba = aZ
230+ if ((size(ba) == 0))
219231 then nil
220- else split(aW, j)
232+ else split(ba, j)
221233 }
222234 else nil
223235 }
224236
225237
226-func aX () = {
227- let aV = getString(O())
228- if ($isInstanceOf(aV, "String"))
238+func bb () = {
239+ let aZ = getString(O())
240+ if ($isInstanceOf(aZ, "String"))
229241 then {
230- let aW = aV
231- fromBase58String(aW)
242+ let ba = aZ
243+ fromBase58String(ba)
232244 }
233- else if ($isInstanceOf(aV, "Unit"))
245+ else if ($isInstanceOf(aZ, "Unit"))
234246 then unit
235247 else throw("Match error")
236248 }
237249
238250
239-func aY () = {
240- let aV = getString(P())
241- if ($isInstanceOf(aV, "String"))
251+func bc () = {
252+ let aZ = getString(P())
253+ if ($isInstanceOf(aZ, "String"))
242254 then {
243- let aW = aV
244- fromBase58String(aW)
255+ let ba = aZ
256+ fromBase58String(ba)
245257 }
246- else if ($isInstanceOf(aV, "Unit"))
258+ else if ($isInstanceOf(aZ, "Unit"))
247259 then unit
248260 else throw("Match error")
249261 }
250262
251263
252-let aZ = throw("Permission denied")
264+let bd = throw("Permission denied")
253265
254-func ba (bb) = if ((bb.caller == this))
266+func be (bf) = if ((bf.caller == this))
255267 then true
256- else aZ
268+ else bd
257269
258270
259-func bc (bb) = {
260- let aV = aX()
261- if ($isInstanceOf(aV, "ByteVector"))
271+func bg (bf) = {
272+ let aZ = bb()
273+ if ($isInstanceOf(aZ, "ByteVector"))
262274 then {
263- let bd = aV
264- if ((bb.callerPublicKey == bd))
275+ let bh = aZ
276+ if ((bf.callerPublicKey == bh))
265277 then true
266- else aZ
278+ else bd
267279 }
268- else if ($isInstanceOf(aV, "Unit"))
269- then ba(bb)
280+ else if ($isInstanceOf(aZ, "Unit"))
281+ then be(bf)
270282 else throw("Match error")
271283 }
272284
273285
274-func be (bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp], j)
286+func bi (bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt], j)
275287
276288
277-func bq (bf,bg,bh,bi,bj,bk,bl) = makeString(["%s%s%s%s%s%s", bf, bg, bh, bi, bj, bk, bl], j)
289+func bu (bj,bk,bl,bm,bn,bo,bp) = makeString(["%s%s%s%s%s%s", bj, bk, bl, bm, bn, bo, bp], j)
278290
279291
280-func br (Y,bs,bt,bu,bv,bw,bx,by,bz,bA,bB) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Y, bs, bt, bu, bv, toString(bw), toString(bx), toString(by), toString(bz), toString(bA), bB], j)
292+func bv (Y,bw,bx,by,bz,bA,bB,bC,bD,bE,bF) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Y, bw, bx, by, bz, toString(bA), toString(bB), toString(bC), toString(bD), toString(bE), bF], j)
281293
282294
283-func bC (bD,bE) = makeString(["%d%d", toString(bD), toString(bE)], j)
295+func bG (bH,bI) = makeString(["%d%d", toString(bH), toString(bI)], j)
284296
285297
286-func bF (Y) = {
287- let bG = split(aA(as(Y)), j)
288- let ag = bG[1]
289- let ah = bG[2]
290- split(aA(af(ag, ah)), j)
298+func bJ (Y) = {
299+ let bK = split(aE(as(Y)), j)
300+ let ag = bK[1]
301+ let ah = bK[2]
302+ split(aE(af(ag, ah)), j)
291303 }
292304
293305
294-func bH (bI,bJ) = {
295- let bK = valueOrElse(getInteger(this, ad(bI)), 0)
296- let bL = valueOrElse(getInteger(this, W()), 0)
297- let bM = if ((bK == 0))
306+func bL (bM,bN) = {
307+ let bO = valueOrElse(getInteger(this, ad(bM)), 0)
308+ let bP = valueOrElse(getInteger(this, W()), 0)
309+ let bQ = if ((bO == 0))
298310 then {
299- let bN = (bL + bJ)
300- $Tuple3(bN, [IntegerEntry(W(), bN), IntegerEntry(ad(bI), bN), StringEntry(ab(bN), bI)], true)
311+ let bR = (bP + bN)
312+ $Tuple3(bR, [IntegerEntry(W(), bR), IntegerEntry(ad(bM), bR), StringEntry(ab(bR), bM)], true)
301313 }
302- else $Tuple3(bK, nil, false)
303- bM
314+ else $Tuple3(bO, nil, false)
315+ bQ
304316 }
305317
306318
307-func bO (bb) = {
308- let bP = split(valueOrElse(getString(Q()), k), j)
309- if (containsElement(bP, toBase58String(bb.callerPublicKey)))
319+func bS (bf) = {
320+ let bT = split(valueOrElse(getString(Q()), k), j)
321+ if (containsElement(bT, toBase58String(bf.callerPublicKey)))
310322 then true
311323 else {
312- let bQ = bc(bb)
313- if ((bQ == bQ))
324+ let bU = bg(bf)
325+ if ((bU == bU))
314326 then true
315327 else throw("Strict value is not equal to itself.")
316328 }
317329 }
318330
319331
320-@Callable(bb)
321-func constructor (bR,bS,bh,bi,bj,bk,bT,bU) = {
322- let bV = bc(bb)
323- if ((bV == bV))
324- then [StringEntry(I(), bq(bR, bS, bh, bi, bj, bk, bT)), IntegerEntry(U(), bU)]
332+func bV (aF,bW,bX) = valueOrElse(getInteger(this, aF), valueOrElse(getInteger(this, bW), bX))
333+
334+
335+@Callable(bf)
336+func constructor (bY,bZ,bl,bm,bn,bo,ca,cb) = {
337+ let cc = bg(bf)
338+ if ((cc == cc))
339+ then [StringEntry(I(), bu(bY, bZ, bl, bm, bn, bo, ca)), IntegerEntry(U(), cb)]
325340 else throw("Strict value is not equal to itself.")
326341 }
327342
328343
329344
330-@Callable(bb)
331-func constructorV2 (bW) = {
332- let bV = bc(bb)
333- if ((bV == bV))
345+@Callable(bf)
346+func constructorV2 (cd) = {
347+ let cc = bg(bf)
348+ if ((cc == cc))
334349 then {
335- let bX = addressFromPublicKey(fromBase58String(bW))
336- if ((bX == bX))
337- then [StringEntry(L(), bW)]
350+ let ce = addressFromPublicKey(fromBase58String(cd))
351+ if ((ce == ce))
352+ then [StringEntry(L(), cd)]
338353 else throw("Strict value is not equal to itself.")
339354 }
340355 else throw("Strict value is not equal to itself.")
341356 }
342357
343358
344359
345-@Callable(bb)
346-func constructorV3 (bm,bn,bo,bp) = {
347- let bV = bc(bb)
348- if ((bV == bV))
360+@Callable(bf)
361+func constructorV3 (bq,br,bs,bt) = {
362+ let cc = bg(bf)
363+ if ((cc == cc))
349364 then {
350- let aQ = split(aA(I()), j)
351-[StringEntry(I(), be(aQ[1], aQ[2], aQ[3], aQ[4], aQ[5], aQ[6], aQ[7], bm, bn, bo, bp))]
365+ let aU = split(aE(I()), j)
366+[StringEntry(I(), bi(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], bq, br, bs, bt))]
352367 }
353368 else throw("Strict value is not equal to itself.")
354369 }
355370
356371
357372
358-@Callable(bb)
359-func constructorV4 (bY,bZ) = {
360- let bV = bc(bb)
361- if ((bV == bV))
362- then [StringEntry(M(), bY), StringEntry(N(), makeString(bZ, j))]
373+@Callable(bf)
374+func constructorV4 (cf,cg) = {
375+ let cc = bg(bf)
376+ if ((cc == cc))
377+ then [StringEntry(M(), cf), StringEntry(N(), makeString(cg, j))]
363378 else throw("Strict value is not equal to itself.")
364379 }
365380
366381
367382
368-@Callable(bb)
369-func constructorV5 (ca) = {
370- let bV = bc(bb)
371- if ((bV == bV))
372- then [StringEntry(R(), ca)]
383+@Callable(bf)
384+func constructorV5 (ch) = {
385+ let cc = bg(bf)
386+ if ((cc == cc))
387+ then [StringEntry(R(), ch)]
373388 else throw("Strict value is not equal to itself.")
374389 }
375390
376391
377392
378-@Callable(bb)
379-func constructorV6 (cb,cc) = {
380- let cd = [bc(bb), if ((addressFromString(cb) != unit))
393+@Callable(bf)
394+func constructorV6 (ci,cj) = {
395+ let ck = [bg(bf), if ((addressFromString(ci) != unit))
381396 then true
382397 else "invalid voting emission contract address"]
383- if ((cd == cd))
384- then [StringEntry(S(), cb), StringEntry(T(), makeString(cc, j))]
398+ if ((ck == ck))
399+ then [StringEntry(S(), ci), StringEntry(T(), makeString(cj, j))]
385400 else throw("Strict value is not equal to itself.")
386401 }
387402
388403
389404
390-@Callable(bb)
391-func setManager (ce) = {
392- let bV = bc(bb)
393- if ((bV == bV))
405+@Callable(bf)
406+func setManager (cl) = {
407+ let cc = bg(bf)
408+ if ((cc == cc))
394409 then {
395- let cf = fromBase58String(ce)
396- if ((cf == cf))
397- then [StringEntry(P(), ce)]
410+ let cm = fromBase58String(cl)
411+ if ((cm == cm))
412+ then [StringEntry(P(), cl)]
398413 else throw("Strict value is not equal to itself.")
399414 }
400415 else throw("Strict value is not equal to itself.")
401416 }
402417
403418
404419
405-@Callable(bb)
420+@Callable(bf)
406421 func confirmManager () = {
407- let cg = aY()
408- let ch = if (isDefined(cg))
422+ let cn = bc()
423+ let co = if (isDefined(cn))
409424 then true
410425 else throw("No pending manager")
411- if ((ch == ch))
426+ if ((co == co))
412427 then {
413- let ci = if ((bb.callerPublicKey == value(cg)))
428+ let cp = if ((bf.callerPublicKey == value(cn)))
414429 then true
415430 else throw("You are not pending manager")
416- if ((ci == ci))
417- then [StringEntry(O(), toBase58String(value(cg))), DeleteEntry(P())]
431+ if ((cp == cp))
432+ then [StringEntry(O(), toBase58String(value(cn))), DeleteEntry(P())]
418433 else throw("Strict value is not equal to itself.")
419434 }
420435 else throw("Strict value is not equal to itself.")
421436 }
422437
423438
424439
425-@Callable(bb)
426-func setAdmins (cj) = {
427- let bV = bc(bb)
428- if ((bV == bV))
429- then [StringEntry(Q(), makeString(cj, j))]
440+@Callable(bf)
441+func setAdmins (cq) = {
442+ let cc = bg(bf)
443+ if ((cc == cc))
444+ then [StringEntry(Q(), makeString(cq, j))]
430445 else throw("Strict value is not equal to itself.")
431446 }
432447
433448
434449
435-@Callable(bb)
436-func activateNewPool (Y,bu,bv,ck,cl,cm,bB,cn) = {
437- let bV = bO(bb)
438- if ((bV == bV))
450+@Callable(bf)
451+func activateNewPool (Y,by,bz,cr,cs,ct,bF,cu) = {
452+ let cc = bS(bf)
453+ if ((cc == cc))
439454 then if (isDefined(getString(as(Y))))
440455 then throw((("Pool address " + Y) + " already registered."))
441456 else {
442- let co = bH(bu, 1)
443- let cp = co._1
444- let cq = bH(bv, if (co._3)
457+ let cv = bL(by, 1)
458+ let cw = cv._1
459+ let cx = bL(bz, if (cv._3)
445460 then 2
446461 else 1)
447- let cr = cq._1
448- let cs = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
449- let ct = getBinaryValue(K())
450- let cu = getString(this, af(toString(cp), toString(cr)))
451- if (isDefined(cu))
452- then throw((((("Pool " + bu) + "/") + bv) + " has already been activated."))
462+ let cy = cx._1
463+ let cz = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
464+ let cA = getBinaryValue(K())
465+ let cB = getString(this, af(toString(cw), toString(cy)))
466+ if (isDefined(cB))
467+ then throw((((("Pool " + by) + "/") + bz) + " has already been activated."))
453468 else {
454- let cv = value(getString(this, af(toString(cp), toString(cr))))
455- let cw = if ((bu == "WAVES"))
469+ let cC = value(getString(this, af(toString(cw), toString(cy))))
470+ let cD = if ((by == "WAVES"))
456471 then i
457- else pow(10, 0, value(assetInfo(fromBase58String(bu))).decimals, 0, 0, DOWN)
458- let cx = if ((bv == "WAVES"))
472+ else pow(10, 0, value(assetInfo(fromBase58String(by))).decimals, 0, 0, DOWN)
473+ let cE = if ((bz == "WAVES"))
459474 then i
460- else pow(10, 0, value(assetInfo(fromBase58String(bv))).decimals, 0, 0, DOWN)
461- let cy = Issue(ck, cl, 1, 8, true)
462- let bt = calculateAssetId(cy)
463- let cz = toBase58String(bt)
464- let cA = invoke(addressFromStringValue(Y), "activate", [bu, bv], nil)
465- if ((cA == cA))
466- then if ((cA != "success"))
475+ else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
476+ let cF = Issue(cr, cs, 1, 8, true)
477+ let bx = calculateAssetId(cF)
478+ let cG = toBase58String(bx)
479+ let cH = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
480+ if ((cH == cH))
481+ then if ((cH != "success"))
467482 then throw("Pool initialisation error happened.")
468483 else {
469- let ca = addressFromStringValue(aA(R()))
470- let cB = invoke(ca, "createOrUpdate", [cz, ck, false], nil)
471- if ((cB == cB))
484+ let ch = addressFromStringValue(aE(R()))
485+ let cI = invoke(ch, "createOrUpdate", [cG, cr, false], nil)
486+ if ((cI == cI))
472487 then {
473- let cC = invoke(ca, "addLabel", [cz, g], nil)
474- if ((cC == cC))
488+ let cJ = invoke(ch, "addLabel", [cG, g], nil)
489+ if ((cJ == cJ))
475490 then {
476- let cD = invoke(ca, "setLogo", [cz, cn], nil)
477- if ((cD == cD))
491+ let cK = invoke(ch, "setLogo", [cG, cu], nil)
492+ if ((cK == cK))
478493 then {
479- let cE = invoke(ca, "addAssetsLink", [bu, bv, cz], nil)
480- if ((cE == cE))
494+ let cL = invoke(ch, "addAssetsLink", [by, bz, cG], nil)
495+ if ((cL == cL))
481496 then {
482- let cF = invoke(ca, "increaseAssetPoolsNumber", [bu], nil)
483- if ((cF == cF))
484- then $Tuple2(((co._2 ++ cq._2) ++ [cy, Burn(bt, 1), StringEntry(af(toString(cp), toString(cr)), br(Y, toString(l), cz, bu, bv, cw, cx, cp, cr, i, bB)), StringEntry(am(cz), bC(cp, cr)), StringEntry(ao(toString(cp), toString(cr)), ("%s__" + cz)), StringEntry(as(Y), bC(cp, cr)), StringEntry(au(cp, cr), Y), StringEntry(aw(cz), Y), StringEntry(av(Y), cz), IntegerEntry(X(Y), cm), IntegerEntry(ar(Y), h)]), cz)
497+ let cM = invoke(ch, "increaseAssetPoolsNumber", [by], nil)
498+ if ((cM == cM))
499+ then $Tuple2(((cv._2 ++ cx._2) ++ [cF, Burn(bx, 1), StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(l), cG, by, bz, cD, cE, cw, cy, i, bF)), StringEntry(am(cG), bG(cw, cy)), StringEntry(ao(toString(cw), toString(cy)), ("%s__" + cG)), StringEntry(as(Y), bG(cw, cy)), StringEntry(au(cw, cy), Y), StringEntry(aw(cG), Y), StringEntry(av(Y), cG), IntegerEntry(X(Y), ct), IntegerEntry(ar(Y), h)]), cG)
485500 else throw("Strict value is not equal to itself.")
486501 }
487502 else throw("Strict value is not equal to itself.")
488503 }
489504 else throw("Strict value is not equal to itself.")
490505 }
491506 else throw("Strict value is not equal to itself.")
492507 }
493508 else throw("Strict value is not equal to itself.")
494509 }
495510 else throw("Strict value is not equal to itself.")
496511 }
497512 }
498513 else throw("Strict value is not equal to itself.")
499514 }
500515
501516
502517
503-@Callable(bb)
504-func managePool (Y,cG) = {
505- let bV = bc(bb)
506- if ((bV == bV))
518+@Callable(bf)
519+func managePool (Y,cN) = {
520+ let cc = bg(bf)
521+ if ((cc == cc))
507522 then {
508- let cu = bF(Y)
509- let bs = cu[t]
510- let cz = cu[u]
511- let bu = cu[v]
512- let bv = cu[w]
513- let cw = parseIntValue(cu[x])
514- let cx = parseIntValue(cu[y])
515- let cp = parseIntValue(cu[z])
516- let cr = parseIntValue(cu[A])
517- let cH = parseIntValue(cu[B])
518- let bB = cu[C]
519-[StringEntry(af(toString(cp), toString(cr)), br(Y, toString(cG), cz, bu, bv, cw, cx, cp, cr, cH, bB))]
523+ let cB = bJ(Y)
524+ let bw = cB[t]
525+ let cG = cB[u]
526+ let by = cB[v]
527+ let bz = cB[w]
528+ let cD = parseIntValue(cB[x])
529+ let cE = parseIntValue(cB[y])
530+ let cw = parseIntValue(cB[z])
531+ let cy = parseIntValue(cB[A])
532+ let cO = parseIntValue(cB[B])
533+ let bF = cB[C]
534+[StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(cN), cG, by, bz, cD, cE, cw, cy, cO, bF))]
520535 }
521536 else throw("Strict value is not equal to itself.")
522537 }
523538
524539
525540
526-@Callable(bb)
527-func emit (cI) = {
528- let cJ = bb.caller
529- let cK = bb.originCaller
530- let cL = valueOrErrorMessage(getString(av(toString(cJ))), "Invalid LP address called me.")
531- let cM = fromBase58String(cL)
532- let bZ = split(valueOrElse(getString(N()), k), j)
533- let bY = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
534- if ((0 >= cI))
541+@Callable(bf)
542+func emit (cP) = {
543+ let cQ = bf.caller
544+ let cR = bf.originCaller
545+ let cS = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
546+ let cT = fromBase58String(cS)
547+ let cg = split(valueOrElse(getString(N()), k), j)
548+ let cf = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
549+ if ((0 >= cP))
535550 then nil
536- else if (containsElement(bZ, toString(cJ)))
537- then $Tuple2(nil, bY)
538- else $Tuple2([Reissue(cM, cI, true), ScriptTransfer(bb.caller, cI, cM)], "success")
551+ else if (containsElement(cg, toString(cQ)))
552+ then $Tuple2(nil, cf)
553+ else $Tuple2([Reissue(cT, cP, true), ScriptTransfer(bf.caller, cP, cT)], "success")
539554 }
540555
541556
542557
543-@Callable(bb)
544-func burn (cN) = {
545- let cJ = bb.caller
546- let cK = bb.originCaller
547- let cO = value(bb.payments[0])
548- let cP = value(cO.amount)
549- let cQ = toBase58String(value(cO.assetId))
550- let cR = valueOrErrorMessage(getString(av(toString(cJ))), "Invalid LP address called me.")
551- if ((cQ != cR))
558+@Callable(bf)
559+func burn (cU) = {
560+ let cQ = bf.caller
561+ let cR = bf.originCaller
562+ let cV = value(bf.payments[0])
563+ let cW = value(cV.amount)
564+ let cX = toBase58String(value(cV.assetId))
565+ let cY = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
566+ if ((cX != cY))
552567 then throw("Invalid asset passed.")
553- else if ((cN != cP))
568+ else if ((cU != cW))
554569 then throw("Invalid amount passed.")
555570 else {
556- let cM = fromBase58String(cR)
557- $Tuple2([Burn(cM, cN)], "success")
571+ let cT = fromBase58String(cY)
572+ $Tuple2([Burn(cT, cU)], "success")
558573 }
559574 }
560575
561576
562577
563-@Callable(bb)
564-func modifyWeight (bt,cS) = {
565- let bV = if ((toBase58String(bb.caller.bytes) == valueOrElse(getString(this, S()), "")))
578+@Callable(bf)
579+func modifyWeight (bx,cZ) = {
580+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
566581 then true
567- else bc(bb)
568- if ((bV == bV))
582+ else bg(bf)
583+ if ((cc == cc))
569584 then {
570- let at = aA(aw(bt))
571- let cT = X(at)
572- let cU = X(f)
573- let cV = valueOrElse(getInteger(cU), 0)
574- let cm = valueOrElse(getInteger(cT), 0)
575- let cW = cS
576- let aQ = split(aA(I()), j)
577- let bR = aS(aQ)
578- let cX = invoke(bR, "onModifyWeight", [bt, at], nil)
579- if ((cX == cX))
585+ let at = aE(aw(bx))
586+ let da = X(at)
587+ let db = X(f)
588+ let dc = valueOrElse(getInteger(db), 0)
589+ let ct = valueOrElse(getInteger(da), 0)
590+ let dd = cZ
591+ let aU = split(aE(I()), j)
592+ let bY = aW(aU)
593+ let de = invoke(bY, "onModifyWeight", [bx, at], nil)
594+ if ((de == de))
580595 then {
581- let cY = if ((cV == 0))
596+ let df = if ((dc == 0))
582597 then nil
583- else [IntegerEntry(cU, 0)]
584- let cZ = Z(at, 0)
585- let da = getInteger(cZ)
586- let db = if ((da == unit))
598+ else [IntegerEntry(db, 0)]
599+ let dg = Z(at, 0)
600+ let dh = getInteger(dg)
601+ let di = if ((dh == unit))
587602 then nil
588- else [DeleteEntry(cZ)]
589- (([IntegerEntry(cT, cW)] ++ cY) ++ db)
603+ else [DeleteEntry(dg)]
604+ (([IntegerEntry(da, dd)] ++ df) ++ di)
590605 }
591606 else throw("Strict value is not equal to itself.")
592607 }
593608 else throw("Strict value is not equal to itself.")
594609 }
595610
596611
597612
598-@Callable(bb)
599-func modifyWeights (dc,dd,de,df) = {
600- let bV = bc(bb)
601- if ((bV == bV))
613+@Callable(bf)
614+func modifyWeights (dj,dk,dl,dm) = {
615+ let cc = bg(bf)
616+ if ((cc == cc))
602617 then {
603- let dg = ((5 * e) / 100)
604- let dh = ((5 * e) / 100)
605- let di = ((5 * e) / 100)
606- let aQ = split(aA(I()), j)
607- let dj = aS(aQ)
608- let dk = aT(aQ)
609- let dl = X(dc)
610- let dm = X(dd)
611- let dn = X(de)
612- let do = X(df)
613- let dp = aD(dl)
614- let dq = aD(dm)
615- let dr = (dp - di)
616- let ds = (dq - di)
617- if ((0 >= dr))
618- then throw(("invalid btcWeightNew: " + toString(dr)))
619- else if ((0 >= ds))
620- then throw(("invalid ethWeightNew: " + toString(ds)))
618+ let dn = ((5 * e) / 100)
619+ let do = ((5 * e) / 100)
620+ let dp = ((5 * e) / 100)
621+ let aU = split(aE(I()), j)
622+ let dq = aW(aU)
623+ let dr = aX(aU)
624+ let ds = X(dj)
625+ let dt = X(dk)
626+ let du = X(dl)
627+ let dv = X(dm)
628+ let dw = aH(ds)
629+ let dx = aH(dt)
630+ let dy = (dw - dp)
631+ let dz = (dx - dp)
632+ if ((0 >= dy))
633+ then throw(("invalid btcWeightNew: " + toString(dy)))
634+ else if ((0 >= dz))
635+ then throw(("invalid ethWeightNew: " + toString(dz)))
621636 else {
622- let dt = aA(av(dc))
623- let du = aA(av(dd))
624- let dv = aA(av(de))
625- let dw = aA(av(df))
626- let dx = invoke(dj, "onModifyWeight", [dt, dc], nil)
627- if ((dx == dx))
637+ let dA = aE(av(dj))
638+ let dB = aE(av(dk))
639+ let dC = aE(av(dl))
640+ let dD = aE(av(dm))
641+ let dE = invoke(dq, "onModifyWeight", [dA, dj], nil)
642+ if ((dE == dE))
628643 then {
629- let dy = invoke(dj, "onModifyWeight", [du, dd], nil)
630- if ((dy == dy))
644+ let dF = invoke(dq, "onModifyWeight", [dB, dk], nil)
645+ if ((dF == dF))
631646 then {
632- let dz = invoke(dj, "onModifyWeight", [dv, de], nil)
633- if ((dz == dz))
647+ let dG = invoke(dq, "onModifyWeight", [dC, dl], nil)
648+ if ((dG == dG))
634649 then {
635- let dA = invoke(dj, "onModifyWeight", [dw, df], nil)
636- if ((dA == dA))
637- then [IntegerEntry(dl, dr), IntegerEntry(dm, ds), IntegerEntry(dn, dg), IntegerEntry(do, dh), IntegerEntry(Z(dc, 0), dp), IntegerEntry(Z(dd, 0), dq), IntegerEntry(Z(de, 0), dg), IntegerEntry(Z(df, 0), dh)]
650+ let dH = invoke(dq, "onModifyWeight", [dD, dm], nil)
651+ if ((dH == dH))
652+ then [IntegerEntry(ds, dy), IntegerEntry(dt, dz), IntegerEntry(du, dn), IntegerEntry(dv, do), IntegerEntry(Z(dj, 0), dw), IntegerEntry(Z(dk, 0), dx), IntegerEntry(Z(dl, 0), dn), IntegerEntry(Z(dm, 0), do)]
638653 else throw("Strict value is not equal to itself.")
639654 }
640655 else throw("Strict value is not equal to itself.")
641656 }
642657 else throw("Strict value is not equal to itself.")
643658 }
644659 else throw("Strict value is not equal to itself.")
645660 }
646661 }
647662 else throw("Strict value is not equal to itself.")
648663 }
649664
650665
651666
652-@Callable(bb)
667+@Callable(bf)
653668 func checkWxEmissionPoolLabel (ay,az) = {
654- let dB = {
655- let aV = getBoolean(ax(ay, az))
656- if ($isInstanceOf(aV, "Boolean"))
669+ let dI = {
670+ let aZ = getBoolean(ax(ay, az))
671+ if ($isInstanceOf(aZ, "Boolean"))
657672 then {
658- let dC = aV
659- dC
673+ let dJ = aZ
674+ dJ
660675 }
661676 else false
662677 }
663- $Tuple2(nil, dB)
678+ $Tuple2(nil, dI)
664679 }
665680
666681
667682
668-@Callable(bb)
683+@Callable(bf)
669684 func setWxEmissionPoolLabel (ay,az) = {
670- let bV = bO(bb)
671- if ((bV == bV))
685+ let cc = bS(bf)
686+ if ((cc == cc))
672687 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
673688 else throw("Strict value is not equal to itself.")
674689 }
675690
676691
677692
678-@Callable(bb)
693+@Callable(bf)
679694 func deleteWxEmissionPoolLabel (ay,az) = {
680- let bV = if (ba(bb))
695+ let cc = if (be(bf))
681696 then true
682- else bO(bb)
683- if ((bV == bV))
697+ else bS(bf)
698+ if ((cc == cc))
684699 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
685700 else throw("Strict value is not equal to itself.")
686701 }
687702
688703
689704
690-@Callable(bb)
691-func onVerificationLoss (dD) = {
692- let bV = if ((toBase58String(bb.caller.bytes) == valueOrElse(getString(this, R()), "")))
705+@Callable(bf)
706+func onVerificationLoss (dK) = {
707+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
693708 then true
694- else bc(bb)
695- if ((bV == bV))
709+ else bg(bf)
710+ if ((cc == cc))
696711 then {
697- let cc = aU()
698- let dE = if ((size(cc) > 0))
712+ let cj = aY()
713+ let dL = if ((size(cj) > 0))
699714 then true
700715 else throw("invalid price assets")
701- if ((dE == dE))
716+ if ((dL == dL))
702717 then {
703- func dF (dG,dH) = {
704- let dI = invoke(this, "deleteWxEmissionPoolLabel", [dD, dH], nil)
705- if ((dI == dI))
718+ func dM (dN,dO) = {
719+ let dP = invoke(this, "deleteWxEmissionPoolLabel", [dK, dO], nil)
720+ if ((dP == dP))
706721 then unit
707722 else throw("Strict value is not equal to itself.")
708723 }
709724
710- let dJ = {
711- let dK = cc
712- let dL = size(dK)
713- let dM = unit
714- func dN (dO,dP) = if ((dP >= dL))
715- then dO
716- else dF(dO, dK[dP])
725+ let dQ = {
726+ let dR = cj
727+ let dS = size(dR)
728+ let dT = unit
729+ func dU (dV,dW) = if ((dW >= dS))
730+ then dV
731+ else dM(dV, dR[dW])
717732
718- func dQ (dO,dP) = if ((dP >= dL))
719- then dO
733+ func dX (dV,dW) = if ((dW >= dS))
734+ then dV
720735 else throw("List size exceeds 3")
721736
722- dQ(dN(dN(dN(dM, 0), 1), 2), 3)
737+ dX(dU(dU(dU(dT, 0), 1), 2), 3)
723738 }
724- if ((dJ == dJ))
739+ if ((dQ == dQ))
725740 then $Tuple2(nil, unit)
726741 else throw("Strict value is not equal to itself.")
727742 }
728743 else throw("Strict value is not equal to itself.")
729744 }
730745 else throw("Strict value is not equal to itself.")
731746 }
732747
733748
734749
735-@Callable(bb)
750+@Callable(bf)
736751 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
737- let cu = bF(Y)
738- let aj = $Tuple2(parseIntValue(cu[z]), parseIntValue(cu[A]))
739- let dR = valueOrElse(getBoolean(ai(aj)), false)
740- let dS = valueOrElse(getBoolean(al()), false)
741- $Tuple2(nil, if (dS)
752+ let cB = bJ(Y)
753+ let aj = $Tuple2(parseIntValue(cB[z]), parseIntValue(cB[A]))
754+ let dY = valueOrElse(getBoolean(ai(aj)), false)
755+ let dZ = valueOrElse(getBoolean(al()), false)
756+ $Tuple2(nil, if (dZ)
742757 then true
743- else dR)
758+ else dY)
744759 }
745760
746761
747-@Verifier(dT)
748-func dU () = {
749- let dV = {
750- let aV = aX()
751- if ($isInstanceOf(aV, "ByteVector"))
762+
763+@Callable(bf)
764+func getInFeeREADONLY (Y) = {
765+ let ea = bV(aA(Y), aB(), 0)
766+ $Tuple2(nil, ea)
767+ }
768+
769+
770+
771+@Callable(bf)
772+func getOutFeeREADONLY (Y) = {
773+ let ea = bV(aC(Y), aD(), fraction(10, b, 10000))
774+ $Tuple2(nil, ea)
775+ }
776+
777+
778+@Verifier(eb)
779+func ec () = {
780+ let ed = {
781+ let aZ = bb()
782+ if ($isInstanceOf(aZ, "ByteVector"))
752783 then {
753- let bd = aV
754- bd
784+ let bh = aZ
785+ bh
755786 }
756- else if ($isInstanceOf(aV, "Unit"))
757- then dT.senderPublicKey
787+ else if ($isInstanceOf(aZ, "Unit"))
788+ then eb.senderPublicKey
758789 else throw("Match error")
759790 }
760- sigVerify(dT.bodyBytes, dT.proofs[0], dV)
791+ sigVerify(eb.bodyBytes, eb.proofs[0], ed)
761792 }
762793

github/deemru/w8io/169f3d6 
226.61 ms