tx · 3y3CEUoeVREv9VSB8tKRJmMphn3YAkQpznckVTxtyRp2

3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb:  -0.01400000 Waves

2021.05.24 18:12 [1539920] smart account 3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb > SELF 0.00000000 Waves

{ "type": 13, "id": "3y3CEUoeVREv9VSB8tKRJmMphn3YAkQpznckVTxtyRp2", "fee": 1400000, "feeAssetId": null, "timestamp": 1621869133640, "version": 2, "chainId": 84, "sender": "3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb", "senderPublicKey": "61fhePmC5L8iWserAMXoPAZbv24cAo6eyvnyYpoLpZJy", "proofs": [ "3Vw41jU67dT9XvLtyJPBLThgurUxTQrUB8iwiB4FpVr5z7QAe2ed3eRsr7i7H7TGK5B7M5dh5yzMZvKTKZMAfhNk" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgQKAggIEgUKAwEEARIECgIBCBIAEgAAAAA5AAAAAAd2ZXJzaW9uAgAAAAUxLjAuMAAAAAAKa2V5VmVyc2lvbgIAAAAHdmVyc2lvbgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAAEWtleU51bWJlck9mVm90aW5nAgAAABR2b3RpbmdfYWN0aXZlX251bWJlcgAAAAAPa2V5SGVpZ2h0T2ZQb29sAgAAAA5fZmluaXNoX2hlaWdodAAAAAAFa2V5Tm8CAAAAD190b3RhbF92b3Rlc19ubwAAAAAGa2V5WWVzAgAAABBfdG90YWxfdm90ZXNfeWVzAAAAAAlrZXlOb1VzZXICAAAACF92b3RlX25vAAAAAAprZXlZZXNVc2VyAgAAAAlfdm90ZV95ZXMAAAAAEWtleVN0YXR1c09mVm90aW5nAgAAAAdfc3RhdHVzAAAAABFrZXlBbW91bnRPZlZvdGluZwIAAAAOdm90aW5nX2lkX2xhc3QAAAAAFGtleU1heEFtb3VudE9mVm90aW5nAgAAABFtYXhfYW1vdW50X3ZvdGluZwAAAAARa2V5TWF4RGF5T2ZWb3RpbmcCAAAADm1heF9kYXlfdm90aW5nAAAAAA1rZXlDb21taXNzaW9uAgAAAApjb21taXNzaW9uAAAAABtrZXlDb21taXNzaW9uU2NhbGVEZWxpbWl0ZXICAAAAGmNvbW1pc3Npb25fc2NhbGVfZGVsaW1pdGVyAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADmtleUNhbmNlbENhdXNlAgAAAA1fY2FuY2VsX2NhdXNlAAAAAA5rVXNlclRvdGFsU1dPUAIAAAAMX1NXT1BfYW1vdW50AAAAAAVrTmFtZQIAAAALX2Fzc2V0X25hbWUAAAAACHZvdGluZ0lkAgAAAAdfdm90aW5nAAAAAA5wZXJpb2RPZlZvdGluZwIAAAANcGVyaW9kX3ZvdGluZwAAAAAPYWN0aXZlVm90ZUZpcnN0AgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMQAAAAAQYWN0aXZlVm90ZVNlY29uZAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzIAAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAUdm90aW5nX2FjdGl2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b3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZ2b3RpbmcFAAAAD2tleUhlaWdodE9mUG9vbAAAAAAAAAAAAAQAAAAOc3RhdHVzT2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZ2b3RpbmcFAAAAEWtleVN0YXR1c09mVm90aW5nBgMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAABmhlaWdodAMFAAAADnN0YXR1c09mVm90aW5nAgAAAAAFAAAACnBvb2xzU3RhdGUFAAAACnBvb2xzU3RhdGUFAAAACnBvb2xzU3RhdGUBAAAAFmlzTGFzdEFjdGl2ZVBvb2xFeGlzdHMAAAACAAAABmFzc2V0QQAAAAZhc3NldEIDAwkBAAAAEmlzQWN0aXZlUG9vbEV4aXN0cwAAAAMFAAAAD2ZpcnN0QWN0aXZlVm90ZQUAAAAGYXNzZXRBBQAAAAZhc3NldEIGCQEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAGYXNzZXRBBQAAAAZhc3NldEIGCQEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwUAAAAPdGhpcmRBY3RpdmVWb3RlBQAAAAZhc3NldEEFAAAABmFzc2V0QgEAAAANZ2V0QWN0aXZlUG9vbAAAAAEAAAAGdm90aW5nBAAAAA5oZWlnaHRPZlZvdGluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAAGdm90aW5nBQAAAA9rZXlIZWlnaHRPZlBvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAEWtleVN0YXR1c09mVm90aW5nBgQAAAANY3VycmVudEhlaWdodAUAAAAGaGVpZ2h0AwkAAGYAAAACAAAAAAAAAAAABQAAAAZ2b3RpbmcAAAAAAAAAAAADCQEAAAABIQAAAAEFAAAADnN0YXR1c09mVm90aW5nAAAAAAAAAAAAAwkAAGYAAAACBQAAAA5oZWlnaHRPZlZvdGluZwUAAAANY3VycmVudEhlaWdodAAAAAAAAAAAAQAAAAAAAAAAAAEAAAAZZ2V0QWN0aXZlVm90aW5nUG9vbEFtb3VudAAAAAAJAABkAAAAAgkAAGQAAAACCQEAAAANZ2V0QWN0aXZlUG9vbAAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPZmlyc3RBY3RpdmVWb3RlAP//////////CQEAAAANZ2V0QWN0aXZlUG9vbAAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAQc2Vjb25kQWN0aXZlVm90ZQD//////////wkBAAAADWdldEFjdGl2ZVBvb2wAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD3RoaXJkQWN0aXZlVm90ZQD//////////wEAAAAVZ2V0VW5hY3RpdmVWb3RpbmdQb29sAAAAAAMJAQAAAAIhPQAAAAIJAQAAABRpc1VuYWN0aXZlUG9vbEV4aXN0cwAAAAEFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAABQAAAA9hY3RpdmVWb3RlRmlyc3QDCQEAAAACIT0AAAACCQEAAAAUaXNVbmFjdGl2ZVBvb2xFeGlzdHMAAAABBQAAABBhY3RpdmVWb3RlU2Vjb25kAgAAAAAFAAAAEGFjdGl2ZVZvdGVTZWNvbmQDCQEAAAACIT0AAAACCQEAAAAUaXNVbmFjdGl2ZVBvb2xFeGlzdHMAAAABBQAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAAAUAAAAPYWN0aXZlVm90ZVRoaXJkAgAAAAABAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABAAAACGFzc2V0U3RyAwkAAAAAAAACBQAAAAhhc3NldFN0cgIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAIYXNzZXRTdHIBAAAAFGlzQ2FsbGVySW5Hb3Zlcm5hbmNlAAAAAQAAAAR1c2VyAwkAAGYAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAB2dvdkFkZHIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA5rVXNlclRvdGFsU1dPUAAAAAAAAAAAAAAAAAAAAAAAAAYHAQAAAAdzdXNwZW5kAAAAAQAAAAVjYXVzZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhrZXlDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAAhdGhyb3dJbnN1ZmZpY2llbnRBdmFpbGFibGVCYWxhbmNlAAAAAgAAAAZhbW91bnQAAAAJYXNzZXROYW1lCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACFJbnN1ZmZpY2llbnQgREFwcCBiYWxhbmNlIHRvIHBheSAJAAGkAAAAAQUAAAAGYW1vdW50AgAAAAEgBQAAAAlhc3NldE5hbWUCAAAAECBkdWUgdG8gc3Rha2luZy4CAAAAQC4gUGxlYXNlIGNvbnRhY3Qgc3VwcG9ydCBpbiBUZWxlZ3JhbTogaHR0cHM6Ly90Lm1lL3N3b3BmaXN1cHBvcnQAAAAGAAAAAWkBAAAABGluaXQAAAAAAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAK09ubHkgdGhlIERBcHAgaXRzZWxmIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24DCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQQAAAASaW5pdE51bWJlck9mVm90aW5nAAAAAAAAAAAABAAAABJpbml0QW1vdW50T2ZWb3RpbmcAAAAAAAAAAAAEAAAADWluaXRLZXlBY3RpdmUGBAAAAAphY3RpdmVJbml0AgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAKa2V5VmVyc2lvbgUAAAAHdmVyc2lvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBQAAAA1pbml0S2V5QWN0aXZlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlOdW1iZXJPZlZvdGluZwUAAAASaW5pdE51bWJlck9mVm90aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlBbW91bnRPZlZvdGluZwUAAAASaW5pdEFtb3VudE9mVm90aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlNYXhBbW91bnRPZlZvdGluZwUAAAARbWF4QW1vdW50T2ZWb3RpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleU1heERheU9mVm90aW5nBQAAAA5tYXhEYXlPZlZvdGluZwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlRmlyc3QFAAAACmFjdGl2ZUluaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQYWN0aXZlVm90ZVNlY29uZAUAAAAKYWN0aXZlSW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlVGhpcmQFAAAACmFjdGl2ZUluaXQFAAAAA25pbAAAAAFpAQAAABRpbml0Vm90aW5nRm9yTmV3UG9vbAAAAAIAAAAGYXNzZXRBAAAABmFzc2V0QgQAAAALJHQwNjkwNTY5ODAJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA2OTA1Njk4MAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDY5MDU2OTgwAAAAAl8yBAAAAAskdDA2OTg1NzA4NAkABRQAAAACCQEAAAAWZ2V0QXNzZXRJbmZvRnJvbVN0cmluZwAAAAEFAAAABmFzc2V0QQkBAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABBQAAAAZhc3NldEIEAAAADHBvb2xBc3NldElkQQgFAAAACyR0MDY5ODU3MDg0AAAAAl8xBAAAAAxwb29sQXNzZXRJZEIIBQAAAAskdDA2OTg1NzA4NAAAAAJfMgQAAAAMdW5hY3RpdmVWb3RlCQEAAAAVZ2V0VW5hY3RpdmVWb3RpbmdQb29sAAAAAAQAAAARbmV3TnVtYmVyT2ZWb3RpbmcJAQAAABlnZXRBY3RpdmVWb3RpbmdQb29sQW1vdW50AAAAAAQAAAAMaXNQb29sRXhpc3RzCQEAAAAWaXNMYXN0QWN0aXZlUG9vbEV4aXN0cwAAAAIFAAAABmFzc2V0QQUAAAAGYXNzZXRCBAAAAAskdDA3MjU0NzMzMgkBAAAADGdldEFzc2V0SW5mbwAAAAEFAAAADHBvb2xBc3NldElkQQQAAAAOcG10U3RyQXNzZXRJZEEIBQAAAAskdDA3MjU0NzMzMgAAAAJfMQQAAAANcG10QXNzZXROYW1lQQgFAAAACyR0MDcyNTQ3MzMyAAAAAl8yBAAAAAxwbXREZWNpbWFsc0EIBQAAAAskdDA3MjU0NzMzMgAAAAJfMwQAAAALJHQwNzMzNzc0MTUJAQAAAAxnZXRBc3NldEluZm8AAAABBQAAAAxwb29sQXNzZXRJZEIEAAAADnBtdFN0ckFzc2V0SWRCCAUAAAALJHQwNzMzNzc0MTUAAAACXzEEAAAADXBtdEFzc2V0TmFtZUIIBQAAAAskdDA3MzM3NzQxNQAAAAJfMgQAAAAMcG10RGVjaW1hbHNCCAUAAAALJHQwNzMzNzc0MTUAAAACXzMDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAAAAAAAIFAAAADHBvb2xBc3NldElkQQUAAAAMcG9vbEFzc2V0SWRCCQAAAgAAAAECAAAAGEFzc2V0cyBtdXN0IGJlIGRpZmZlcmVudAMFAAAADGlzUG9vbEV4aXN0cwkAAAIAAAABAgAAABhUaGlzIHBvb2wgYWxyZWFkeSBleGlzdHMDAwkAAGYAAAACCQAAZAAAAAIFAAAAEW5ld051bWJlck9mVm90aW5nAAAAAAAAAAABBQAAABFtYXhBbW91bnRPZlZvdGluZwYJAAAAAAAAAgUAAAAMdW5hY3RpdmVWb3RlAgAAAAAJAAACAAAAAQkAASwAAAACAgAAACRUb28g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", "height": 1539920, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7mmFgx9qsxpRSiiHy3wKQKQ9J1g7PeWUUd4inRyUCHwh Next: EavwTQcPSpborJQbbASYFuo7cGisKUh5MPuU69aCJxqm Diff:
OldNewDifferences
4949
5050 let x = "voting_active_cell_3"
5151
52-let y = "voting_active_cell_4"
52+let y = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5353
54-let z = "voting_active_cell_5"
54+let z = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5555
5656 let A = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5757
5858 let B = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5959
60-let C = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
60+let C = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
6161
62-let D = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
62+let D = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
6363
64-let E = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
64+let E = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
6565
66-let F = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
66+let F = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
6767
68-let G = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
68+let G = getBooleanValue(this, c)
6969
70-let H = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
70+let H = getIntegerValue(this, d)
7171
72-let I = getBooleanValue(this, c)
72+let I = getIntegerValue(this, k)
7373
74-let J = getIntegerValue(this, d)
74+let J = valueOrElse(getString(this, v), "")
7575
76-let K = getIntegerValue(this, k)
76+let K = valueOrElse(getString(this, w), "")
7777
78-let L = valueOrElse(getString(this, v), "")
78+let L = valueOrElse(getString(this, x), "")
7979
80-let M = valueOrElse(getString(this, w), "")
80+let M = 1000000000
8181
82-let N = valueOrElse(getString(this, x), "")
82+let N = 1000
8383
84-let O = valueOrElse(getString(this, y), "")
84+let O = 100000000
8585
86-let P = valueOrElse(getString(this, z), "")
86+let P = 1000
8787
88-let Q = 1000000000
88+let Q = 8
8989
90-let R = 1000
90+let R = 3
9191
92-let S = 100000000
92+let S = 7
9393
94-let T = 1000
94+let T = 15
9595
96-let U = 8
97-
98-let V = 5
99-
100-let W = 5
101-
102-let X = 15
103-
104-func Y (Z) = {
105- let aa = Z
106- if ($isInstanceOf(aa, "ByteVector"))
96+func U (V) = {
97+ let W = V
98+ if ($isInstanceOf(W, "ByteVector"))
10799 then {
108- let ab = aa
109- if (isDefined(assetInfo(ab)))
100+ let X = W
101+ if (isDefined(assetInfo(X)))
110102 then {
111- let ac = toBase58String(ab)
112- let ad = valueOrErrorMessage(assetInfo(ab), (("Asset " + ac) + " doesn't exist"))
113- $Tuple3(ac, ad.name, ad.decimals)
103+ let Y = toBase58String(X)
104+ let Z = valueOrErrorMessage(assetInfo(X), (("Asset " + Y) + " doesn't exist"))
105+ $Tuple3(Y, Z.name, Z.decimals)
114106 }
115- else throw("Asset is not define")
107+ else throw("Asset is not defined")
116108 }
117- else if ($isInstanceOf(aa, "Unit"))
109+ else if ($isInstanceOf(W, "Unit"))
118110 then {
119- let ae = aa
111+ let aa = W
120112 $Tuple3("WAVES", "WAVES", 8)
121113 }
122114 else throw("Match error")
123115 }
124116
125117
126-func af (ag,ah,ai) = {
127- let aj = split(ag, "_")
128- let ak = isDefined(getInteger(this, ag))
129- if (if (ak)
130- then (ag != "")
118+func ab (ac,ad,ae) = {
119+ let af = split(ac, "_")
120+ let ag = isDefined(getInteger(this, ac))
121+ if (if (ag)
122+ then (ac != "")
131123 else false)
132124 then {
133- let al = aj[2]
134- let am = (((((ah + "_") + ai) + "_") + al) + t)
135- let an = isDefined(getInteger(this, am))
136- let ao = valueOrElse(getInteger(this, (al + e)), 0)
137- let ap = valueOrElse(getBoolean(this, (al + j)), true)
138- if (an)
139- then if ((ao > height))
140- then if (ap)
125+ let ah = af[2]
126+ let ai = (((((ad + "_") + ae) + "_") + ah) + t)
127+ let aj = isDefined(getInteger(this, ai))
128+ let ak = valueOrElse(getInteger(this, (ah + e)), 0)
129+ let al = valueOrElse(getBoolean(this, (ah + j)), true)
130+ if (aj)
131+ then if ((ak > height))
132+ then if (al)
141133 then true
142134 else false
143135 else false
147139 }
148140
149141
150-func aq (ar) = {
151- let ag = valueOrElse(getString(this, ar), "")
152- let aj = split(ag, "_")
153- let ak = isDefined(getInteger(this, ag))
154- if (if (ak)
155- then (ag != "")
142+func am (an) = {
143+ let ac = valueOrElse(getString(this, an), "")
144+ let af = split(ac, "_")
145+ let ag = isDefined(getInteger(this, ac))
146+ if (if (ag)
147+ then (ac != "")
156148 else false)
157149 then {
158- let al = aj[2]
159- let ao = valueOrElse(getInteger(this, (al + e)), 0)
160- let ap = valueOrElse(getBoolean(this, (al + j)), true)
161- if ((ao > height))
162- then if (ap)
150+ let ah = af[2]
151+ let ak = valueOrElse(getInteger(this, (ah + e)), 0)
152+ let al = valueOrElse(getBoolean(this, (ah + j)), true)
153+ if ((ak > height))
154+ then if (al)
163155 then ""
164- else ar
165- else ar
156+ else an
157+ else an
166158 }
167- else ar
159+ else an
168160 }
169161
170162
171-func as (ah,ai) = if (if (if (if (af(L, ah, ai))
163+func ao (ad,ae) = if (if (ab(J, ad, ae))
172164 then true
173- else af(M, ah, ai))
165+ else ab(K, ad, ae))
174166 then true
175- else af(N, ah, ai))
176- then true
177- else af(O, ah, ai))
178- then true
179- else af(P, ah, ai)
167+ else ab(L, ad, ae)
180168
181169
182-func at (al) = {
183- let ao = valueOrElse(getInteger(this, (toString(al) + e)), 0)
184- let ap = valueOrElse(getBoolean(this, (toString(al) + j)), true)
185- let au = height
186- if ((0 > al))
170+func ap (ah) = {
171+ let ak = valueOrElse(getInteger(this, (toString(ah) + e)), 0)
172+ let al = valueOrElse(getBoolean(this, (toString(ah) + j)), true)
173+ let aq = height
174+ if ((0 > ah))
187175 then 0
188- else if (!(ap))
176+ else if (!(al))
189177 then 0
190- else if ((ao > au))
178+ else if ((ak > aq))
191179 then 1
192180 else 0
193181 }
194182
195183
196-func av () = ((((at(valueOrElse(getInteger(this, L), -1)) + at(valueOrElse(getInteger(this, M), -1))) + at(valueOrElse(getInteger(this, N), -1))) + at(valueOrElse(getInteger(this, O), -1))) + at(valueOrElse(getInteger(this, P), -1)))
184+func ar () = ((ap(valueOrElse(getInteger(this, J), -1)) + ap(valueOrElse(getInteger(this, K), -1))) + ap(valueOrElse(getInteger(this, L), -1)))
197185
198186
199-func aw () = if ((aq(v) != ""))
187+func as () = if ((am(v) != ""))
200188 then v
201- else if ((aq(w) != ""))
189+ else if ((am(w) != ""))
202190 then w
203- else if ((aq(x) != ""))
191+ else if ((am(x) != ""))
204192 then x
205- else if ((aq(y) != ""))
206- then y
207- else if ((aq(z) != ""))
208- then z
209- else ""
193+ else ""
210194
211195
212-func ax (ay) = if ((ay == "WAVES"))
196+func at (au) = if ((au == "WAVES"))
213197 then unit
214- else fromBase58String(ay)
198+ else fromBase58String(au)
215199
216200
217-func az (aA) = if ((valueOrElse(getInteger(F, (toString(aA) + r)), 0) > 0))
201+func av (aw) = if ((valueOrElse(getInteger(D, (toString(aw) + r)), 0) > 0))
218202 then true
219203 else false
220204
221205
222-func aB (aC) = [BooleanEntry(c, false), StringEntry(p, aC)]
206+func ax (ay) = [BooleanEntry(c, false), StringEntry(p, ay)]
223207
224208
225-func aD (aE,aF) = throw(((((("Insufficient DApp balance to pay " + toString(aE)) + " ") + aF) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
209+func az (aA,aB) = throw(((((("Insufficient DApp balance to pay " + toString(aA)) + " ") + aB) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
226210
227211
228-@Callable(aG)
229-func init () = if ((aG.caller != this))
212+@Callable(aC)
213+func init () = if ((aC.caller != this))
230214 then throw("Only the DApp itself can call this function")
231215 else if (isDefined(getBoolean(this, c)))
232216 then throw("DApp is already active")
233217 else {
234- let aH = 0
235- let aI = 0
236- let aJ = true
237- let aK = ""
238-[StringEntry(b, a), BooleanEntry(c, aJ), IntegerEntry(d, aH), IntegerEntry(k, aI), IntegerEntry(l, V), IntegerEntry(m, W), StringEntry(v, aK), StringEntry(w, aK), StringEntry(x, aK), StringEntry(y, aK), StringEntry(z, aK)]
218+ let aD = 0
219+ let aE = 0
220+ let aF = true
221+ let aG = ""
222+[StringEntry(b, a), BooleanEntry(c, aF), IntegerEntry(d, aD), IntegerEntry(k, aE), IntegerEntry(l, R), IntegerEntry(m, S), StringEntry(v, aG), StringEntry(w, aG), StringEntry(x, aG)]
239223 }
240224
241225
242226
243-@Callable(aG)
244-func initVotingForNewPool (ah,ai) = {
245- let aL = $Tuple2(aG.payments[0].amount, aG.payments[0].assetId)
246- let aM = aL._1
247- let aN = aL._2
248- let aO = $Tuple2(ax(ah), ax(ai))
249- let aP = aO._1
250- let aQ = aO._2
251- let aR = aw()
252- let aS = av()
253- let aT = as(ah, ai)
254- let aU = Y(aP)
227+@Callable(aC)
228+func initVotingForNewPool (ad,ae) = {
229+ let aH = $Tuple2(aC.payments[0].amount, aC.payments[0].assetId)
230+ let aI = aH._1
231+ let aJ = aH._2
232+ let aK = $Tuple2(at(ad), at(ae))
233+ let aL = aK._1
234+ let aM = aK._2
235+ let aN = as()
236+ let aO = ar()
237+ let aP = ao(ad, ae)
238+ let aQ = U(aL)
239+ let aR = aQ._1
240+ let aS = aQ._2
241+ let aT = aQ._3
242+ let aU = U(aM)
255243 let aV = aU._1
256244 let aW = aU._2
257245 let aX = aU._3
258- let aY = Y(aQ)
259- let aZ = aY._1
260- let ba = aY._2
261- let bb = aY._3
262- if (!(I))
246+ if (!(G))
263247 then throw("DApp is inactive at this moment")
264- else if ((aP == aQ))
248+ else if ((aL == aM))
265249 then throw("Assets must be different")
266- else if (aT)
250+ else if (aP)
267251 then throw("This pool already exists")
268- else if (if (((aS + 1) > V))
252+ else if (if (((aO + 1) > R))
269253 then true
270- else (aR == ""))
271- then throw(("Too many votes. Maximum quantity: " + toString(V)))
272- else if ((size(aG.payments) != 1))
273- then throw("One attached assets expected")
274- else if ((aN != H))
254+ else (aN == ""))
255+ then throw(("Too many votings. Maximum quantity: " + toString(R)))
256+ else if ((size(aC.payments) != 1))
257+ then throw("One attached asset expected")
258+ else if ((aJ != F))
275259 then throw("You must use a SWOP token")
276- else if (if ((ah == ""))
260+ else if (if ((ad == ""))
277261 then true
278- else (ai == ""))
262+ else (ae == ""))
279263 then throw("Assets can't be empty")
280- else if ((aM != Q))
264+ else if ((aI != M))
281265 then throw("You need to attach 10 SWOP tokens")
282- else if (!(if (if ((aQ == G))
266+ else if (!(if (if ((aM == E))
283267 then true
284- else (aQ == unit))
268+ else (aM == unit))
285269 then true
286- else (aQ == H)))
270+ else (aM == F)))
287271 then throw("assetB must be USDN, WAVES or SWOP")
288- else [IntegerEntry((((((ah + "_") + ai) + "_") + toString(K)) + t), K), IntegerEntry((toString(K) + e), (height + X)), BooleanEntry((toString(K) + j), true), IntegerEntry(k, (K + 1)), IntegerEntry(d, (aS + 1)), StringEntry((ah + s), aW), StringEntry((ai + s), ba), StringEntry(aR, (((((ah + "_") + ai) + "_") + toString(K)) + t)), ScriptTransfer(E, aM, aN)]
272+ else [IntegerEntry((((((ad + "_") + ae) + "_") + toString(I)) + t), I), IntegerEntry((toString(I) + e), (height + T)), BooleanEntry((toString(I) + j), true), IntegerEntry(k, (I + 1)), IntegerEntry(d, (aO + 1)), StringEntry((ad + s), aS), StringEntry((ae + s), aW), StringEntry(aN, (((((ad + "_") + ae) + "_") + toString(I)) + t)), ScriptTransfer(C, aI, aJ)]
289273 }
290274
291275
292276
293-@Callable(aG)
294-func voteForPool (al,bc,bd) = {
295- let au = height
296- let be = valueOrErrorMessage(getIntegerValue(this, (toString(al) + e)), "Empty pool height")
297- let ap = valueOrElse(getBoolean(this, (toString(al) + j)), true)
298- let bf = valueOrElse(getInteger(F, (toString(aG.caller) + r)), 0)
299- let bg = if (bc)
300- then (valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + h)), 0) + bd)
301- else (valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + i)), 0) + bd)
302- if (!(az(aG.caller)))
277+@Callable(aC)
278+func voteForPool (ah,aY,aZ) = {
279+ let aq = height
280+ let ba = valueOrErrorMessage(getIntegerValue(this, (toString(ah) + e)), "Empty pool height")
281+ let al = valueOrElse(getBoolean(this, (toString(ah) + j)), true)
282+ let bb = valueOrElse(getInteger(D, (toString(aC.caller) + r)), 0)
283+ let bc = if (aY)
284+ then (valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + h)), 0) + aZ)
285+ else (valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + i)), 0) + aZ)
286+ if (!(av(aC.caller)))
303287 then throw("This address has 0 SWOP in Governance dApp")
304- else if (!(ap))
288+ else if (!(al))
305289 then throw("This voting was canceled")
306- else if ((au > be))
290+ else if ((aq > ba))
307291 then throw("This voting was expired")
308- else if ((0 > bd))
292+ else if ((0 > aZ))
309293 then throw("The number of votes must be positive")
310- else if ((bg > bf))
311- then throw((((toString(this) + " has ") + toString(bf)) + " SWOP in governance."))
312- else if (bc)
294+ else if ((bc > bb))
295+ then throw((((toString(this) + " has ") + toString(bb)) + " SWOP in governance."))
296+ else if (aY)
313297 then {
314- let bh = valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + i)), 0)
315- let bi = ((valueOrElse(getInteger(this, (toString(al) + g)), 0) - bh) + bd)
316-[IntegerEntry((toString(al) + g), bi), IntegerEntry((((toString(aG.caller) + "_") + toString(al)) + i), bd)]
298+ let bd = valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + i)), 0)
299+ let be = ((valueOrElse(getInteger(this, (toString(ah) + g)), 0) - bd) + aZ)
300+[IntegerEntry((toString(ah) + g), be), IntegerEntry((((toString(aC.caller) + "_") + toString(ah)) + i), aZ)]
317301 }
318302 else {
319- let bh = valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + h)), 0)
320- let bi = ((valueOrElse(getInteger(this, (toString(al) + f)), 0) - bh) + bd)
321-[IntegerEntry((toString(al) + f), bi), IntegerEntry((((toString(aG.caller) + "_") + toString(al)) + h), bd)]
303+ let bd = valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + h)), 0)
304+ let be = ((valueOrElse(getInteger(this, (toString(ah) + f)), 0) - bd) + aZ)
305+[IntegerEntry((toString(ah) + f), be), IntegerEntry((((toString(aC.caller) + "_") + toString(ah)) + h), aZ)]
322306 }
323307 }
324308
325309
326310
327-@Callable(aG)
328-func cancelVoting (al,aC) = {
329- let ap = valueOrElse(getBoolean(this, (toString(al) + j)), true)
330- if (!(I))
311+@Callable(aC)
312+func cancelVoting (ah,ay) = {
313+ let al = valueOrElse(getBoolean(this, (toString(ah) + j)), true)
314+ if (!(G))
331315 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
332- else if (!(containsElement([A, B, C, D], aG.callerPublicKey)))
316+ else if (!(containsElement([y, z, A, B], aC.callerPublicKey)))
333317 then throw("Only admin can call this function")
334- else if (!(ap))
335- then throw((("Voting " + toString(al)) + " has already been stopped"))
336- else [IntegerEntry(d, (J - 1)), BooleanEntry((toString(al) + j), false), StringEntry((toString(al) + q), aC)]
318+ else if (!(al))
319+ then throw((("Voting " + toString(ah)) + " has already been stopped"))
320+ else [IntegerEntry(d, (H - 1)), BooleanEntry((toString(ah) + j), false), StringEntry((toString(ah) + q), ay)]
337321 }
338322
339323
340324
341-@Callable(aG)
342-func shutdown () = if (!(I))
325+@Callable(aC)
326+func shutdown () = if (!(G))
343327 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
344- else if (!(containsElement([A, B, C, D], aG.callerPublicKey)))
328+ else if (!(containsElement([y, z, A, B], aC.callerPublicKey)))
345329 then throw("Only admin can call this function")
346- else aB("Paused by admin")
330+ else ax("Paused by admin")
347331
348332
349333
350-@Callable(aG)
351-func activate () = if (I)
334+@Callable(aC)
335+func activate () = if (G)
352336 then throw("DApp is already active")
353- else if (!(containsElement([A, B, C, D], aG.callerPublicKey)))
337+ else if (!(containsElement([y, z, A, B], aC.callerPublicKey)))
354338 then throw("Only admin can call this function")
355339 else [BooleanEntry(c, true), DeleteEntry(p)]
356340
357341
358-@Verifier(bj)
359-func bk () = sigVerify(bj.bodyBytes, bj.proofs[0], bj.senderPublicKey)
342+@Verifier(bf)
343+func bg () = sigVerify(bf.bodyBytes, bf.proofs[0], bf.senderPublicKey)
360344
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "1.0.0"
55
66 let b = "version"
77
88 let c = "active"
99
1010 let d = "voting_active_number"
1111
1212 let e = "_finish_height"
1313
1414 let f = "_total_votes_no"
1515
1616 let g = "_total_votes_yes"
1717
1818 let h = "_vote_no"
1919
2020 let i = "_vote_yes"
2121
2222 let j = "_status"
2323
2424 let k = "voting_id_last"
2525
2626 let l = "max_amount_voting"
2727
2828 let m = "max_day_voting"
2929
3030 let n = "commission"
3131
3232 let o = "commission_scale_delimiter"
3333
3434 let p = "shutdown_cause"
3535
3636 let q = "_cancel_cause"
3737
3838 let r = "_SWOP_amount"
3939
4040 let s = "_asset_name"
4141
4242 let t = "_voting"
4343
4444 let u = "period_voting"
4545
4646 let v = "voting_active_cell_1"
4747
4848 let w = "voting_active_cell_2"
4949
5050 let x = "voting_active_cell_3"
5151
52-let y = "voting_active_cell_4"
52+let y = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5353
54-let z = "voting_active_cell_5"
54+let z = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5555
5656 let A = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5757
5858 let B = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5959
60-let C = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
60+let C = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
6161
62-let D = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
62+let D = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
6363
64-let E = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
64+let E = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
6565
66-let F = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
66+let F = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
6767
68-let G = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
68+let G = getBooleanValue(this, c)
6969
70-let H = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
70+let H = getIntegerValue(this, d)
7171
72-let I = getBooleanValue(this, c)
72+let I = getIntegerValue(this, k)
7373
74-let J = getIntegerValue(this, d)
74+let J = valueOrElse(getString(this, v), "")
7575
76-let K = getIntegerValue(this, k)
76+let K = valueOrElse(getString(this, w), "")
7777
78-let L = valueOrElse(getString(this, v), "")
78+let L = valueOrElse(getString(this, x), "")
7979
80-let M = valueOrElse(getString(this, w), "")
80+let M = 1000000000
8181
82-let N = valueOrElse(getString(this, x), "")
82+let N = 1000
8383
84-let O = valueOrElse(getString(this, y), "")
84+let O = 100000000
8585
86-let P = valueOrElse(getString(this, z), "")
86+let P = 1000
8787
88-let Q = 1000000000
88+let Q = 8
8989
90-let R = 1000
90+let R = 3
9191
92-let S = 100000000
92+let S = 7
9393
94-let T = 1000
94+let T = 15
9595
96-let U = 8
97-
98-let V = 5
99-
100-let W = 5
101-
102-let X = 15
103-
104-func Y (Z) = {
105- let aa = Z
106- if ($isInstanceOf(aa, "ByteVector"))
96+func U (V) = {
97+ let W = V
98+ if ($isInstanceOf(W, "ByteVector"))
10799 then {
108- let ab = aa
109- if (isDefined(assetInfo(ab)))
100+ let X = W
101+ if (isDefined(assetInfo(X)))
110102 then {
111- let ac = toBase58String(ab)
112- let ad = valueOrErrorMessage(assetInfo(ab), (("Asset " + ac) + " doesn't exist"))
113- $Tuple3(ac, ad.name, ad.decimals)
103+ let Y = toBase58String(X)
104+ let Z = valueOrErrorMessage(assetInfo(X), (("Asset " + Y) + " doesn't exist"))
105+ $Tuple3(Y, Z.name, Z.decimals)
114106 }
115- else throw("Asset is not define")
107+ else throw("Asset is not defined")
116108 }
117- else if ($isInstanceOf(aa, "Unit"))
109+ else if ($isInstanceOf(W, "Unit"))
118110 then {
119- let ae = aa
111+ let aa = W
120112 $Tuple3("WAVES", "WAVES", 8)
121113 }
122114 else throw("Match error")
123115 }
124116
125117
126-func af (ag,ah,ai) = {
127- let aj = split(ag, "_")
128- let ak = isDefined(getInteger(this, ag))
129- if (if (ak)
130- then (ag != "")
118+func ab (ac,ad,ae) = {
119+ let af = split(ac, "_")
120+ let ag = isDefined(getInteger(this, ac))
121+ if (if (ag)
122+ then (ac != "")
131123 else false)
132124 then {
133- let al = aj[2]
134- let am = (((((ah + "_") + ai) + "_") + al) + t)
135- let an = isDefined(getInteger(this, am))
136- let ao = valueOrElse(getInteger(this, (al + e)), 0)
137- let ap = valueOrElse(getBoolean(this, (al + j)), true)
138- if (an)
139- then if ((ao > height))
140- then if (ap)
125+ let ah = af[2]
126+ let ai = (((((ad + "_") + ae) + "_") + ah) + t)
127+ let aj = isDefined(getInteger(this, ai))
128+ let ak = valueOrElse(getInteger(this, (ah + e)), 0)
129+ let al = valueOrElse(getBoolean(this, (ah + j)), true)
130+ if (aj)
131+ then if ((ak > height))
132+ then if (al)
141133 then true
142134 else false
143135 else false
144136 else false
145137 }
146138 else false
147139 }
148140
149141
150-func aq (ar) = {
151- let ag = valueOrElse(getString(this, ar), "")
152- let aj = split(ag, "_")
153- let ak = isDefined(getInteger(this, ag))
154- if (if (ak)
155- then (ag != "")
142+func am (an) = {
143+ let ac = valueOrElse(getString(this, an), "")
144+ let af = split(ac, "_")
145+ let ag = isDefined(getInteger(this, ac))
146+ if (if (ag)
147+ then (ac != "")
156148 else false)
157149 then {
158- let al = aj[2]
159- let ao = valueOrElse(getInteger(this, (al + e)), 0)
160- let ap = valueOrElse(getBoolean(this, (al + j)), true)
161- if ((ao > height))
162- then if (ap)
150+ let ah = af[2]
151+ let ak = valueOrElse(getInteger(this, (ah + e)), 0)
152+ let al = valueOrElse(getBoolean(this, (ah + j)), true)
153+ if ((ak > height))
154+ then if (al)
163155 then ""
164- else ar
165- else ar
156+ else an
157+ else an
166158 }
167- else ar
159+ else an
168160 }
169161
170162
171-func as (ah,ai) = if (if (if (if (af(L, ah, ai))
163+func ao (ad,ae) = if (if (ab(J, ad, ae))
172164 then true
173- else af(M, ah, ai))
165+ else ab(K, ad, ae))
174166 then true
175- else af(N, ah, ai))
176- then true
177- else af(O, ah, ai))
178- then true
179- else af(P, ah, ai)
167+ else ab(L, ad, ae)
180168
181169
182-func at (al) = {
183- let ao = valueOrElse(getInteger(this, (toString(al) + e)), 0)
184- let ap = valueOrElse(getBoolean(this, (toString(al) + j)), true)
185- let au = height
186- if ((0 > al))
170+func ap (ah) = {
171+ let ak = valueOrElse(getInteger(this, (toString(ah) + e)), 0)
172+ let al = valueOrElse(getBoolean(this, (toString(ah) + j)), true)
173+ let aq = height
174+ if ((0 > ah))
187175 then 0
188- else if (!(ap))
176+ else if (!(al))
189177 then 0
190- else if ((ao > au))
178+ else if ((ak > aq))
191179 then 1
192180 else 0
193181 }
194182
195183
196-func av () = ((((at(valueOrElse(getInteger(this, L), -1)) + at(valueOrElse(getInteger(this, M), -1))) + at(valueOrElse(getInteger(this, N), -1))) + at(valueOrElse(getInteger(this, O), -1))) + at(valueOrElse(getInteger(this, P), -1)))
184+func ar () = ((ap(valueOrElse(getInteger(this, J), -1)) + ap(valueOrElse(getInteger(this, K), -1))) + ap(valueOrElse(getInteger(this, L), -1)))
197185
198186
199-func aw () = if ((aq(v) != ""))
187+func as () = if ((am(v) != ""))
200188 then v
201- else if ((aq(w) != ""))
189+ else if ((am(w) != ""))
202190 then w
203- else if ((aq(x) != ""))
191+ else if ((am(x) != ""))
204192 then x
205- else if ((aq(y) != ""))
206- then y
207- else if ((aq(z) != ""))
208- then z
209- else ""
193+ else ""
210194
211195
212-func ax (ay) = if ((ay == "WAVES"))
196+func at (au) = if ((au == "WAVES"))
213197 then unit
214- else fromBase58String(ay)
198+ else fromBase58String(au)
215199
216200
217-func az (aA) = if ((valueOrElse(getInteger(F, (toString(aA) + r)), 0) > 0))
201+func av (aw) = if ((valueOrElse(getInteger(D, (toString(aw) + r)), 0) > 0))
218202 then true
219203 else false
220204
221205
222-func aB (aC) = [BooleanEntry(c, false), StringEntry(p, aC)]
206+func ax (ay) = [BooleanEntry(c, false), StringEntry(p, ay)]
223207
224208
225-func aD (aE,aF) = throw(((((("Insufficient DApp balance to pay " + toString(aE)) + " ") + aF) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
209+func az (aA,aB) = throw(((((("Insufficient DApp balance to pay " + toString(aA)) + " ") + aB) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
226210
227211
228-@Callable(aG)
229-func init () = if ((aG.caller != this))
212+@Callable(aC)
213+func init () = if ((aC.caller != this))
230214 then throw("Only the DApp itself can call this function")
231215 else if (isDefined(getBoolean(this, c)))
232216 then throw("DApp is already active")
233217 else {
234- let aH = 0
235- let aI = 0
236- let aJ = true
237- let aK = ""
238-[StringEntry(b, a), BooleanEntry(c, aJ), IntegerEntry(d, aH), IntegerEntry(k, aI), IntegerEntry(l, V), IntegerEntry(m, W), StringEntry(v, aK), StringEntry(w, aK), StringEntry(x, aK), StringEntry(y, aK), StringEntry(z, aK)]
218+ let aD = 0
219+ let aE = 0
220+ let aF = true
221+ let aG = ""
222+[StringEntry(b, a), BooleanEntry(c, aF), IntegerEntry(d, aD), IntegerEntry(k, aE), IntegerEntry(l, R), IntegerEntry(m, S), StringEntry(v, aG), StringEntry(w, aG), StringEntry(x, aG)]
239223 }
240224
241225
242226
243-@Callable(aG)
244-func initVotingForNewPool (ah,ai) = {
245- let aL = $Tuple2(aG.payments[0].amount, aG.payments[0].assetId)
246- let aM = aL._1
247- let aN = aL._2
248- let aO = $Tuple2(ax(ah), ax(ai))
249- let aP = aO._1
250- let aQ = aO._2
251- let aR = aw()
252- let aS = av()
253- let aT = as(ah, ai)
254- let aU = Y(aP)
227+@Callable(aC)
228+func initVotingForNewPool (ad,ae) = {
229+ let aH = $Tuple2(aC.payments[0].amount, aC.payments[0].assetId)
230+ let aI = aH._1
231+ let aJ = aH._2
232+ let aK = $Tuple2(at(ad), at(ae))
233+ let aL = aK._1
234+ let aM = aK._2
235+ let aN = as()
236+ let aO = ar()
237+ let aP = ao(ad, ae)
238+ let aQ = U(aL)
239+ let aR = aQ._1
240+ let aS = aQ._2
241+ let aT = aQ._3
242+ let aU = U(aM)
255243 let aV = aU._1
256244 let aW = aU._2
257245 let aX = aU._3
258- let aY = Y(aQ)
259- let aZ = aY._1
260- let ba = aY._2
261- let bb = aY._3
262- if (!(I))
246+ if (!(G))
263247 then throw("DApp is inactive at this moment")
264- else if ((aP == aQ))
248+ else if ((aL == aM))
265249 then throw("Assets must be different")
266- else if (aT)
250+ else if (aP)
267251 then throw("This pool already exists")
268- else if (if (((aS + 1) > V))
252+ else if (if (((aO + 1) > R))
269253 then true
270- else (aR == ""))
271- then throw(("Too many votes. Maximum quantity: " + toString(V)))
272- else if ((size(aG.payments) != 1))
273- then throw("One attached assets expected")
274- else if ((aN != H))
254+ else (aN == ""))
255+ then throw(("Too many votings. Maximum quantity: " + toString(R)))
256+ else if ((size(aC.payments) != 1))
257+ then throw("One attached asset expected")
258+ else if ((aJ != F))
275259 then throw("You must use a SWOP token")
276- else if (if ((ah == ""))
260+ else if (if ((ad == ""))
277261 then true
278- else (ai == ""))
262+ else (ae == ""))
279263 then throw("Assets can't be empty")
280- else if ((aM != Q))
264+ else if ((aI != M))
281265 then throw("You need to attach 10 SWOP tokens")
282- else if (!(if (if ((aQ == G))
266+ else if (!(if (if ((aM == E))
283267 then true
284- else (aQ == unit))
268+ else (aM == unit))
285269 then true
286- else (aQ == H)))
270+ else (aM == F)))
287271 then throw("assetB must be USDN, WAVES or SWOP")
288- else [IntegerEntry((((((ah + "_") + ai) + "_") + toString(K)) + t), K), IntegerEntry((toString(K) + e), (height + X)), BooleanEntry((toString(K) + j), true), IntegerEntry(k, (K + 1)), IntegerEntry(d, (aS + 1)), StringEntry((ah + s), aW), StringEntry((ai + s), ba), StringEntry(aR, (((((ah + "_") + ai) + "_") + toString(K)) + t)), ScriptTransfer(E, aM, aN)]
272+ else [IntegerEntry((((((ad + "_") + ae) + "_") + toString(I)) + t), I), IntegerEntry((toString(I) + e), (height + T)), BooleanEntry((toString(I) + j), true), IntegerEntry(k, (I + 1)), IntegerEntry(d, (aO + 1)), StringEntry((ad + s), aS), StringEntry((ae + s), aW), StringEntry(aN, (((((ad + "_") + ae) + "_") + toString(I)) + t)), ScriptTransfer(C, aI, aJ)]
289273 }
290274
291275
292276
293-@Callable(aG)
294-func voteForPool (al,bc,bd) = {
295- let au = height
296- let be = valueOrErrorMessage(getIntegerValue(this, (toString(al) + e)), "Empty pool height")
297- let ap = valueOrElse(getBoolean(this, (toString(al) + j)), true)
298- let bf = valueOrElse(getInteger(F, (toString(aG.caller) + r)), 0)
299- let bg = if (bc)
300- then (valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + h)), 0) + bd)
301- else (valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + i)), 0) + bd)
302- if (!(az(aG.caller)))
277+@Callable(aC)
278+func voteForPool (ah,aY,aZ) = {
279+ let aq = height
280+ let ba = valueOrErrorMessage(getIntegerValue(this, (toString(ah) + e)), "Empty pool height")
281+ let al = valueOrElse(getBoolean(this, (toString(ah) + j)), true)
282+ let bb = valueOrElse(getInteger(D, (toString(aC.caller) + r)), 0)
283+ let bc = if (aY)
284+ then (valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + h)), 0) + aZ)
285+ else (valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + i)), 0) + aZ)
286+ if (!(av(aC.caller)))
303287 then throw("This address has 0 SWOP in Governance dApp")
304- else if (!(ap))
288+ else if (!(al))
305289 then throw("This voting was canceled")
306- else if ((au > be))
290+ else if ((aq > ba))
307291 then throw("This voting was expired")
308- else if ((0 > bd))
292+ else if ((0 > aZ))
309293 then throw("The number of votes must be positive")
310- else if ((bg > bf))
311- then throw((((toString(this) + " has ") + toString(bf)) + " SWOP in governance."))
312- else if (bc)
294+ else if ((bc > bb))
295+ then throw((((toString(this) + " has ") + toString(bb)) + " SWOP in governance."))
296+ else if (aY)
313297 then {
314- let bh = valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + i)), 0)
315- let bi = ((valueOrElse(getInteger(this, (toString(al) + g)), 0) - bh) + bd)
316-[IntegerEntry((toString(al) + g), bi), IntegerEntry((((toString(aG.caller) + "_") + toString(al)) + i), bd)]
298+ let bd = valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + i)), 0)
299+ let be = ((valueOrElse(getInteger(this, (toString(ah) + g)), 0) - bd) + aZ)
300+[IntegerEntry((toString(ah) + g), be), IntegerEntry((((toString(aC.caller) + "_") + toString(ah)) + i), aZ)]
317301 }
318302 else {
319- let bh = valueOrElse(getInteger(this, (((toString(aG.caller) + "_") + toString(al)) + h)), 0)
320- let bi = ((valueOrElse(getInteger(this, (toString(al) + f)), 0) - bh) + bd)
321-[IntegerEntry((toString(al) + f), bi), IntegerEntry((((toString(aG.caller) + "_") + toString(al)) + h), bd)]
303+ let bd = valueOrElse(getInteger(this, (((toString(aC.caller) + "_") + toString(ah)) + h)), 0)
304+ let be = ((valueOrElse(getInteger(this, (toString(ah) + f)), 0) - bd) + aZ)
305+[IntegerEntry((toString(ah) + f), be), IntegerEntry((((toString(aC.caller) + "_") + toString(ah)) + h), aZ)]
322306 }
323307 }
324308
325309
326310
327-@Callable(aG)
328-func cancelVoting (al,aC) = {
329- let ap = valueOrElse(getBoolean(this, (toString(al) + j)), true)
330- if (!(I))
311+@Callable(aC)
312+func cancelVoting (ah,ay) = {
313+ let al = valueOrElse(getBoolean(this, (toString(ah) + j)), true)
314+ if (!(G))
331315 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
332- else if (!(containsElement([A, B, C, D], aG.callerPublicKey)))
316+ else if (!(containsElement([y, z, A, B], aC.callerPublicKey)))
333317 then throw("Only admin can call this function")
334- else if (!(ap))
335- then throw((("Voting " + toString(al)) + " has already been stopped"))
336- else [IntegerEntry(d, (J - 1)), BooleanEntry((toString(al) + j), false), StringEntry((toString(al) + q), aC)]
318+ else if (!(al))
319+ then throw((("Voting " + toString(ah)) + " has already been stopped"))
320+ else [IntegerEntry(d, (H - 1)), BooleanEntry((toString(ah) + j), false), StringEntry((toString(ah) + q), ay)]
337321 }
338322
339323
340324
341-@Callable(aG)
342-func shutdown () = if (!(I))
325+@Callable(aC)
326+func shutdown () = if (!(G))
343327 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
344- else if (!(containsElement([A, B, C, D], aG.callerPublicKey)))
328+ else if (!(containsElement([y, z, A, B], aC.callerPublicKey)))
345329 then throw("Only admin can call this function")
346- else aB("Paused by admin")
330+ else ax("Paused by admin")
347331
348332
349333
350-@Callable(aG)
351-func activate () = if (I)
334+@Callable(aC)
335+func activate () = if (G)
352336 then throw("DApp is already active")
353- else if (!(containsElement([A, B, C, D], aG.callerPublicKey)))
337+ else if (!(containsElement([y, z, A, B], aC.callerPublicKey)))
354338 then throw("Only admin can call this function")
355339 else [BooleanEntry(c, true), DeleteEntry(p)]
356340
357341
358-@Verifier(bj)
359-func bk () = sigVerify(bj.bodyBytes, bj.proofs[0], bj.senderPublicKey)
342+@Verifier(bf)
343+func bg () = sigVerify(bf.bodyBytes, bf.proofs[0], bf.senderPublicKey)
360344

github/deemru/w8io/169f3d6 
111.65 ms