tx · 74s5enjE1kh9cF3KbraDPw1YKP4ZkumNtbR4xW1gL5Qp

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.03000000 Waves

2023.01.16 15:29 [2407502] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "74s5enjE1kh9cF3KbraDPw1YKP4ZkumNtbR4xW1gL5Qp", "fee": 3000000, "feeAssetId": null, "timestamp": 1673872236389, "version": 1, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "3iYoyayYpun1ifKXFnDg5WH17932FSLNfmgBybX8yfouXFB5CRGKsYaoCzBWD9vWCcnc3VaCLvePMuWJY8qVu2pc" ], "script": "base64:AAIFAAAAAAAAEqsIAhIECgIICBIDCgEIEgoKCAgICAgICAgBEgMKAQgSBgoECAgICBIECgIIGBIDCgEIEgQKAggYEgMKAQgSABIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCCIGU0NBTEU4IgVNVUxUOCIHU0NBTEUxOCIGTVVMVDE4Ig5QT09MV0VJR0hUTVVMVCIOR1dYdmlydHVhbFBPT0wiDGxhYmVsUG9vbHNMcCINZGVmYXVsdFNwcmVhZCIRZGVjaW1hbHNNdWx0UHJpY2UiA1NFUCIFRU1QVFkiClBvb2xBY3RpdmUiD1Bvb2xQdXREaXNhYmxlZCITUG9vbE1hdGNoZXJEaXNhYmxlZCIMUG9vbFNodXRkb3duIhJpZHhJbnRlcm5hbEFzc2V0SWQiD2lkeFJlc3V0QWN0aW9ucyIgaWR4SWZBc3NldElkQ2FsY3VsYXRpb25QZXJmb3JtZWQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSILaWR4UG9vbFR5cGUiE3Bvb2xMYWJlbFd4RW1pc3Npb24iD3ZhbGlkUG9vbExhYmVscyIWa2V5QWxsb3dlZExwU2NyaXB0SGFzaCIca2V5QWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaCIha2V5QWxsb3dlZExwU3RhYmxlQWRkb25TY3JpcHRIYXNoIhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0Ig5rZXlQcmljZUFzc2V0cyIQa2V5UHJpY2VEZWNpbWFscyITa2V5QWxsUG9vbHNTaHV0ZG93biIWa2V5TmV4dEludGVybmFsQXNzZXRJZCIPa2V5UG9vbFRvV2VpZ2h0Igtwb29sQWRkcmVzcyIWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeSIDbnVtIh9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkIhFpbnRlcm5hbEJhc2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIg1rZXlQb29sQ29uZmlnIhNhbW91bnRBc3NldEludGVybmFsIhJwcmljZUFzc2V0SW50ZXJuYWwiIWtleVBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIOYXNzZXRzSW50ZXJuYWwiCyR0MDM2MzIzNjk0IiVrZXlBbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEGdldEJvb2xlYW5PckZhaWwiDGdldEludE9yRmFpbCIYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwIhlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwIhRJZHhGYWN0b3J5Q2ZnSWRvRGFwcCIVSWR4RmFjdG9yeUNmZ1RlYW1EYXBwIhlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwIhVJZHhGYWN0b3J5Q2ZnUmVzdERhcHAiGUlkeEZhY3RvcnlDZmdTbGlwcGFnZURhcHAiFElkeEZhY3RvcnlDZmdEYW9EYXBwIhpJZHhGYWN0b3J5Q2ZnTWFya2V0aW5nRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiFklkeEZhY3RvcnlDZmdCaXJkc0RhcHAiGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsIhdnZXRTdGFraW5nQWRkcmVzc09yRmFpbCIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIOZ2V0UHJpY2VBc3NldHMiByRtYXRjaDAiAXMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IhVwZXJtaXNzaW9uRGVuaWVkRXJyb3IiCG11c3RUaGlzIgFpIgttdXN0TWFuYWdlciICcGsiEGRhdGFGYWN0b3J5Q2ZnVjMiDnN0YWtpbmdBZGRyZXNzIg9ib29zdGluZ0FkZHJlc3MiC2lkb0NvbnRyYWN0Igx0ZWFtQ29udHJhY3QiEGVtaXNzaW9uQ29udHJhY3QiDHJlc3RDb250cmFjdCIQc2xpcHBhZ2VDb250cmFjdCILZGFvQ29udHJhY3QiEW1hcmtldGluZ0NvbnRyYWN0IhJnd3hSZXdhcmRzQ29udHJhY3QiDWJpcmRzQ29udHJhY3QiDmRhdGFGYWN0b3J5Q2ZnIgtkYXRhUG9vbENmZyIKcG9vbFN0YXR1cyIJbHBBc3NldElkIg5hbW91bnRBc3NldFN0ciINcHJpY2VBc3NldFN0ciITYW1vdW50QXNzZXREZWNpbWFscyIScHJpY2VBc3NldERlY2ltYWxzIhVhbW91bnRBc3NldEludGVybmFsSWQiFHByaWNlQXNzZXRJbnRlcm5hbElkIg9scEFzc2V0RGVjaW1hbHMiCHBvb2xUeXBlIhVkYXRhTWFwcGluZ1Bvb2xBc3NldHMiFmludGVybmFsQW1vdW50QXNzZXRTdHIiFWludGVybmFsUHJpY2VBc3NldFN0ciINZ2V0UG9vbENvbmZpZyIKcG9vbEFzc2V0cyIaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUiCmFzc2V0SWRTdHIiC2luY3JlbWVudG9yIg9pbnRlcm5hbEFzc2V0SWQiGGN1cnJlbnRJbmRleE9mSW50ZXJuYWxJZCIGcmVzdWx0IhJuZXdJbnRlcm5hbEFzc2V0SWQiCW11c3RBZG1pbiIIYWRtaW5QS3MiCWlzTWFuYWdlciIWaW50T3JEZWZhdWx0T3JGYWxsYmFjayIKa2V5RGVmYXVsdCINdmFsdWVGYWxsYmFjayIGYXNzZXQxIgZhc3NldDIiAmxwIg9zdGFraW5nQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiEHNscGlwYWdlQ29udHJhY3QiDXByaWNlRGVjaW1hbHMiC2NoZWNrQ2FsbGVyIhBtYXRoY2hlclB1YjU4U3RyIgptYXRoY2VyUHViIhVsZWdhY3lGYWN0b3J5Q29udHJhY3QiC2xlZ2FjeVBvb2xzIhNhc3NldHNTdG9yZUNvbnRyYWN0IhZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0IgtwcmljZUFzc2V0cyIFY2hla3MiF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sQ29uZmlnIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJZFN0ciIUdXNkY1VzZHRMcEFzc2V0SWRTdHIiEW9uTW9kaWZ5V2VpZ2h0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", "chainId": 84, "height": 2407502, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3kaCHEsuwi2Qu8xRLYax9LAKp3RPFXyeDzjxBU4kZEeu Next: GJqTRqDGs9DQfNBcrtzhPtLqki27SFchngjygo3PtgbA Diff:
OldNewDifferences
1717
1818 let h = 2000000
1919
20-let i = "WAVES"
20+let i = ((100 * 1000) * 1000)
2121
22-let j = ((100 * 1000) * 1000)
22+let j = "__"
2323
24-let k = "__"
24+let k = ""
2525
26-let l = ""
26+let l = 1
2727
28-let m = 1
28+let m = 2
2929
30-let n = 2
30+let n = 3
3131
32-let o = 3
32+let o = 4
3333
34-let p = 4
34+let p = 1
3535
36-let q = 1
36+let q = 2
3737
38-let r = 2
38+let r = 3
3939
40-let s = 3
40+let s = 1
4141
42-let t = 1
42+let t = 2
4343
44-let u = 2
44+let u = 3
4545
46-let v = 3
46+let v = 4
4747
48-let w = 4
48+let w = 5
4949
50-let x = 5
50+let x = 6
5151
52-let y = 6
52+let y = 7
5353
54-let z = 7
54+let z = 8
5555
56-let A = 8
56+let A = 9
5757
58-let B = 9
58+let B = 10
5959
60-let C = 10
60+let C = 11
6161
62-let D = 11
62+let D = "WX_EMISSION"
6363
64-let E = "WX_EMISSION"
64+let E = [D]
6565
66-let F = [E]
67-
68-func G () = "%s__allowedLpScriptHash"
66+func F () = "%s__allowedLpScriptHash"
6967
7068
71-func H () = "%s__allowedLpStableScriptHash"
69+func G () = "%s__allowedLpStableScriptHash"
7270
7371
74-func I () = "%s__allowedLpStableAddonScriptHash"
72+func H () = "%s__allowedLpStableAddonScriptHash"
7573
7674
77-func J () = "%s__factoryConfig"
75+func I () = "%s__factoryConfig"
7876
7977
80-func K () = "%s__lpTokensList"
78+func J () = "%s__lpTokensList"
8179
8280
83-func L () = "%s%s__pool__scriptHash"
81+func K () = "%s%s__pool__scriptHash"
8482
8583
86-func M () = "%s%s__matcher__publicKey"
84+func L () = "%s%s__matcher__publicKey"
8785
8886
89-func N () = "%s__legacyFactoryContract"
87+func M () = "%s__legacyFactoryContract"
9088
9189
92-func O () = "%s__legacyPools"
90+func N () = "%s__legacyPools"
9391
9492
95-func P () = "%s__managerPublicKey"
93+func O () = "%s__managerPublicKey"
9694
9795
98-func Q () = "%s__pendingManagerPublicKey"
96+func P () = "%s__pendingManagerPublicKey"
9997
10098
101-func R () = "%s__adminPubKeys"
99+func Q () = "%s__adminPubKeys"
102100
103101
104-func S () = "%s__assetsStoreContract"
102+func R () = "%s__assetsStoreContract"
105103
106104
107-func T () = "%s__votingEmissionContract"
105+func S () = "%s__votingEmissionContract"
108106
109107
110-func U () = makeString(["%s", "priceAssets"], k)
108+func T () = makeString(["%s", "priceAssets"], j)
111109
112110
113-func V () = "%s__priceDecimals"
111+func U () = "%s__priceDecimals"
114112
115113
116-func W () = "%s__shutdown"
114+func V () = "%s__shutdown"
117115
118116
119-func X () = "%s__nextInternalAssetId"
117+func W () = "%s__nextInternalAssetId"
120118
121119
122-func Y (Z) = ("%s%s__poolWeight__" + Z)
120+func X (Y) = ("%s%s__poolWeight__" + Y)
123121
124122
125-func aa (Z,ab) = ((("%s%s__poolWeight__" + Z) + "__") + toString(ab))
123+func Z (Y,aa) = ((("%s%s__poolWeight__" + Y) + "__") + toString(aa))
126124
127125
128-func ac (ad) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ad))
126+func ab (ac) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ac))
129127
130128
131-func ae (af) = ("%s%s%s__mappings__baseAsset2internalId__" + af)
129+func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
132130
133131
134-func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
132+func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
135133
136134
137-func aj (ak) = {
138- let al = ak
139- let ah = al._1
140- let ai = al._2
141- makeString(["%d%d%s", toString(ah), toString(ai), "oneTokenOperationsDisabled"], k)
135+func ai (aj) = {
136+ let ak = aj
137+ let ag = ak._1
138+ let ah = ak._2
139+ makeString(["%d%d%s", toString(ag), toString(ah), "oneTokenOperationsDisabled"], j)
142140 }
143141
144142
145-func am () = makeString(["%s", "oneTokenOperationsDisabled"], k)
143+func al () = makeString(["%s", "oneTokenOperationsDisabled"], j)
146144
147145
148-func an (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2Pool")
146+func am (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2Pool")
149147
150148
151-func ap (aq,ar) = (((("%d%d%s%s__" + aq) + "__") + ar) + "__mappings__PoolAssets2LpAsset")
149+func ao (ap,aq) = (((("%d%d%s%s__" + ap) + "__") + aq) + "__mappings__PoolAssets2LpAsset")
152150
153151
154-func as (Z) = ("%s%s__spread__" + Z)
152+func ar (Y) = ("%s%s__spread__" + Y)
155153
156154
157-func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2PoolAssets")
155+func as (at) = (("%s%s%s__" + at) + "__mappings__poolContract2PoolAssets")
158156
159157
160-func av (aq,ar) = (((("%d%d%s%s__" + toString(aq)) + "__") + toString(ar)) + "__mappings__poolAssets2PoolContract")
158+func au (ap,aq) = (((("%d%d%s%s__" + toString(ap)) + "__") + toString(aq)) + "__mappings__poolAssets2PoolContract")
161159
162160
163-func aw (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
161+func av (at) = (("%s%s%s__" + at) + "__mappings__poolContract2LpAsset")
164162
165163
166-func ax (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2PoolContract")
164+func aw (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2PoolContract")
167165
168166
169-func ay (az,aA) = ((("%s%s%s__wxEmission__" + az) + "__") + aA)
167+func ax (ay,az) = ((("%s%s%s__wxEmission__" + ay) + "__") + az)
170168
171169
172-func aB (Z) = ("%s%s__inFee__" + Z)
170+func aA (Y) = ("%s%s__inFee__" + Y)
173171
174172
175-func aC () = "%s__inFeeDefault"
173+func aB () = "%s__inFeeDefault"
176174
177175
178-func aD (Z) = ("%s%s__outFee__" + Z)
176+func aC (Y) = ("%s%s__outFee__" + Y)
179177
180178
181-func aE () = "%s__outFeeDefault"
179+func aD () = "%s__outFeeDefault"
182180
183181
184-func aF (aG) = valueOrErrorMessage(getString(this, aG), ("No data for this.key=" + aG))
182+func aE (aF) = valueOrErrorMessage(getString(this, aF), ("No data for this.key=" + aF))
185183
186184
187-func aH (aG) = valueOrErrorMessage(getBoolean(this, aG), ("No data for this.key=" + aG))
185+func aG (aF) = valueOrErrorMessage(getBoolean(this, aF), ("No data for this.key=" + aF))
188186
189187
190-func aI (aG) = valueOrErrorMessage(getInteger(this, aG), ("No data for this.key=" + aG))
188+func aH (aF) = valueOrErrorMessage(getInteger(this, aF), ("No data for this.key=" + aF))
191189
192190
193-func aJ (aK) = if ((aK == i))
194- then unit
195- else fromBase58String(aK)
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])
196214
197215
198-let aL = 1
199-
200-let aM = 2
201-
202-let aN = 3
203-
204-let aO = 4
205-
206-let aP = 5
207-
208-let aQ = 6
209-
210-let aR = 7
211-
212-let aS = 8
213-
214-let aT = 9
215-
216-let aU = 10
217-
218-let aV = 11
219-
220-func aW (aX) = addressFromStringValue(aX[aM])
216+func aV (aU) = addressFromStringValue(aU[aM])
221217
222218
223-func aY (aX) = addressFromStringValue(aX[aP])
219+func aW (aU) = addressFromStringValue(aU[aI])
224220
225221
226-func aZ (aX) = addressFromStringValue(aX[aL])
222+func aX (aU) = addressFromStringValue(aU[aR])
227223
228224
229-func ba (aX) = addressFromStringValue(aX[aU])
230-
231-
232-func bb () = {
233- let bc = getString(U())
234- if ($isInstanceOf(bc, "String"))
225+func aY () = {
226+ let aZ = getString(T())
227+ if ($isInstanceOf(aZ, "String"))
235228 then {
236- let bd = bc
237- if ((size(bd) == 0))
229+ let ba = aZ
230+ if ((size(ba) == 0))
238231 then nil
239- else split(bd, k)
232+ else split(ba, j)
240233 }
241234 else nil
242235 }
243236
244237
245-func be () = {
246- let bc = getString(P())
247- if ($isInstanceOf(bc, "String"))
238+func bb () = {
239+ let aZ = getString(O())
240+ if ($isInstanceOf(aZ, "String"))
248241 then {
249- let bd = bc
250- fromBase58String(bd)
242+ let ba = aZ
243+ fromBase58String(ba)
251244 }
252- else if ($isInstanceOf(bc, "Unit"))
245+ else if ($isInstanceOf(aZ, "Unit"))
253246 then unit
254247 else throw("Match error")
255248 }
256249
257250
258-func bf () = {
259- let bc = getString(Q())
260- if ($isInstanceOf(bc, "String"))
251+func bc () = {
252+ let aZ = getString(P())
253+ if ($isInstanceOf(aZ, "String"))
261254 then {
262- let bd = bc
263- fromBase58String(bd)
255+ let ba = aZ
256+ fromBase58String(ba)
264257 }
265- else if ($isInstanceOf(bc, "Unit"))
258+ else if ($isInstanceOf(aZ, "Unit"))
266259 then unit
267260 else throw("Match error")
268261 }
269262
270263
271-let bg = throw("Permission denied")
264+let bd = throw("Permission denied")
272265
273-func bh (bi) = if ((bi.caller == this))
266+func be (bf) = if ((bf.caller == this))
274267 then true
275- else bg
268+ else bd
276269
277270
278-func bj (bi) = {
279- let bc = be()
280- if ($isInstanceOf(bc, "ByteVector"))
271+func bg (bf) = {
272+ let aZ = bb()
273+ if ($isInstanceOf(aZ, "ByteVector"))
281274 then {
282- let bk = bc
283- if ((bi.callerPublicKey == bk))
275+ let bh = aZ
276+ if ((bf.callerPublicKey == bh))
284277 then true
285- else bg
278+ else bd
286279 }
287- else if ($isInstanceOf(bc, "Unit"))
288- then bh(bi)
280+ else if ($isInstanceOf(aZ, "Unit"))
281+ then be(bf)
289282 else throw("Match error")
290283 }
291284
292285
293-func bl (bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw], k)
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)
294287
295288
296-func bx (bm,bn,bo,bp,bq,br,bs) = makeString(["%s%s%s%s%s%s", bm, bn, bo, bp, bq, br, bs], k)
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)
297290
298291
299-func by (Z,bz,bA,bB,bC,bD,bE,bF,bG,bH,bI) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Z, bz, bA, bB, bC, toString(bD), toString(bE), toString(bF), toString(bG), toString(bH), bI], k)
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)
300293
301294
302-func bJ (bK,bL) = makeString(["%d%d", toString(bK), toString(bL)], k)
295+func bG (bH,bI) = makeString(["%d%d", toString(bH), toString(bI)], j)
303296
304297
305-func bM (Z) = {
306- let bN = split(aF(at(Z)), k)
307- let ah = bN[1]
308- let ai = bN[2]
309- split(aF(ag(ah, ai)), k)
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)
310303 }
311304
312305
313-func bO (bP,bQ) = {
314- let bR = valueOrElse(getInteger(this, ae(bP)), 0)
315- let bS = valueOrElse(getInteger(this, X()), 0)
316- let bT = if ((bR == 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))
317310 then {
318- let bU = (bS + bQ)
319- $Tuple3(bU, [IntegerEntry(X(), bU), IntegerEntry(ae(bP), bU), StringEntry(ac(bU), bP)], true)
311+ let bR = (bP + bN)
312+ $Tuple3(bR, [IntegerEntry(W(), bR), IntegerEntry(ad(bM), bR), StringEntry(ab(bR), bM)], true)
320313 }
321- else $Tuple3(bR, nil, false)
322- bT
314+ else $Tuple3(bO, nil, false)
315+ bQ
323316 }
324317
325318
326-func bV (bi) = {
327- let bW = split(valueOrElse(getString(R()), l), k)
328- if (containsElement(bW, toBase58String(bi.callerPublicKey)))
319+func bS (bf) = {
320+ let bT = split(valueOrElse(getString(Q()), k), j)
321+ if (containsElement(bT, toBase58String(bf.callerPublicKey)))
329322 then true
330323 else {
331- let bX = bj(bi)
332- if ((bX == bX))
324+ let bU = bg(bf)
325+ if ((bU == bU))
333326 then true
334327 else throw("Strict value is not equal to itself.")
335328 }
336329 }
337330
338331
339-func bY (aG,bZ,ca) = valueOrElse(getInteger(this, aG), valueOrElse(getInteger(this, bZ), ca))
332+func bV (aF,bW,bX) = valueOrElse(getInteger(this, aF), valueOrElse(getInteger(this, bW), bX))
340333
341334
342-@Callable(bi)
343-func constructor (cb,cc,bo,bp,bq,br,cd,ce) = {
344- let cf = bj(bi)
335+@Callable(bf)
336+func getLpAssetFromPoolAssetsREADONLY (bY,bZ) = $Tuple2(nil, getString(this, ao(bY, bZ)))
337+
338+
339+
340+@Callable(bf)
341+func getPoolAddressFromLpAssetREADONLY (ca) = $Tuple2(nil, getString(this, aw(ca)))
342+
343+
344+
345+@Callable(bf)
346+func constructor (cb,cc,bl,bm,bn,bo,cd,ce) = {
347+ let cf = bg(bf)
345348 if ((cf == cf))
346- then [StringEntry(J(), bx(cb, cc, bo, bp, bq, br, cd)), IntegerEntry(V(), ce)]
349+ then [StringEntry(I(), bu(cb, cc, bl, bm, bn, bo, cd)), IntegerEntry(U(), ce)]
347350 else throw("Strict value is not equal to itself.")
348351 }
349352
350353
351354
352-@Callable(bi)
355+@Callable(bf)
353356 func constructorV2 (cg) = {
354- let cf = bj(bi)
357+ let cf = bg(bf)
355358 if ((cf == cf))
356359 then {
357360 let ch = addressFromPublicKey(fromBase58String(cg))
358361 if ((ch == ch))
359- then [StringEntry(M(), cg)]
362+ then [StringEntry(L(), cg)]
360363 else throw("Strict value is not equal to itself.")
361364 }
362365 else throw("Strict value is not equal to itself.")
364367
365368
366369
367-@Callable(bi)
368-func constructorV3 (bt,bu,bv,bw) = {
369- let cf = bj(bi)
370+@Callable(bf)
371+func constructorV3 (bq,br,bs,bt) = {
372+ let cf = bg(bf)
370373 if ((cf == cf))
371374 then {
372- let aX = split(aF(J()), k)
373-[StringEntry(J(), bl(aX[1], aX[2], aX[3], aX[4], aX[5], aX[6], aX[7], bt, bu, bv, bw))]
375+ let aU = split(aE(I()), j)
376+[StringEntry(I(), bi(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], bq, br, bs, bt))]
374377 }
375378 else throw("Strict value is not equal to itself.")
376379 }
377380
378381
379382
380-@Callable(bi)
383+@Callable(bf)
381384 func constructorV4 (ci,cj) = {
382- let cf = bj(bi)
385+ let cf = bg(bf)
383386 if ((cf == cf))
384- then [StringEntry(N(), ci), StringEntry(O(), makeString(cj, k))]
387+ then [StringEntry(M(), ci), StringEntry(N(), makeString(cj, j))]
385388 else throw("Strict value is not equal to itself.")
386389 }
387390
388391
389392
390-@Callable(bi)
393+@Callable(bf)
391394 func constructorV5 (ck) = {
392- let cf = bj(bi)
395+ let cf = bg(bf)
393396 if ((cf == cf))
394- then [StringEntry(S(), ck)]
397+ then [StringEntry(R(), ck)]
395398 else throw("Strict value is not equal to itself.")
396399 }
397400
398401
399402
400-@Callable(bi)
403+@Callable(bf)
401404 func constructorV6 (cl,cm) = {
402- let cn = [bj(bi), if ((addressFromString(cl) != unit))
405+ let cn = [bg(bf), if ((addressFromString(cl) != unit))
403406 then true
404407 else "invalid voting emission contract address"]
405408 if ((cn == cn))
406- then [StringEntry(T(), cl), StringEntry(U(), makeString(cm, k))]
409+ then [StringEntry(S(), cl), StringEntry(T(), makeString(cm, j))]
407410 else throw("Strict value is not equal to itself.")
408411 }
409412
410413
411414
412-@Callable(bi)
415+@Callable(bf)
413416 func setManager (co) = {
414- let cf = bj(bi)
417+ let cf = bg(bf)
415418 if ((cf == cf))
416419 then {
417420 let cp = fromBase58String(co)
418421 if ((cp == cp))
419- then [StringEntry(Q(), co)]
422+ then [StringEntry(P(), co)]
420423 else throw("Strict value is not equal to itself.")
421424 }
422425 else throw("Strict value is not equal to itself.")
424427
425428
426429
427-@Callable(bi)
430+@Callable(bf)
428431 func confirmManager () = {
429- let cq = bf()
432+ let cq = bc()
430433 let cr = if (isDefined(cq))
431434 then true
432435 else throw("No pending manager")
433436 if ((cr == cr))
434437 then {
435- let cs = if ((bi.callerPublicKey == value(cq)))
438+ let cs = if ((bf.callerPublicKey == value(cq)))
436439 then true
437440 else throw("You are not pending manager")
438441 if ((cs == cs))
439- then [StringEntry(P(), toBase58String(value(cq))), DeleteEntry(Q())]
442+ then [StringEntry(O(), toBase58String(value(cq))), DeleteEntry(P())]
440443 else throw("Strict value is not equal to itself.")
441444 }
442445 else throw("Strict value is not equal to itself.")
444447
445448
446449
447-@Callable(bi)
450+@Callable(bf)
448451 func setAdmins (ct) = {
449- let cf = bj(bi)
452+ let cf = bg(bf)
450453 if ((cf == cf))
451- then [StringEntry(R(), makeString(ct, k))]
454+ then [StringEntry(Q(), makeString(ct, j))]
452455 else throw("Strict value is not equal to itself.")
453456 }
454457
455458
456459
457-@Callable(bi)
458-func activateNewPool (Z,bB,bC,cu,cv,cw,bI,cx) = {
459- let cf = bV(bi)
460+@Callable(bf)
461+func activateNewPool (Y,by,bz,cu,cv,cw,bF,cx) = {
462+ let cf = bS(bf)
460463 if ((cf == cf))
461- then if (isDefined(getString(at(Z))))
462- then throw((("Pool address " + Z) + " already registered."))
464+ then if (isDefined(getString(as(Y))))
465+ then throw((("Pool address " + Y) + " already registered."))
463466 else {
464- let cy = bO(bB, 1)
467+ let cy = bL(by, 1)
465468 let cz = cy._1
466- let cA = bO(bC, if (cy._3)
469+ let cA = bL(bz, if (cy._3)
467470 then 2
468471 else 1)
469472 let cB = cA._1
470- let cC = valueOrErrorMessage(scriptHash(addressFromStringValue(Z)), ("No script has been found on pool account " + Z))
471- let cD = getBinaryValue(L())
472- let cE = getString(this, ag(toString(cz), toString(cB)))
473+ let cC = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
474+ let cD = getBinaryValue(K())
475+ let cE = getString(this, af(toString(cz), toString(cB)))
473476 if (isDefined(cE))
474- then throw((((("Pool " + bB) + "/") + bC) + " has already been activated."))
477+ then throw((((("Pool " + by) + "/") + bz) + " has already been activated."))
475478 else {
476- let cF = value(getString(this, ag(toString(cz), toString(cB))))
477- let cG = if ((bB == "WAVES"))
478- then j
479- else pow(10, 0, value(assetInfo(fromBase58String(bB))).decimals, 0, 0, DOWN)
480- let cH = if ((bC == "WAVES"))
481- then j
482- else pow(10, 0, value(assetInfo(fromBase58String(bC))).decimals, 0, 0, DOWN)
479+ let cF = value(getString(this, af(toString(cz), toString(cB))))
480+ let cG = if ((by == "WAVES"))
481+ then i
482+ else pow(10, 0, value(assetInfo(fromBase58String(by))).decimals, 0, 0, DOWN)
483+ let cH = if ((bz == "WAVES"))
484+ then i
485+ else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
483486 let cI = Issue(cu, cv, 1, 8, true)
484- let bA = calculateAssetId(cI)
485- let cJ = toBase58String(bA)
486- let cK = invoke(addressFromStringValue(Z), "activate", [bB, bC], nil)
487+ let bx = calculateAssetId(cI)
488+ let cJ = toBase58String(bx)
489+ let cK = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
487490 if ((cK == cK))
488491 then if ((cK != "success"))
489492 then throw("Pool initialisation error happened.")
490493 else {
491- let ck = addressFromStringValue(aF(S()))
494+ let ck = addressFromStringValue(aE(R()))
492495 let cL = invoke(ck, "createOrUpdate", [cJ, cu, false], nil)
493496 if ((cL == cL))
494497 then {
498501 let cN = invoke(ck, "setLogo", [cJ, cx], nil)
499502 if ((cN == cN))
500503 then {
501- let cO = invoke(ck, "addAssetsLink", [bB, bC, cJ], nil)
504+ let cO = invoke(ck, "addAssetsLink", [by, bz, cJ], nil)
502505 if ((cO == cO))
503506 then {
504- let cP = invoke(ck, "increaseAssetPoolsNumber", [bB], nil)
507+ let cP = invoke(ck, "increaseAssetPoolsNumber", [by], nil)
505508 if ((cP == cP))
506- then $Tuple2(((cy._2 ++ cA._2) ++ [cI, Burn(bA, 1), StringEntry(ag(toString(cz), toString(cB)), by(Z, toString(m), cJ, bB, bC, cG, cH, cz, cB, j, bI)), StringEntry(an(cJ), bJ(cz, cB)), StringEntry(ap(toString(cz), toString(cB)), ("%s__" + cJ)), StringEntry(at(Z), bJ(cz, cB)), StringEntry(av(cz, cB), Z), StringEntry(ax(cJ), Z), StringEntry(aw(Z), cJ), IntegerEntry(Y(Z), cw), IntegerEntry(as(Z), h)]), cJ)
509+ then $Tuple2(((cy._2 ++ cA._2) ++ [cI, Burn(bx, 1), StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(l), cJ, by, bz, cG, cH, cz, cB, i, bF)), StringEntry(am(cJ), bG(cz, cB)), StringEntry(ao(toString(cz), toString(cB)), ("%s__" + cJ)), StringEntry(as(Y), bG(cz, cB)), StringEntry(au(cz, cB), Y), StringEntry(aw(cJ), Y), StringEntry(av(Y), cJ), IntegerEntry(X(Y), cw), IntegerEntry(ar(Y), h)]), cJ)
507510 else throw("Strict value is not equal to itself.")
508511 }
509512 else throw("Strict value is not equal to itself.")
522525
523526
524527
525-@Callable(bi)
526-func managePool (Z,cQ) = {
527- let cf = bj(bi)
528+@Callable(bf)
529+func managePool (Y,cQ) = {
530+ let cf = bg(bf)
528531 if ((cf == cf))
529532 then {
530- let cE = bM(Z)
531- let bz = cE[u]
532- let cJ = cE[v]
533- let bB = cE[w]
534- let bC = cE[x]
535- let cG = parseIntValue(cE[y])
536- let cH = parseIntValue(cE[z])
537- let cz = parseIntValue(cE[A])
538- let cB = parseIntValue(cE[B])
539- let cR = parseIntValue(cE[C])
540- let bI = cE[D]
541-[StringEntry(ag(toString(cz), toString(cB)), by(Z, toString(cQ), cJ, bB, bC, cG, cH, cz, cB, cR, bI))]
533+ let cE = bJ(Y)
534+ let bw = cE[t]
535+ let cJ = cE[u]
536+ let by = cE[v]
537+ let bz = cE[w]
538+ let cG = parseIntValue(cE[x])
539+ let cH = parseIntValue(cE[y])
540+ let cz = parseIntValue(cE[z])
541+ let cB = parseIntValue(cE[A])
542+ let cR = parseIntValue(cE[B])
543+ let bF = cE[C]
544+[StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(cQ), cJ, by, bz, cG, cH, cz, cB, cR, bF))]
542545 }
543546 else throw("Strict value is not equal to itself.")
544547 }
545548
546549
547550
548-@Callable(bi)
551+@Callable(bf)
549552 func emit (cS) = {
550- let cT = bi.caller
551- let cU = bi.originCaller
552- let cV = valueOrErrorMessage(getString(aw(toString(cT))), "Invalid LP address called me.")
553+ let cT = bf.caller
554+ let cU = bf.originCaller
555+ let cV = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
553556 let cW = fromBase58String(cV)
554- let cj = split(valueOrElse(getString(O()), l), k)
555- let ci = addressFromStringValue(valueOrErrorMessage(getString(N()), "Legacy factory contract does not exists."))
557+ let cj = split(valueOrElse(getString(N()), k), j)
558+ let ci = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
556559 if ((0 >= cS))
557560 then nil
558561 else if (containsElement(cj, toString(cT)))
559562 then $Tuple2(nil, ci)
560- else $Tuple2([Reissue(cW, cS, true), ScriptTransfer(bi.caller, cS, cW)], "success")
563+ else $Tuple2([Reissue(cW, cS, true), ScriptTransfer(bf.caller, cS, cW)], "success")
561564 }
562565
563566
564567
565-@Callable(bi)
568+@Callable(bf)
566569 func burn (cX) = {
567- let cT = bi.caller
568- let cU = bi.originCaller
569- let cY = value(bi.payments[0])
570+ let cT = bf.caller
571+ let cU = bf.originCaller
572+ let cY = value(bf.payments[0])
570573 let cZ = value(cY.amount)
571574 let da = toBase58String(value(cY.assetId))
572- let db = valueOrErrorMessage(getString(aw(toString(cT))), "Invalid LP address called me.")
575+ let db = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
573576 if ((da != db))
574577 then throw("Invalid asset passed.")
575578 else if ((cX != cZ))
582585
583586
584587
585-@Callable(bi)
586-func modifyWeight (bA,dc) = {
587- let cf = if ((toBase58String(bi.caller.bytes) == valueOrElse(getString(this, T()), "")))
588+@Callable(bf)
589+func modifyWeight (bx,dc) = {
590+ let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
588591 then true
589- else bj(bi)
592+ else bg(bf)
590593 if ((cf == cf))
591594 then {
592- let au = aF(ax(bA))
593- let dd = Y(au)
594- let de = Y(f)
595+ let at = aE(aw(bx))
596+ let dd = X(at)
597+ let de = X(f)
595598 let df = valueOrElse(getInteger(de), 0)
596599 let cw = valueOrElse(getInteger(dd), 0)
597600 let dg = dc
598- let aX = split(aF(J()), k)
599- let cb = aZ(aX)
600- let dh = invoke(cb, "onModifyWeight", [bA, au], nil)
601+ let aU = split(aE(I()), j)
602+ let cb = aW(aU)
603+ let dh = invoke(cb, "onModifyWeight", [bx, at], nil)
601604 if ((dh == dh))
602605 then {
603606 let di = if ((df == 0))
604607 then nil
605608 else [IntegerEntry(de, 0)]
606- let dj = aa(au, 0)
609+ let dj = Z(at, 0)
607610 let dk = getInteger(dj)
608611 let dl = if ((dk == unit))
609612 then nil
617620
618621
619622
620-@Callable(bi)
623+@Callable(bf)
621624 func modifyWeights (dm,dn,do,dp) = {
622- let cf = bj(bi)
625+ let cf = bg(bf)
623626 if ((cf == cf))
624627 then {
625628 let dq = ((5 * e) / 100)
626629 let dr = ((5 * e) / 100)
627630 let ds = ((5 * e) / 100)
628- let aX = split(aF(J()), k)
629- let dt = aZ(aX)
630- let du = ba(aX)
631- let dv = Y(dm)
632- let dw = Y(dn)
633- let dx = Y(do)
634- let dy = Y(dp)
635- let dz = aI(dv)
636- let dA = aI(dw)
631+ let aU = split(aE(I()), j)
632+ let dt = aW(aU)
633+ let du = aX(aU)
634+ let dv = X(dm)
635+ let dw = X(dn)
636+ let dx = X(do)
637+ let dy = X(dp)
638+ let dz = aH(dv)
639+ let dA = aH(dw)
637640 let dB = (dz - ds)
638641 let dC = (dA - ds)
639642 if ((0 >= dB))
641644 else if ((0 >= dC))
642645 then throw(("invalid ethWeightNew: " + toString(dC)))
643646 else {
644- let dD = aF(aw(dm))
645- let dE = aF(aw(dn))
646- let dF = aF(aw(do))
647- let dG = aF(aw(dp))
647+ let dD = aE(av(dm))
648+ let dE = aE(av(dn))
649+ let dF = aE(av(do))
650+ let dG = aE(av(dp))
648651 let dH = invoke(dt, "onModifyWeight", [dD, dm], nil)
649652 if ((dH == dH))
650653 then {
656659 then {
657660 let dK = invoke(dt, "onModifyWeight", [dG, dp], nil)
658661 if ((dK == dK))
659- then [IntegerEntry(dv, dB), IntegerEntry(dw, dC), IntegerEntry(dx, dq), IntegerEntry(dy, dr), IntegerEntry(aa(dm, 0), dz), IntegerEntry(aa(dn, 0), dA), IntegerEntry(aa(do, 0), dq), IntegerEntry(aa(dp, 0), dr)]
662+ then [IntegerEntry(dv, dB), IntegerEntry(dw, dC), IntegerEntry(dx, dq), IntegerEntry(dy, dr), IntegerEntry(Z(dm, 0), dz), IntegerEntry(Z(dn, 0), dA), IntegerEntry(Z(do, 0), dq), IntegerEntry(Z(dp, 0), dr)]
660663 else throw("Strict value is not equal to itself.")
661664 }
662665 else throw("Strict value is not equal to itself.")
671674
672675
673676
674-@Callable(bi)
675-func checkWxEmissionPoolLabel (az,aA) = {
677+@Callable(bf)
678+func checkWxEmissionPoolLabel (ay,az) = {
676679 let dL = {
677- let bc = getBoolean(ay(az, aA))
678- if ($isInstanceOf(bc, "Boolean"))
680+ let aZ = getBoolean(ax(ay, az))
681+ if ($isInstanceOf(aZ, "Boolean"))
679682 then {
680- let dM = bc
683+ let dM = aZ
681684 dM
682685 }
683686 else false
687690
688691
689692
690-@Callable(bi)
691-func setWxEmissionPoolLabel (az,aA) = {
692- let cf = bV(bi)
693+@Callable(bf)
694+func setWxEmissionPoolLabel (ay,az) = {
695+ let cf = bS(bf)
693696 if ((cf == cf))
694- then $Tuple2([BooleanEntry(ay(az, aA), true)], unit)
697+ then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
695698 else throw("Strict value is not equal to itself.")
696699 }
697700
698701
699702
700-@Callable(bi)
701-func deleteWxEmissionPoolLabel (az,aA) = {
702- let cf = if (bh(bi))
703+@Callable(bf)
704+func deleteWxEmissionPoolLabel (ay,az) = {
705+ let cf = if (be(bf))
703706 then true
704- else bV(bi)
707+ else bS(bf)
705708 if ((cf == cf))
706- then $Tuple2([DeleteEntry(ay(az, aA))], unit)
709+ then $Tuple2([DeleteEntry(ax(ay, az))], unit)
707710 else throw("Strict value is not equal to itself.")
708711 }
709712
710713
711714
712-@Callable(bi)
715+@Callable(bf)
713716 func onVerificationLoss (dN) = {
714- let cf = if ((toBase58String(bi.caller.bytes) == valueOrElse(getString(this, S()), "")))
717+ let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
715718 then true
716- else bj(bi)
719+ else bg(bf)
717720 if ((cf == cf))
718721 then {
719- let cm = bb()
722+ let cm = aY()
720723 let dO = if ((size(cm) > 0))
721724 then true
722725 else throw("invalid price assets")
754757
755758
756759
757-@Callable(bi)
758-func isPoolOneTokenOperationsDisabledREADONLY (Z) = {
759- let cE = bM(Z)
760- let ak = $Tuple2(parseIntValue(cE[A]), parseIntValue(cE[B]))
761- let eb = valueOrElse(getBoolean(aj(ak)), false)
762- let ec = valueOrElse(getBoolean(am()), false)
760+@Callable(bf)
761+func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
762+ let cE = bJ(Y)
763+ let aj = $Tuple2(parseIntValue(cE[z]), parseIntValue(cE[A]))
764+ let eb = valueOrElse(getBoolean(ai(aj)), false)
765+ let ec = valueOrElse(getBoolean(al()), false)
763766 $Tuple2(nil, if (ec)
764767 then true
765768 else eb)
767770
768771
769772
770-@Callable(bi)
771-func getInFeeREADONLY (Z) = {
772- let ed = bY(aB(Z), aC(), 0)
773+@Callable(bf)
774+func getInFeeREADONLY (Y) = {
775+ let ed = bV(aA(Y), aB(), 0)
773776 $Tuple2(nil, ed)
774777 }
775778
776779
777780
778-@Callable(bi)
779-func getOutFeeREADONLY (Z) = {
780- let ed = bY(aD(Z), aE(), fraction(10, b, 10000))
781+@Callable(bf)
782+func getOutFeeREADONLY (Y) = {
783+ let ed = bV(aC(Y), aD(), fraction(10, b, 10000))
781784 $Tuple2(nil, ed)
782785 }
783786
784787
785788
786-@Callable(bi)
787-func poolInfoREADONLY (ee,ef) = {
788- let eg = getInteger(this, ae(ee))
789- let eh = getInteger(this, ae(ef))
790- let ei = getString(this, av(value(eg), value(eh)))
791- let ej = getString(this, aw(value(ei)))
792- let ek = if (if (isDefined(eg))
793- then isDefined(eh)
794- else false)
795- then isDefined(ei)
796- else false
797- let el = if (ek)
798- then $Tuple2(addressFromStringValue(value(ei)), aJ(value(ej)))
799- else unit
800- $Tuple2(nil, el)
789+@Callable(bf)
790+func getPoolStatusREADONLY (Y) = {
791+ let bK = split(aE(as(Y)), j)
792+ let ag = bK[1]
793+ let ah = bK[2]
794+ let ee = split(aE(af(ag, ah)), j)
795+ $Tuple2(nil, parseIntValue(ee[t]))
801796 }
802797
803798
804-
805-@Callable(bi)
806-func getPoolStatusREADONLY (Z) = {
807- let bN = split(aF(at(Z)), k)
808- let ah = bN[1]
809- let ai = bN[2]
810- let em = split(aF(ag(ah, ai)), k)
811- $Tuple2(nil, parseIntValue(em[u]))
812- }
813-
814-
815-@Verifier(en)
816-func eo () = {
817- let ep = {
818- let bc = be()
819- if ($isInstanceOf(bc, "ByteVector"))
799+@Verifier(ef)
800+func eg () = {
801+ let eh = {
802+ let aZ = bb()
803+ if ($isInstanceOf(aZ, "ByteVector"))
820804 then {
821- let bk = bc
822- bk
805+ let bh = aZ
806+ bh
823807 }
824- else if ($isInstanceOf(bc, "Unit"))
825- then en.senderPublicKey
808+ else if ($isInstanceOf(aZ, "Unit"))
809+ then ef.senderPublicKey
826810 else throw("Match error")
827811 }
828- sigVerify(en.bodyBytes, en.proofs[0], ep)
812+ sigVerify(ef.bodyBytes, ef.proofs[0], eh)
829813 }
830814
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
20-let i = "WAVES"
20+let i = ((100 * 1000) * 1000)
2121
22-let j = ((100 * 1000) * 1000)
22+let j = "__"
2323
24-let k = "__"
24+let k = ""
2525
26-let l = ""
26+let l = 1
2727
28-let m = 1
28+let m = 2
2929
30-let n = 2
30+let n = 3
3131
32-let o = 3
32+let o = 4
3333
34-let p = 4
34+let p = 1
3535
36-let q = 1
36+let q = 2
3737
38-let r = 2
38+let r = 3
3939
40-let s = 3
40+let s = 1
4141
42-let t = 1
42+let t = 2
4343
44-let u = 2
44+let u = 3
4545
46-let v = 3
46+let v = 4
4747
48-let w = 4
48+let w = 5
4949
50-let x = 5
50+let x = 6
5151
52-let y = 6
52+let y = 7
5353
54-let z = 7
54+let z = 8
5555
56-let A = 8
56+let A = 9
5757
58-let B = 9
58+let B = 10
5959
60-let C = 10
60+let C = 11
6161
62-let D = 11
62+let D = "WX_EMISSION"
6363
64-let E = "WX_EMISSION"
64+let E = [D]
6565
66-let F = [E]
67-
68-func G () = "%s__allowedLpScriptHash"
66+func F () = "%s__allowedLpScriptHash"
6967
7068
71-func H () = "%s__allowedLpStableScriptHash"
69+func G () = "%s__allowedLpStableScriptHash"
7270
7371
74-func I () = "%s__allowedLpStableAddonScriptHash"
72+func H () = "%s__allowedLpStableAddonScriptHash"
7573
7674
77-func J () = "%s__factoryConfig"
75+func I () = "%s__factoryConfig"
7876
7977
80-func K () = "%s__lpTokensList"
78+func J () = "%s__lpTokensList"
8179
8280
83-func L () = "%s%s__pool__scriptHash"
81+func K () = "%s%s__pool__scriptHash"
8482
8583
86-func M () = "%s%s__matcher__publicKey"
84+func L () = "%s%s__matcher__publicKey"
8785
8886
89-func N () = "%s__legacyFactoryContract"
87+func M () = "%s__legacyFactoryContract"
9088
9189
92-func O () = "%s__legacyPools"
90+func N () = "%s__legacyPools"
9391
9492
95-func P () = "%s__managerPublicKey"
93+func O () = "%s__managerPublicKey"
9694
9795
98-func Q () = "%s__pendingManagerPublicKey"
96+func P () = "%s__pendingManagerPublicKey"
9997
10098
101-func R () = "%s__adminPubKeys"
99+func Q () = "%s__adminPubKeys"
102100
103101
104-func S () = "%s__assetsStoreContract"
102+func R () = "%s__assetsStoreContract"
105103
106104
107-func T () = "%s__votingEmissionContract"
105+func S () = "%s__votingEmissionContract"
108106
109107
110-func U () = makeString(["%s", "priceAssets"], k)
108+func T () = makeString(["%s", "priceAssets"], j)
111109
112110
113-func V () = "%s__priceDecimals"
111+func U () = "%s__priceDecimals"
114112
115113
116-func W () = "%s__shutdown"
114+func V () = "%s__shutdown"
117115
118116
119-func X () = "%s__nextInternalAssetId"
117+func W () = "%s__nextInternalAssetId"
120118
121119
122-func Y (Z) = ("%s%s__poolWeight__" + Z)
120+func X (Y) = ("%s%s__poolWeight__" + Y)
123121
124122
125-func aa (Z,ab) = ((("%s%s__poolWeight__" + Z) + "__") + toString(ab))
123+func Z (Y,aa) = ((("%s%s__poolWeight__" + Y) + "__") + toString(aa))
126124
127125
128-func ac (ad) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ad))
126+func ab (ac) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ac))
129127
130128
131-func ae (af) = ("%s%s%s__mappings__baseAsset2internalId__" + af)
129+func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
132130
133131
134-func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
132+func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
135133
136134
137-func aj (ak) = {
138- let al = ak
139- let ah = al._1
140- let ai = al._2
141- makeString(["%d%d%s", toString(ah), toString(ai), "oneTokenOperationsDisabled"], k)
135+func ai (aj) = {
136+ let ak = aj
137+ let ag = ak._1
138+ let ah = ak._2
139+ makeString(["%d%d%s", toString(ag), toString(ah), "oneTokenOperationsDisabled"], j)
142140 }
143141
144142
145-func am () = makeString(["%s", "oneTokenOperationsDisabled"], k)
143+func al () = makeString(["%s", "oneTokenOperationsDisabled"], j)
146144
147145
148-func an (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2Pool")
146+func am (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2Pool")
149147
150148
151-func ap (aq,ar) = (((("%d%d%s%s__" + aq) + "__") + ar) + "__mappings__PoolAssets2LpAsset")
149+func ao (ap,aq) = (((("%d%d%s%s__" + ap) + "__") + aq) + "__mappings__PoolAssets2LpAsset")
152150
153151
154-func as (Z) = ("%s%s__spread__" + Z)
152+func ar (Y) = ("%s%s__spread__" + Y)
155153
156154
157-func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2PoolAssets")
155+func as (at) = (("%s%s%s__" + at) + "__mappings__poolContract2PoolAssets")
158156
159157
160-func av (aq,ar) = (((("%d%d%s%s__" + toString(aq)) + "__") + toString(ar)) + "__mappings__poolAssets2PoolContract")
158+func au (ap,aq) = (((("%d%d%s%s__" + toString(ap)) + "__") + toString(aq)) + "__mappings__poolAssets2PoolContract")
161159
162160
163-func aw (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
161+func av (at) = (("%s%s%s__" + at) + "__mappings__poolContract2LpAsset")
164162
165163
166-func ax (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2PoolContract")
164+func aw (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2PoolContract")
167165
168166
169-func ay (az,aA) = ((("%s%s%s__wxEmission__" + az) + "__") + aA)
167+func ax (ay,az) = ((("%s%s%s__wxEmission__" + ay) + "__") + az)
170168
171169
172-func aB (Z) = ("%s%s__inFee__" + Z)
170+func aA (Y) = ("%s%s__inFee__" + Y)
173171
174172
175-func aC () = "%s__inFeeDefault"
173+func aB () = "%s__inFeeDefault"
176174
177175
178-func aD (Z) = ("%s%s__outFee__" + Z)
176+func aC (Y) = ("%s%s__outFee__" + Y)
179177
180178
181-func aE () = "%s__outFeeDefault"
179+func aD () = "%s__outFeeDefault"
182180
183181
184-func aF (aG) = valueOrErrorMessage(getString(this, aG), ("No data for this.key=" + aG))
182+func aE (aF) = valueOrErrorMessage(getString(this, aF), ("No data for this.key=" + aF))
185183
186184
187-func aH (aG) = valueOrErrorMessage(getBoolean(this, aG), ("No data for this.key=" + aG))
185+func aG (aF) = valueOrErrorMessage(getBoolean(this, aF), ("No data for this.key=" + aF))
188186
189187
190-func aI (aG) = valueOrErrorMessage(getInteger(this, aG), ("No data for this.key=" + aG))
188+func aH (aF) = valueOrErrorMessage(getInteger(this, aF), ("No data for this.key=" + aF))
191189
192190
193-func aJ (aK) = if ((aK == i))
194- then unit
195- else fromBase58String(aK)
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])
196214
197215
198-let aL = 1
199-
200-let aM = 2
201-
202-let aN = 3
203-
204-let aO = 4
205-
206-let aP = 5
207-
208-let aQ = 6
209-
210-let aR = 7
211-
212-let aS = 8
213-
214-let aT = 9
215-
216-let aU = 10
217-
218-let aV = 11
219-
220-func aW (aX) = addressFromStringValue(aX[aM])
216+func aV (aU) = addressFromStringValue(aU[aM])
221217
222218
223-func aY (aX) = addressFromStringValue(aX[aP])
219+func aW (aU) = addressFromStringValue(aU[aI])
224220
225221
226-func aZ (aX) = addressFromStringValue(aX[aL])
222+func aX (aU) = addressFromStringValue(aU[aR])
227223
228224
229-func ba (aX) = addressFromStringValue(aX[aU])
230-
231-
232-func bb () = {
233- let bc = getString(U())
234- if ($isInstanceOf(bc, "String"))
225+func aY () = {
226+ let aZ = getString(T())
227+ if ($isInstanceOf(aZ, "String"))
235228 then {
236- let bd = bc
237- if ((size(bd) == 0))
229+ let ba = aZ
230+ if ((size(ba) == 0))
238231 then nil
239- else split(bd, k)
232+ else split(ba, j)
240233 }
241234 else nil
242235 }
243236
244237
245-func be () = {
246- let bc = getString(P())
247- if ($isInstanceOf(bc, "String"))
238+func bb () = {
239+ let aZ = getString(O())
240+ if ($isInstanceOf(aZ, "String"))
248241 then {
249- let bd = bc
250- fromBase58String(bd)
242+ let ba = aZ
243+ fromBase58String(ba)
251244 }
252- else if ($isInstanceOf(bc, "Unit"))
245+ else if ($isInstanceOf(aZ, "Unit"))
253246 then unit
254247 else throw("Match error")
255248 }
256249
257250
258-func bf () = {
259- let bc = getString(Q())
260- if ($isInstanceOf(bc, "String"))
251+func bc () = {
252+ let aZ = getString(P())
253+ if ($isInstanceOf(aZ, "String"))
261254 then {
262- let bd = bc
263- fromBase58String(bd)
255+ let ba = aZ
256+ fromBase58String(ba)
264257 }
265- else if ($isInstanceOf(bc, "Unit"))
258+ else if ($isInstanceOf(aZ, "Unit"))
266259 then unit
267260 else throw("Match error")
268261 }
269262
270263
271-let bg = throw("Permission denied")
264+let bd = throw("Permission denied")
272265
273-func bh (bi) = if ((bi.caller == this))
266+func be (bf) = if ((bf.caller == this))
274267 then true
275- else bg
268+ else bd
276269
277270
278-func bj (bi) = {
279- let bc = be()
280- if ($isInstanceOf(bc, "ByteVector"))
271+func bg (bf) = {
272+ let aZ = bb()
273+ if ($isInstanceOf(aZ, "ByteVector"))
281274 then {
282- let bk = bc
283- if ((bi.callerPublicKey == bk))
275+ let bh = aZ
276+ if ((bf.callerPublicKey == bh))
284277 then true
285- else bg
278+ else bd
286279 }
287- else if ($isInstanceOf(bc, "Unit"))
288- then bh(bi)
280+ else if ($isInstanceOf(aZ, "Unit"))
281+ then be(bf)
289282 else throw("Match error")
290283 }
291284
292285
293-func bl (bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw], k)
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)
294287
295288
296-func bx (bm,bn,bo,bp,bq,br,bs) = makeString(["%s%s%s%s%s%s", bm, bn, bo, bp, bq, br, bs], k)
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)
297290
298291
299-func by (Z,bz,bA,bB,bC,bD,bE,bF,bG,bH,bI) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Z, bz, bA, bB, bC, toString(bD), toString(bE), toString(bF), toString(bG), toString(bH), bI], k)
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)
300293
301294
302-func bJ (bK,bL) = makeString(["%d%d", toString(bK), toString(bL)], k)
295+func bG (bH,bI) = makeString(["%d%d", toString(bH), toString(bI)], j)
303296
304297
305-func bM (Z) = {
306- let bN = split(aF(at(Z)), k)
307- let ah = bN[1]
308- let ai = bN[2]
309- split(aF(ag(ah, ai)), k)
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)
310303 }
311304
312305
313-func bO (bP,bQ) = {
314- let bR = valueOrElse(getInteger(this, ae(bP)), 0)
315- let bS = valueOrElse(getInteger(this, X()), 0)
316- let bT = if ((bR == 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))
317310 then {
318- let bU = (bS + bQ)
319- $Tuple3(bU, [IntegerEntry(X(), bU), IntegerEntry(ae(bP), bU), StringEntry(ac(bU), bP)], true)
311+ let bR = (bP + bN)
312+ $Tuple3(bR, [IntegerEntry(W(), bR), IntegerEntry(ad(bM), bR), StringEntry(ab(bR), bM)], true)
320313 }
321- else $Tuple3(bR, nil, false)
322- bT
314+ else $Tuple3(bO, nil, false)
315+ bQ
323316 }
324317
325318
326-func bV (bi) = {
327- let bW = split(valueOrElse(getString(R()), l), k)
328- if (containsElement(bW, toBase58String(bi.callerPublicKey)))
319+func bS (bf) = {
320+ let bT = split(valueOrElse(getString(Q()), k), j)
321+ if (containsElement(bT, toBase58String(bf.callerPublicKey)))
329322 then true
330323 else {
331- let bX = bj(bi)
332- if ((bX == bX))
324+ let bU = bg(bf)
325+ if ((bU == bU))
333326 then true
334327 else throw("Strict value is not equal to itself.")
335328 }
336329 }
337330
338331
339-func bY (aG,bZ,ca) = valueOrElse(getInteger(this, aG), valueOrElse(getInteger(this, bZ), ca))
332+func bV (aF,bW,bX) = valueOrElse(getInteger(this, aF), valueOrElse(getInteger(this, bW), bX))
340333
341334
342-@Callable(bi)
343-func constructor (cb,cc,bo,bp,bq,br,cd,ce) = {
344- let cf = bj(bi)
335+@Callable(bf)
336+func getLpAssetFromPoolAssetsREADONLY (bY,bZ) = $Tuple2(nil, getString(this, ao(bY, bZ)))
337+
338+
339+
340+@Callable(bf)
341+func getPoolAddressFromLpAssetREADONLY (ca) = $Tuple2(nil, getString(this, aw(ca)))
342+
343+
344+
345+@Callable(bf)
346+func constructor (cb,cc,bl,bm,bn,bo,cd,ce) = {
347+ let cf = bg(bf)
345348 if ((cf == cf))
346- then [StringEntry(J(), bx(cb, cc, bo, bp, bq, br, cd)), IntegerEntry(V(), ce)]
349+ then [StringEntry(I(), bu(cb, cc, bl, bm, bn, bo, cd)), IntegerEntry(U(), ce)]
347350 else throw("Strict value is not equal to itself.")
348351 }
349352
350353
351354
352-@Callable(bi)
355+@Callable(bf)
353356 func constructorV2 (cg) = {
354- let cf = bj(bi)
357+ let cf = bg(bf)
355358 if ((cf == cf))
356359 then {
357360 let ch = addressFromPublicKey(fromBase58String(cg))
358361 if ((ch == ch))
359- then [StringEntry(M(), cg)]
362+ then [StringEntry(L(), cg)]
360363 else throw("Strict value is not equal to itself.")
361364 }
362365 else throw("Strict value is not equal to itself.")
363366 }
364367
365368
366369
367-@Callable(bi)
368-func constructorV3 (bt,bu,bv,bw) = {
369- let cf = bj(bi)
370+@Callable(bf)
371+func constructorV3 (bq,br,bs,bt) = {
372+ let cf = bg(bf)
370373 if ((cf == cf))
371374 then {
372- let aX = split(aF(J()), k)
373-[StringEntry(J(), bl(aX[1], aX[2], aX[3], aX[4], aX[5], aX[6], aX[7], bt, bu, bv, bw))]
375+ let aU = split(aE(I()), j)
376+[StringEntry(I(), bi(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], bq, br, bs, bt))]
374377 }
375378 else throw("Strict value is not equal to itself.")
376379 }
377380
378381
379382
380-@Callable(bi)
383+@Callable(bf)
381384 func constructorV4 (ci,cj) = {
382- let cf = bj(bi)
385+ let cf = bg(bf)
383386 if ((cf == cf))
384- then [StringEntry(N(), ci), StringEntry(O(), makeString(cj, k))]
387+ then [StringEntry(M(), ci), StringEntry(N(), makeString(cj, j))]
385388 else throw("Strict value is not equal to itself.")
386389 }
387390
388391
389392
390-@Callable(bi)
393+@Callable(bf)
391394 func constructorV5 (ck) = {
392- let cf = bj(bi)
395+ let cf = bg(bf)
393396 if ((cf == cf))
394- then [StringEntry(S(), ck)]
397+ then [StringEntry(R(), ck)]
395398 else throw("Strict value is not equal to itself.")
396399 }
397400
398401
399402
400-@Callable(bi)
403+@Callable(bf)
401404 func constructorV6 (cl,cm) = {
402- let cn = [bj(bi), if ((addressFromString(cl) != unit))
405+ let cn = [bg(bf), if ((addressFromString(cl) != unit))
403406 then true
404407 else "invalid voting emission contract address"]
405408 if ((cn == cn))
406- then [StringEntry(T(), cl), StringEntry(U(), makeString(cm, k))]
409+ then [StringEntry(S(), cl), StringEntry(T(), makeString(cm, j))]
407410 else throw("Strict value is not equal to itself.")
408411 }
409412
410413
411414
412-@Callable(bi)
415+@Callable(bf)
413416 func setManager (co) = {
414- let cf = bj(bi)
417+ let cf = bg(bf)
415418 if ((cf == cf))
416419 then {
417420 let cp = fromBase58String(co)
418421 if ((cp == cp))
419- then [StringEntry(Q(), co)]
422+ then [StringEntry(P(), co)]
420423 else throw("Strict value is not equal to itself.")
421424 }
422425 else throw("Strict value is not equal to itself.")
423426 }
424427
425428
426429
427-@Callable(bi)
430+@Callable(bf)
428431 func confirmManager () = {
429- let cq = bf()
432+ let cq = bc()
430433 let cr = if (isDefined(cq))
431434 then true
432435 else throw("No pending manager")
433436 if ((cr == cr))
434437 then {
435- let cs = if ((bi.callerPublicKey == value(cq)))
438+ let cs = if ((bf.callerPublicKey == value(cq)))
436439 then true
437440 else throw("You are not pending manager")
438441 if ((cs == cs))
439- then [StringEntry(P(), toBase58String(value(cq))), DeleteEntry(Q())]
442+ then [StringEntry(O(), toBase58String(value(cq))), DeleteEntry(P())]
440443 else throw("Strict value is not equal to itself.")
441444 }
442445 else throw("Strict value is not equal to itself.")
443446 }
444447
445448
446449
447-@Callable(bi)
450+@Callable(bf)
448451 func setAdmins (ct) = {
449- let cf = bj(bi)
452+ let cf = bg(bf)
450453 if ((cf == cf))
451- then [StringEntry(R(), makeString(ct, k))]
454+ then [StringEntry(Q(), makeString(ct, j))]
452455 else throw("Strict value is not equal to itself.")
453456 }
454457
455458
456459
457-@Callable(bi)
458-func activateNewPool (Z,bB,bC,cu,cv,cw,bI,cx) = {
459- let cf = bV(bi)
460+@Callable(bf)
461+func activateNewPool (Y,by,bz,cu,cv,cw,bF,cx) = {
462+ let cf = bS(bf)
460463 if ((cf == cf))
461- then if (isDefined(getString(at(Z))))
462- then throw((("Pool address " + Z) + " already registered."))
464+ then if (isDefined(getString(as(Y))))
465+ then throw((("Pool address " + Y) + " already registered."))
463466 else {
464- let cy = bO(bB, 1)
467+ let cy = bL(by, 1)
465468 let cz = cy._1
466- let cA = bO(bC, if (cy._3)
469+ let cA = bL(bz, if (cy._3)
467470 then 2
468471 else 1)
469472 let cB = cA._1
470- let cC = valueOrErrorMessage(scriptHash(addressFromStringValue(Z)), ("No script has been found on pool account " + Z))
471- let cD = getBinaryValue(L())
472- let cE = getString(this, ag(toString(cz), toString(cB)))
473+ let cC = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
474+ let cD = getBinaryValue(K())
475+ let cE = getString(this, af(toString(cz), toString(cB)))
473476 if (isDefined(cE))
474- then throw((((("Pool " + bB) + "/") + bC) + " has already been activated."))
477+ then throw((((("Pool " + by) + "/") + bz) + " has already been activated."))
475478 else {
476- let cF = value(getString(this, ag(toString(cz), toString(cB))))
477- let cG = if ((bB == "WAVES"))
478- then j
479- else pow(10, 0, value(assetInfo(fromBase58String(bB))).decimals, 0, 0, DOWN)
480- let cH = if ((bC == "WAVES"))
481- then j
482- else pow(10, 0, value(assetInfo(fromBase58String(bC))).decimals, 0, 0, DOWN)
479+ let cF = value(getString(this, af(toString(cz), toString(cB))))
480+ let cG = if ((by == "WAVES"))
481+ then i
482+ else pow(10, 0, value(assetInfo(fromBase58String(by))).decimals, 0, 0, DOWN)
483+ let cH = if ((bz == "WAVES"))
484+ then i
485+ else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
483486 let cI = Issue(cu, cv, 1, 8, true)
484- let bA = calculateAssetId(cI)
485- let cJ = toBase58String(bA)
486- let cK = invoke(addressFromStringValue(Z), "activate", [bB, bC], nil)
487+ let bx = calculateAssetId(cI)
488+ let cJ = toBase58String(bx)
489+ let cK = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
487490 if ((cK == cK))
488491 then if ((cK != "success"))
489492 then throw("Pool initialisation error happened.")
490493 else {
491- let ck = addressFromStringValue(aF(S()))
494+ let ck = addressFromStringValue(aE(R()))
492495 let cL = invoke(ck, "createOrUpdate", [cJ, cu, false], nil)
493496 if ((cL == cL))
494497 then {
495498 let cM = invoke(ck, "addLabel", [cJ, g], nil)
496499 if ((cM == cM))
497500 then {
498501 let cN = invoke(ck, "setLogo", [cJ, cx], nil)
499502 if ((cN == cN))
500503 then {
501- let cO = invoke(ck, "addAssetsLink", [bB, bC, cJ], nil)
504+ let cO = invoke(ck, "addAssetsLink", [by, bz, cJ], nil)
502505 if ((cO == cO))
503506 then {
504- let cP = invoke(ck, "increaseAssetPoolsNumber", [bB], nil)
507+ let cP = invoke(ck, "increaseAssetPoolsNumber", [by], nil)
505508 if ((cP == cP))
506- then $Tuple2(((cy._2 ++ cA._2) ++ [cI, Burn(bA, 1), StringEntry(ag(toString(cz), toString(cB)), by(Z, toString(m), cJ, bB, bC, cG, cH, cz, cB, j, bI)), StringEntry(an(cJ), bJ(cz, cB)), StringEntry(ap(toString(cz), toString(cB)), ("%s__" + cJ)), StringEntry(at(Z), bJ(cz, cB)), StringEntry(av(cz, cB), Z), StringEntry(ax(cJ), Z), StringEntry(aw(Z), cJ), IntegerEntry(Y(Z), cw), IntegerEntry(as(Z), h)]), cJ)
509+ then $Tuple2(((cy._2 ++ cA._2) ++ [cI, Burn(bx, 1), StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(l), cJ, by, bz, cG, cH, cz, cB, i, bF)), StringEntry(am(cJ), bG(cz, cB)), StringEntry(ao(toString(cz), toString(cB)), ("%s__" + cJ)), StringEntry(as(Y), bG(cz, cB)), StringEntry(au(cz, cB), Y), StringEntry(aw(cJ), Y), StringEntry(av(Y), cJ), IntegerEntry(X(Y), cw), IntegerEntry(ar(Y), h)]), cJ)
507510 else throw("Strict value is not equal to itself.")
508511 }
509512 else throw("Strict value is not equal to itself.")
510513 }
511514 else throw("Strict value is not equal to itself.")
512515 }
513516 else throw("Strict value is not equal to itself.")
514517 }
515518 else throw("Strict value is not equal to itself.")
516519 }
517520 else throw("Strict value is not equal to itself.")
518521 }
519522 }
520523 else throw("Strict value is not equal to itself.")
521524 }
522525
523526
524527
525-@Callable(bi)
526-func managePool (Z,cQ) = {
527- let cf = bj(bi)
528+@Callable(bf)
529+func managePool (Y,cQ) = {
530+ let cf = bg(bf)
528531 if ((cf == cf))
529532 then {
530- let cE = bM(Z)
531- let bz = cE[u]
532- let cJ = cE[v]
533- let bB = cE[w]
534- let bC = cE[x]
535- let cG = parseIntValue(cE[y])
536- let cH = parseIntValue(cE[z])
537- let cz = parseIntValue(cE[A])
538- let cB = parseIntValue(cE[B])
539- let cR = parseIntValue(cE[C])
540- let bI = cE[D]
541-[StringEntry(ag(toString(cz), toString(cB)), by(Z, toString(cQ), cJ, bB, bC, cG, cH, cz, cB, cR, bI))]
533+ let cE = bJ(Y)
534+ let bw = cE[t]
535+ let cJ = cE[u]
536+ let by = cE[v]
537+ let bz = cE[w]
538+ let cG = parseIntValue(cE[x])
539+ let cH = parseIntValue(cE[y])
540+ let cz = parseIntValue(cE[z])
541+ let cB = parseIntValue(cE[A])
542+ let cR = parseIntValue(cE[B])
543+ let bF = cE[C]
544+[StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(cQ), cJ, by, bz, cG, cH, cz, cB, cR, bF))]
542545 }
543546 else throw("Strict value is not equal to itself.")
544547 }
545548
546549
547550
548-@Callable(bi)
551+@Callable(bf)
549552 func emit (cS) = {
550- let cT = bi.caller
551- let cU = bi.originCaller
552- let cV = valueOrErrorMessage(getString(aw(toString(cT))), "Invalid LP address called me.")
553+ let cT = bf.caller
554+ let cU = bf.originCaller
555+ let cV = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
553556 let cW = fromBase58String(cV)
554- let cj = split(valueOrElse(getString(O()), l), k)
555- let ci = addressFromStringValue(valueOrErrorMessage(getString(N()), "Legacy factory contract does not exists."))
557+ let cj = split(valueOrElse(getString(N()), k), j)
558+ let ci = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
556559 if ((0 >= cS))
557560 then nil
558561 else if (containsElement(cj, toString(cT)))
559562 then $Tuple2(nil, ci)
560- else $Tuple2([Reissue(cW, cS, true), ScriptTransfer(bi.caller, cS, cW)], "success")
563+ else $Tuple2([Reissue(cW, cS, true), ScriptTransfer(bf.caller, cS, cW)], "success")
561564 }
562565
563566
564567
565-@Callable(bi)
568+@Callable(bf)
566569 func burn (cX) = {
567- let cT = bi.caller
568- let cU = bi.originCaller
569- let cY = value(bi.payments[0])
570+ let cT = bf.caller
571+ let cU = bf.originCaller
572+ let cY = value(bf.payments[0])
570573 let cZ = value(cY.amount)
571574 let da = toBase58String(value(cY.assetId))
572- let db = valueOrErrorMessage(getString(aw(toString(cT))), "Invalid LP address called me.")
575+ let db = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
573576 if ((da != db))
574577 then throw("Invalid asset passed.")
575578 else if ((cX != cZ))
576579 then throw("Invalid amount passed.")
577580 else {
578581 let cW = fromBase58String(db)
579582 $Tuple2([Burn(cW, cX)], "success")
580583 }
581584 }
582585
583586
584587
585-@Callable(bi)
586-func modifyWeight (bA,dc) = {
587- let cf = if ((toBase58String(bi.caller.bytes) == valueOrElse(getString(this, T()), "")))
588+@Callable(bf)
589+func modifyWeight (bx,dc) = {
590+ let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
588591 then true
589- else bj(bi)
592+ else bg(bf)
590593 if ((cf == cf))
591594 then {
592- let au = aF(ax(bA))
593- let dd = Y(au)
594- let de = Y(f)
595+ let at = aE(aw(bx))
596+ let dd = X(at)
597+ let de = X(f)
595598 let df = valueOrElse(getInteger(de), 0)
596599 let cw = valueOrElse(getInteger(dd), 0)
597600 let dg = dc
598- let aX = split(aF(J()), k)
599- let cb = aZ(aX)
600- let dh = invoke(cb, "onModifyWeight", [bA, au], nil)
601+ let aU = split(aE(I()), j)
602+ let cb = aW(aU)
603+ let dh = invoke(cb, "onModifyWeight", [bx, at], nil)
601604 if ((dh == dh))
602605 then {
603606 let di = if ((df == 0))
604607 then nil
605608 else [IntegerEntry(de, 0)]
606- let dj = aa(au, 0)
609+ let dj = Z(at, 0)
607610 let dk = getInteger(dj)
608611 let dl = if ((dk == unit))
609612 then nil
610613 else [DeleteEntry(dj)]
611614 (([IntegerEntry(dd, dg)] ++ di) ++ dl)
612615 }
613616 else throw("Strict value is not equal to itself.")
614617 }
615618 else throw("Strict value is not equal to itself.")
616619 }
617620
618621
619622
620-@Callable(bi)
623+@Callable(bf)
621624 func modifyWeights (dm,dn,do,dp) = {
622- let cf = bj(bi)
625+ let cf = bg(bf)
623626 if ((cf == cf))
624627 then {
625628 let dq = ((5 * e) / 100)
626629 let dr = ((5 * e) / 100)
627630 let ds = ((5 * e) / 100)
628- let aX = split(aF(J()), k)
629- let dt = aZ(aX)
630- let du = ba(aX)
631- let dv = Y(dm)
632- let dw = Y(dn)
633- let dx = Y(do)
634- let dy = Y(dp)
635- let dz = aI(dv)
636- let dA = aI(dw)
631+ let aU = split(aE(I()), j)
632+ let dt = aW(aU)
633+ let du = aX(aU)
634+ let dv = X(dm)
635+ let dw = X(dn)
636+ let dx = X(do)
637+ let dy = X(dp)
638+ let dz = aH(dv)
639+ let dA = aH(dw)
637640 let dB = (dz - ds)
638641 let dC = (dA - ds)
639642 if ((0 >= dB))
640643 then throw(("invalid btcWeightNew: " + toString(dB)))
641644 else if ((0 >= dC))
642645 then throw(("invalid ethWeightNew: " + toString(dC)))
643646 else {
644- let dD = aF(aw(dm))
645- let dE = aF(aw(dn))
646- let dF = aF(aw(do))
647- let dG = aF(aw(dp))
647+ let dD = aE(av(dm))
648+ let dE = aE(av(dn))
649+ let dF = aE(av(do))
650+ let dG = aE(av(dp))
648651 let dH = invoke(dt, "onModifyWeight", [dD, dm], nil)
649652 if ((dH == dH))
650653 then {
651654 let dI = invoke(dt, "onModifyWeight", [dE, dn], nil)
652655 if ((dI == dI))
653656 then {
654657 let dJ = invoke(dt, "onModifyWeight", [dF, do], nil)
655658 if ((dJ == dJ))
656659 then {
657660 let dK = invoke(dt, "onModifyWeight", [dG, dp], nil)
658661 if ((dK == dK))
659- then [IntegerEntry(dv, dB), IntegerEntry(dw, dC), IntegerEntry(dx, dq), IntegerEntry(dy, dr), IntegerEntry(aa(dm, 0), dz), IntegerEntry(aa(dn, 0), dA), IntegerEntry(aa(do, 0), dq), IntegerEntry(aa(dp, 0), dr)]
662+ then [IntegerEntry(dv, dB), IntegerEntry(dw, dC), IntegerEntry(dx, dq), IntegerEntry(dy, dr), IntegerEntry(Z(dm, 0), dz), IntegerEntry(Z(dn, 0), dA), IntegerEntry(Z(do, 0), dq), IntegerEntry(Z(dp, 0), dr)]
660663 else throw("Strict value is not equal to itself.")
661664 }
662665 else throw("Strict value is not equal to itself.")
663666 }
664667 else throw("Strict value is not equal to itself.")
665668 }
666669 else throw("Strict value is not equal to itself.")
667670 }
668671 }
669672 else throw("Strict value is not equal to itself.")
670673 }
671674
672675
673676
674-@Callable(bi)
675-func checkWxEmissionPoolLabel (az,aA) = {
677+@Callable(bf)
678+func checkWxEmissionPoolLabel (ay,az) = {
676679 let dL = {
677- let bc = getBoolean(ay(az, aA))
678- if ($isInstanceOf(bc, "Boolean"))
680+ let aZ = getBoolean(ax(ay, az))
681+ if ($isInstanceOf(aZ, "Boolean"))
679682 then {
680- let dM = bc
683+ let dM = aZ
681684 dM
682685 }
683686 else false
684687 }
685688 $Tuple2(nil, dL)
686689 }
687690
688691
689692
690-@Callable(bi)
691-func setWxEmissionPoolLabel (az,aA) = {
692- let cf = bV(bi)
693+@Callable(bf)
694+func setWxEmissionPoolLabel (ay,az) = {
695+ let cf = bS(bf)
693696 if ((cf == cf))
694- then $Tuple2([BooleanEntry(ay(az, aA), true)], unit)
697+ then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
695698 else throw("Strict value is not equal to itself.")
696699 }
697700
698701
699702
700-@Callable(bi)
701-func deleteWxEmissionPoolLabel (az,aA) = {
702- let cf = if (bh(bi))
703+@Callable(bf)
704+func deleteWxEmissionPoolLabel (ay,az) = {
705+ let cf = if (be(bf))
703706 then true
704- else bV(bi)
707+ else bS(bf)
705708 if ((cf == cf))
706- then $Tuple2([DeleteEntry(ay(az, aA))], unit)
709+ then $Tuple2([DeleteEntry(ax(ay, az))], unit)
707710 else throw("Strict value is not equal to itself.")
708711 }
709712
710713
711714
712-@Callable(bi)
715+@Callable(bf)
713716 func onVerificationLoss (dN) = {
714- let cf = if ((toBase58String(bi.caller.bytes) == valueOrElse(getString(this, S()), "")))
717+ let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
715718 then true
716- else bj(bi)
719+ else bg(bf)
717720 if ((cf == cf))
718721 then {
719- let cm = bb()
722+ let cm = aY()
720723 let dO = if ((size(cm) > 0))
721724 then true
722725 else throw("invalid price assets")
723726 if ((dO == dO))
724727 then {
725728 func dP (dQ,dR) = {
726729 let dS = invoke(this, "deleteWxEmissionPoolLabel", [dN, dR], nil)
727730 if ((dS == dS))
728731 then unit
729732 else throw("Strict value is not equal to itself.")
730733 }
731734
732735 let dT = {
733736 let dU = cm
734737 let dV = size(dU)
735738 let dW = unit
736739 func dX (dY,dZ) = if ((dZ >= dV))
737740 then dY
738741 else dP(dY, dU[dZ])
739742
740743 func ea (dY,dZ) = if ((dZ >= dV))
741744 then dY
742745 else throw("List size exceeds 3")
743746
744747 ea(dX(dX(dX(dW, 0), 1), 2), 3)
745748 }
746749 if ((dT == dT))
747750 then $Tuple2(nil, unit)
748751 else throw("Strict value is not equal to itself.")
749752 }
750753 else throw("Strict value is not equal to itself.")
751754 }
752755 else throw("Strict value is not equal to itself.")
753756 }
754757
755758
756759
757-@Callable(bi)
758-func isPoolOneTokenOperationsDisabledREADONLY (Z) = {
759- let cE = bM(Z)
760- let ak = $Tuple2(parseIntValue(cE[A]), parseIntValue(cE[B]))
761- let eb = valueOrElse(getBoolean(aj(ak)), false)
762- let ec = valueOrElse(getBoolean(am()), false)
760+@Callable(bf)
761+func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
762+ let cE = bJ(Y)
763+ let aj = $Tuple2(parseIntValue(cE[z]), parseIntValue(cE[A]))
764+ let eb = valueOrElse(getBoolean(ai(aj)), false)
765+ let ec = valueOrElse(getBoolean(al()), false)
763766 $Tuple2(nil, if (ec)
764767 then true
765768 else eb)
766769 }
767770
768771
769772
770-@Callable(bi)
771-func getInFeeREADONLY (Z) = {
772- let ed = bY(aB(Z), aC(), 0)
773+@Callable(bf)
774+func getInFeeREADONLY (Y) = {
775+ let ed = bV(aA(Y), aB(), 0)
773776 $Tuple2(nil, ed)
774777 }
775778
776779
777780
778-@Callable(bi)
779-func getOutFeeREADONLY (Z) = {
780- let ed = bY(aD(Z), aE(), fraction(10, b, 10000))
781+@Callable(bf)
782+func getOutFeeREADONLY (Y) = {
783+ let ed = bV(aC(Y), aD(), fraction(10, b, 10000))
781784 $Tuple2(nil, ed)
782785 }
783786
784787
785788
786-@Callable(bi)
787-func poolInfoREADONLY (ee,ef) = {
788- let eg = getInteger(this, ae(ee))
789- let eh = getInteger(this, ae(ef))
790- let ei = getString(this, av(value(eg), value(eh)))
791- let ej = getString(this, aw(value(ei)))
792- let ek = if (if (isDefined(eg))
793- then isDefined(eh)
794- else false)
795- then isDefined(ei)
796- else false
797- let el = if (ek)
798- then $Tuple2(addressFromStringValue(value(ei)), aJ(value(ej)))
799- else unit
800- $Tuple2(nil, el)
789+@Callable(bf)
790+func getPoolStatusREADONLY (Y) = {
791+ let bK = split(aE(as(Y)), j)
792+ let ag = bK[1]
793+ let ah = bK[2]
794+ let ee = split(aE(af(ag, ah)), j)
795+ $Tuple2(nil, parseIntValue(ee[t]))
801796 }
802797
803798
804-
805-@Callable(bi)
806-func getPoolStatusREADONLY (Z) = {
807- let bN = split(aF(at(Z)), k)
808- let ah = bN[1]
809- let ai = bN[2]
810- let em = split(aF(ag(ah, ai)), k)
811- $Tuple2(nil, parseIntValue(em[u]))
812- }
813-
814-
815-@Verifier(en)
816-func eo () = {
817- let ep = {
818- let bc = be()
819- if ($isInstanceOf(bc, "ByteVector"))
799+@Verifier(ef)
800+func eg () = {
801+ let eh = {
802+ let aZ = bb()
803+ if ($isInstanceOf(aZ, "ByteVector"))
820804 then {
821- let bk = bc
822- bk
805+ let bh = aZ
806+ bh
823807 }
824- else if ($isInstanceOf(bc, "Unit"))
825- then en.senderPublicKey
808+ else if ($isInstanceOf(aZ, "Unit"))
809+ then ef.senderPublicKey
826810 else throw("Match error")
827811 }
828- sigVerify(en.bodyBytes, en.proofs[0], ep)
812+ sigVerify(ef.bodyBytes, ef.proofs[0], eh)
829813 }
830814

github/deemru/w8io/169f3d6 
304.67 ms