tx · FfpjzCxJ8FVt3hhk7QgHrPDb74mDc56kNr4FnF5qcGpQ

3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb:  -0.01400000 Waves

2021.08.16 16:44 [1660983] smart account 3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb > SELF 0.00000000 Waves

{ "type": 13, "id": "FfpjzCxJ8FVt3hhk7QgHrPDb74mDc56kNr4FnF5qcGpQ", "fee": 1400000, "feeAssetId": null, "timestamp": 1629121470426, "version": 2, "chainId": 84, "sender": "3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb", "senderPublicKey": "61fhePmC5L8iWserAMXoPAZbv24cAo6eyvnyYpoLpZJy", "proofs": [ "4ZtfPPZJ1QTMzh5KxJRV3strQ1aJTRk7KpRg4SGyPACxnm2684RhcAS7pXhF5S55AzT6L4Ru2Dqs3Zz3DpivWP6S", "2EyBM8DK8gSJ2pYzn6CeWEZKygKAWRe7GQZ4ooudQHi3E4SeXpSnt23XZKxdgS3ufDN4CGYyeSkDTkL8eWsccGKn" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgQKAggIEgUKAwEEARIECgIBCBIAEgAAAAA/AAAAAAd2ZXJzaW9uAgAAAAUxLjAuMAAAAAAKa2V5VmVyc2lvbgIAAAAHdmVyc2lvbgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAAEWtleU51bWJlck9mVm90aW5nAgAAABR2b3RpbmdfYWN0aXZlX251bWJlcgAAAAAPa2V5SGVpZ2h0T2ZQb29sAgAAAA5fZmluaXNoX2hlaWdodAAAAAAFa2V5Tm8CAAAAD190b3RhbF92b3Rlc19ubwAAAAAGa2V5WWVzAgAAABBfdG90YWxfdm90ZXNfeWVzAAAAAAlrZXlOb1VzZXICAAAACF92b3RlX25vAAAAAAprZXlZZXNVc2VyAgAAAAlfdm90ZV95ZXMAAAAAEWtleVN0YXR1c09mVm90aW5nAgAAAAdfc3RhdHVzAAAAABFrZXlBbW91bnRPZlZvdGluZwIAAAAOdm90aW5nX2lkX2xhc3QAAAAAFGtleU1heEFtb3VudE9mVm90aW5nAgAAABFtYXhfYW1vdW50X3ZvdGluZwAAAAARa2V5TWF4RGF5T2ZWb3RpbmcCAAAADm1heF9kYXlfdm90aW5nAAAAAA1rZXlDb21taXNzaW9uAgAAAApjb21taXNzaW9uAAAAABtrZXlDb21taXNzaW9uU2NhbGVEZWxpbWl0ZXICAAAAGmNvbW1pc3Npb25fc2NhbGVfZGVsaW1pdGVyAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADmtleUNhbmNlbENhdXNlAgAAAA1fY2FuY2VsX2NhdXNlAAAAAA5rVXNlclRvdGFsU1dPUAIAAAAMX1NXT1BfYW1vdW50AAAAAAVrTmFtZQIAAAALX2Fzc2V0X25hbWUAAAAACHZvdGluZ0lkAgAAAAdfdm90aW5nAAAAAA5wZXJpb2RPZlZvdGluZwIAAAANcGVyaW9kX3ZvdGluZwAAAAAPYWN0aXZlVm90ZUZpcnN0AgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMQAAAAAQYWN0aXZlVm90ZVNlY29uZAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzIAAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzMAAAAAB2tleVBhaXICAAAABXBhaXJfAAAAAA9rZXlBZG1pblB1YktleTECAAAAC2FkbWluX3B1Yl8xAAAAAA9rZXlBZG1pblB1YktleTICAAAAC2FkbWluX3B1Yl8yAAAAAA9rZXlBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgBAAAAC2dldEFkbWluUHViAAAAAQAAAAtrZXlBZG1pblB1YgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAZvcmFjbGUFAAAAC2tleUFkbWluUHViAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQIAAAAZQWRtaW4gcHVibGljIGtleSBpcyBlbXB0eQAAAAAMYWRtaW5QdWJLZXkxCQEAAAALZ2V0QWRtaW5QdWIAAAABBQAAAA9rZXlBZG1pblB1YktleTEAAAAADGFkbWluUHViS2V5MgkBAAAAC2dldEFkbWluUHViAAAAAQUAAAAPa2V5QWRtaW5QdWJLZXkyAAAAAAxhZG1pblB1YktleTMJAQAAAAtnZXRBZG1pblB1YgAAAAEFAAAAD2tleUFkbWluUHViS2V5MwAAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3ABAAAAIATPdeVk0MEPTme5HxNkxBoN6oQkQjF9M5BdQFgKnZNKAAAAAA13YWxsZXRBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU3z1Ll4lYWd4V4ORRC1bdPXpfvbV/hSGJAAAAAAdnb3ZBZGRyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUqvpp3oH0E1KFyj8uOohRsxnqmBxZ8g0tAAAAAARVU0ROAQAAACBvJKPKqzDcUimY6CxhWu5afyNNwi11u+mdqlTg0tAHwQAAAAAEU1dPUAEAAAAgEv+BIJFIbrNA9tN9ExhCV/1vofsy06rszWo/nWl9O/gAAAAACGlzQWN0aXZlCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUAAAAADm51bWJlck9mVm90aW5nCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAABFrZXlOdW1iZXJPZlZvdGluZwAAAAAOYW1vdW50T2ZWb3RpbmcJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAEWtleUFtb3VudE9mVm90aW5nAAAAAA9maXJzdEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAPYWN0aXZlVm90ZUZpcnN0AgAAAAAAAAAAEHNlY29uZEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAQYWN0aXZlVm90ZVNlY29uZAIAAAAAAAAAAA90aGlyZEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAPYWN0aXZlVm90ZVRoaXJkAgAAAAAAAAAAIWNvbWlzc2lvbkZvckluaXRhbGl6YXRpb25PZlZvdGluZwAAAAAAO5rKAAAAAAALc2NhbGVWYWx1ZTMAAAAAAAAAA+gAAAAAC3NjYWxlVmFsdWU4AAAAAAAF9eEAAAAAABpzbGlwcGFnZVRvbGVyYW5jZURlbGltaXRlcgAAAAAAAAAD6AAAAAARc2NhbGVWYWx1ZThEaWdpdHMAAAAAAAAAAAgAAAAAEW1heEFtb3VudE9mVm90aW5nAAAAAAAAAAADAAAAAA5tYXhEYXlPZlZvdGluZwAAAAAAAAAABwAAAAASdm90aW5nUGVyaW9kTGVuZ3RoCQAAaAAAAAIAAAAAAAAABaMFAAAADm1heERheU9mVm90aW5nAQAAAAxnZXRBc3NldEluZm8AAAABAAAAB2Fzc2V0SWQEAAAAByRtYXRjaDAFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAmlkBQAAAAckbWF0Y2gwAwkBAAAACWlzRGVmaW5lZAAAAAEJAAPsAAAAAQUAAAACaWQEAAAACHN0cmluZ0lkCQACWAAAAAEFAAAAAmlkBAAAAARpbmZvCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPsAAAAAQUAAAACaWQJAAEsAAAAAgkAASwAAAACAgAAAAZBc3NldCAFAAAACHN0cmluZ0lkAgAAAA4gZG9lc24ndCBleGlzdAkABRUAAAADBQAAAAhzdHJpbmdJZAgFAAAABGluZm8AAAAEbmFtZQgFAAAABGluZm8AAAAIZGVjaW1hbHMJAAACAAAAAQIAAAAUQXNzZXQgaXMgbm90IGRlZmluZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABXdhdmVzBQAAAAckbWF0Y2gwCQAFFQAAAAMCAAAABVdBVkVTAgAAAAVXQVZFUwAAAAAAAAAACAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwAAAAVwb29scwAAAAZhc3NldEEAAAAGYXNzZXRCBAAAAAlwb29sc0RhdGEJAAS1AAAAAgUAAAAFcG9vbHMCAAAAAV8EAAAADGlzUG9vbERlZmluZQkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAAFcG9vbHMDAwUAAAAMaXNQb29sRGVmaW5lCQEAAAACIT0AAAACBQAAAAVwb29scwIAAAAABwQAAAAGdm90aW5nCQABkQAAAAIFAAAACXBvb2xzRGF0YQAAAAAAAAAAAgQAAAAIbmV3UG9vbHMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZhc3NldEECAAAAAV8FAAAABmFzc2V0QgIAAAABXwUAAAAGdm90aW5nBQAAAAh2b3RpbmdJZAQAAAAPaXNOZXdQb29sRGVmaW5lCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAAhuZXdQb29scwQAAAAOaGVpZ2h0T2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZ2b3RpbmcFAAAAD2tleUhlaWdodE9mUG9vbAAAAAAAAAAAAAQAAAAOc3RhdHVzT2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZ2b3RpbmcFAAAAEWtleVN0YXR1c09mVm90aW5nBgMFAAAAD2lzTmV3UG9vbERlZmluZQMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAABmhlaWdodAMFAAAADnN0YXR1c09mVm90aW5nBgcHBwcBAAAAFGlzVW5hY3RpdmVQb29sRXhpc3RzAAAAAQAAAApwb29sc1N0YXRlBAAAAAVwb29scwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAApwb29sc1N0YXRlAgAAAAAEAAAACXBvb2xzRGF0YQkABLUAAAACBQAAAAVwb29scwIAAAABXwQAAAAMaXNQb29sRGVmaW5lCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAAVwb29scwMDBQAAAAxpc1Bvb2xEZWZpbmUJAQAAAAIhPQAAAAIFAAAABXBvb2xzAgAAAAAHBAAAAAZ2b3RpbmcJAAGRAAAAAgUAAAAJcG9vbHNEYXRhAAAAAAAAAAACBAAAAA5oZWlnaHRPZlZvdGluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABnZvdGluZwUAAAAPa2V5SGVpZ2h0T2ZQb29sAAAAAAAAAAAABAAAAA5zdGF0dXNPZlZvdGluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABnZvdGluZwUAAAARa2V5U3RhdHVzT2ZWb3RpbmcGAwkAAGYAAAACBQAAAA5oZWlnaHRPZlZvdGluZwUAAAAGaGVpZ2h0AwUAAAAOc3RhdHVzT2ZWb3RpbmcCAAAAAAUAAAAKcG9vbHNTdGF0ZQUAAAAKcG9vbHNTdGF0ZQUAAAAKcG9vbHNTdGF0ZQEAAAAWaXNMYXN0QWN0aXZlUG9vbEV4aXN0cwAAAAIAAAAGYXNzZXRBAAAABmFzc2V0QgMDCQEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwUAAAAPZmlyc3RBY3RpdmVWb3RlBQAAAAZhc3NldEEFAAAABmFzc2V0QgYJAQAAABJpc0FjdGl2ZVBvb2xFeGlzdHMAAAADBQAA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czovL3QubWUvc3dvcGZpc3VwcG9ydAAAAAYAAAABaQEAAAAEaW5pdAAAAAADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAArT25seSB0aGUgREFwcCBpdHNlbGYgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAABHRoaXMFAAAACWtleUFjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlBAAAABJpbml0TnVtYmVyT2ZWb3RpbmcAAAAAAAAAAAAEAAAAEmluaXRBbW91bnRPZlZvdGluZwAAAAAAAAAAAAQAAAANaW5pdEtleUFjdGl2ZQYEAAAACmFjdGl2ZUluaXQCAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAprZXlWZXJzaW9uBQAAAAd2ZXJzaW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUFAAAADWluaXRLZXlBY3RpdmUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleU51bWJlck9mVm90aW5nBQAAABJpbml0TnVtYmVyT2ZWb3RpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleUFtb3VudE9mVm90aW5nBQAAABJpbml0QW1vdW50T2ZWb3RpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFGtleU1heEFtb3VudE9mVm90aW5nBQAAABFtYXhBbW91bnRPZlZvdGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa2V5TWF4RGF5T2ZWb3RpbmcFAAAADm1heERheU9mVm90aW5nCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD2FjdGl2ZVZvdGVGaXJzdAUAAAAKYWN0aXZlSW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABBhY3RpdmVWb3RlU2Vjb25kBQAAAAphY3RpdmVJbml0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD2FjdGl2ZVZvdGVUaGlyZAUAAAAKYWN0aXZlSW5pdAUAAAADbmlsAAAAAWkBAAAAFGluaXRWb3RpbmdGb3JOZXdQb29sAAAAAgAAAAZhc3NldEEAAAAGYXNzZXRCBAAAAAskdDA3MTgxNzI1NgkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDcxODE3MjU2AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwNzE4MTcyNTYAAAACXzIEAAAACyR0MDcyNjE3MzYwCQAFFAAAAAIJAQAAABZnZXRBc3NldEluZm9Gcm9tU3RyaW5nAAAAAQUAAAAGYXNzZXRBCQEAAAAWZ2V0QXNzZXRJbmZvRnJvbVN0cmluZwAAAAEFAAAABmFzc2V0QgQAAAAMcG9vbEFzc2V0SWRBCAUAAAALJHQwNzI2MTczNjAAAAACXzEEAAAADHBvb2xBc3NldElkQggFAAAACyR0MDcyNjE3MzYwAAAAAl8yBAAAAAx1bmFjdGl2ZVZvdGUJAQAAABVnZXRVbmFjdGl2ZVZvdGluZ1Bvb2wAAAAABAAAABFuZXdOdW1iZXJPZlZvdGluZwkBAAAAGWdldEFjdGl2ZVZvdGluZ1Bvb2xBbW91bnQAAAAABAAAAAxpc1Bvb2xFeGlzdHMJAQAAABZpc0xhc3RBY3RpdmVQb29sRXhpc3RzAAAAAgUAAAAGYXNzZXRBBQAAAAZhc3NldEIEAAAACyR0MDc1MzA3NjA4CQEAAAAMZ2V0QXNzZXRJbmZvAAAAAQUAAAAMcG9vbEFzc2V0SWRBBAAAAA5wbXRTdHJBc3NldElkQQgFAAAACyR0MDc1MzA3NjA4AAAAAl8xBAAAAA1wbXRBc3NldE5hbWVBCAUAAAALJHQwNzUzMDc2MDgAAAACXzIEAAAADHBtdERlY2ltYWxzQQgFAAAACyR0MDc1MzA3NjA4AAAAAl8zBAAAAAskdDA3NjEzNzY5MQkBAAAADGdldEFzc2V0SW5mbwAAAAEFAAAADHBvb2xBc3NldElkQgQAAAAOcG10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", "height": 1660983, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8Y92zdLai2QuDDiz7jmLiChMoaxFJh1ca5tYdJZDCJM5 Next: D9T5bzoNoAg6zHGT1cwFwxYtxZVHxrz9axw7Kiv4U88u Diff:
OldNewDifferences
8585
8686 let N = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
8787
88-let O = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
88+let O = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
8989
90-let P = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
90+let P = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
9191
92-let Q = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
92+let Q = getBooleanValue(this, c)
9393
94-let R = getBooleanValue(this, c)
94+let R = getIntegerValue(this, d)
9595
96-let S = getIntegerValue(this, d)
96+let S = getIntegerValue(this, k)
9797
98-let T = getIntegerValue(this, k)
98+let T = valueOrElse(getString(this, v), "")
9999
100-let U = valueOrElse(getString(this, v), "")
100+let U = valueOrElse(getString(this, w), "")
101101
102-let V = valueOrElse(getString(this, w), "")
102+let V = valueOrElse(getString(this, x), "")
103103
104-let W = valueOrElse(getString(this, x), "")
104+let W = 1000000000
105105
106-let X = 1000000000
106+let X = 1000
107107
108-let Y = 1000
108+let Y = 100000000
109109
110-let Z = 100000000
110+let Z = 1000
111111
112-let aa = 1000
112+let aa = 8
113113
114-let ab = 8
114+let ab = 3
115115
116-let ac = 3
116+let ac = 7
117117
118-let ad = 7
118+let ad = (1443 * ac)
119119
120-let ae = (1443 * ad)
121-
122-func af (ag) = {
123- let F = ag
120+func ae (af) = {
121+ let F = af
124122 if ($isInstanceOf(F, "ByteVector"))
125123 then {
126- let ah = F
127- if (isDefined(assetInfo(ah)))
124+ let ag = F
125+ if (isDefined(assetInfo(ag)))
128126 then {
129- let ai = toBase58String(ah)
130- let aj = valueOrErrorMessage(assetInfo(ah), (("Asset " + ai) + " doesn't exist"))
131- $Tuple3(ai, aj.name, aj.decimals)
127+ let ah = toBase58String(ag)
128+ let ai = valueOrErrorMessage(assetInfo(ag), (("Asset " + ah) + " doesn't exist"))
129+ $Tuple3(ah, ai.name, ai.decimals)
132130 }
133131 else throw("Asset is not defined")
134132 }
135133 else if ($isInstanceOf(F, "Unit"))
136134 then {
137- let ak = F
135+ let aj = F
138136 $Tuple3("WAVES", "WAVES", 8)
139137 }
140138 else throw("Match error")
141139 }
142140
143141
144-func al (am,an,ao) = {
145- let ap = split(am, "_")
146- let aq = isDefined(getInteger(this, am))
147- if (if (aq)
148- then (am != "")
142+func ak (al,am,an) = {
143+ let ao = split(al, "_")
144+ let ap = isDefined(getInteger(this, al))
145+ if (if (ap)
146+ then (al != "")
149147 else false)
150148 then {
151- let ar = ap[2]
152- let as = (((((an + "_") + ao) + "_") + ar) + t)
153- let at = isDefined(getInteger(this, as))
154- let au = valueOrElse(getInteger(this, (ar + e)), 0)
155- let av = valueOrElse(getBoolean(this, (ar + j)), true)
156- if (at)
157- then if ((au > height))
158- then if (av)
149+ let aq = ao[2]
150+ let ar = (((((am + "_") + an) + "_") + aq) + t)
151+ let as = isDefined(getInteger(this, ar))
152+ let at = valueOrElse(getInteger(this, (aq + e)), 0)
153+ let au = valueOrElse(getBoolean(this, (aq + j)), true)
154+ if (as)
155+ then if ((at > height))
156+ then if (au)
159157 then true
160158 else false
161159 else false
165163 }
166164
167165
168-func aw (ax) = {
169- let am = valueOrElse(getString(this, ax), "")
170- let ap = split(am, "_")
171- let aq = isDefined(getInteger(this, am))
172- if (if (aq)
173- then (am != "")
166+func av (aw) = {
167+ let al = valueOrElse(getString(this, aw), "")
168+ let ao = split(al, "_")
169+ let ap = isDefined(getInteger(this, al))
170+ if (if (ap)
171+ then (al != "")
174172 else false)
175173 then {
176- let ar = ap[2]
177- let au = valueOrElse(getInteger(this, (ar + e)), 0)
178- let av = valueOrElse(getBoolean(this, (ar + j)), true)
179- if ((au > height))
180- then if (av)
174+ let aq = ao[2]
175+ let at = valueOrElse(getInteger(this, (aq + e)), 0)
176+ let au = valueOrElse(getBoolean(this, (aq + j)), true)
177+ if ((at > height))
178+ then if (au)
181179 then ""
182- else ax
183- else ax
180+ else aw
181+ else aw
184182 }
185- else ax
183+ else aw
186184 }
187185
188186
189-func ay (an,ao) = if (if (al(U, an, ao))
187+func ax (am,an) = if (if (ak(T, am, an))
190188 then true
191- else al(V, an, ao))
189+ else ak(U, am, an))
192190 then true
193- else al(W, an, ao)
191+ else ak(V, am, an)
194192
195193
196-func az (ar) = {
197- let au = valueOrElse(getInteger(this, (toString(ar) + e)), 0)
198- let av = valueOrElse(getBoolean(this, (toString(ar) + j)), true)
199- let aA = height
200- if ((0 > ar))
194+func ay (aq) = {
195+ let at = valueOrElse(getInteger(this, (toString(aq) + e)), 0)
196+ let au = valueOrElse(getBoolean(this, (toString(aq) + j)), true)
197+ let az = height
198+ if ((0 > aq))
201199 then 0
202- else if (!(av))
200+ else if (!(au))
203201 then 0
204- else if ((au > aA))
202+ else if ((at > az))
205203 then 1
206204 else 0
207205 }
208206
209207
210-func aB () = ((az(valueOrElse(getInteger(this, U), -1)) + az(valueOrElse(getInteger(this, V), -1))) + az(valueOrElse(getInteger(this, W), -1)))
208+func aA () = ((ay(valueOrElse(getInteger(this, T), -1)) + ay(valueOrElse(getInteger(this, U), -1))) + ay(valueOrElse(getInteger(this, V), -1)))
211209
212210
213-func aC () = if ((aw(v) != ""))
211+func aB () = if ((av(v) != ""))
214212 then v
215- else if ((aw(w) != ""))
213+ else if ((av(w) != ""))
216214 then w
217- else if ((aw(x) != ""))
215+ else if ((av(x) != ""))
218216 then x
219217 else ""
220218
221219
222-func aD (aE) = if ((aE == "WAVES"))
220+func aC (aD) = if ((aD == "WAVES"))
223221 then unit
224- else fromBase58String(aE)
222+ else fromBase58String(aD)
225223
226224
227-func aF (aG) = if ((valueOrElse(getInteger(N, (toString(aG) + r)), 0) > 0))
225+func aE (aF) = if ((valueOrElse(getInteger(N, (toString(aF) + r)), 0) > 0))
228226 then true
229227 else false
230228
231229
232-func aH (aI) = [BooleanEntry(c, false), StringEntry(p, aI)]
230+func aG (aH) = [BooleanEntry(c, false), StringEntry(p, aH)]
233231
234232
235-func aJ (aK,aL) = throw(((((("Insufficient DApp balance to pay " + toString(aK)) + " ") + aL) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
233+func aI (aJ,aK) = throw(((((("Insufficient DApp balance to pay " + toString(aJ)) + " ") + aK) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
236234
237235
238-@Callable(aM)
239-func init () = if ((aM.caller != this))
236+@Callable(aL)
237+func init () = if ((aL.caller != this))
240238 then throw("Only the DApp itself can call this function")
241239 else if (isDefined(getBoolean(this, c)))
242240 then throw("DApp is already active")
243241 else {
242+ let aM = 0
244243 let aN = 0
245- let aO = 0
246- let aP = true
247- let aQ = ""
248-[StringEntry(b, a), BooleanEntry(c, aP), IntegerEntry(d, aN), IntegerEntry(k, aO), IntegerEntry(l, ac), IntegerEntry(m, ad), StringEntry(v, aQ), StringEntry(w, aQ), StringEntry(x, aQ)]
244+ let aO = true
245+ let aP = ""
246+[StringEntry(b, a), BooleanEntry(c, aO), IntegerEntry(d, aM), IntegerEntry(k, aN), IntegerEntry(l, ab), IntegerEntry(m, ac), StringEntry(v, aP), StringEntry(w, aP), StringEntry(x, aP)]
249247 }
250248
251249
252250
253-@Callable(aM)
254-func initVotingForNewPool (an,ao) = {
255- let aR = $Tuple2(aM.payments[0].amount, aM.payments[0].assetId)
256- let aS = aR._1
257- let aT = aR._2
258- let aU = $Tuple2(aD(an), aD(ao))
259- let aV = aU._1
260- let aW = aU._2
261- let aX = aC()
262- let aY = aB()
263- let aZ = ay(an, ao)
264- let ba = af(aV)
265- let bb = ba._1
266- let bc = ba._2
267- let bd = ba._3
268- let be = af(aW)
269- let bf = be._1
270- let bg = be._2
271- let bh = be._3
272- if (!(R))
251+@Callable(aL)
252+func initVotingForNewPool (am,an) = {
253+ let aQ = $Tuple2(aL.payments[0].amount, aL.payments[0].assetId)
254+ let aR = aQ._1
255+ let aS = aQ._2
256+ let aT = $Tuple2(aC(am), aC(an))
257+ let aU = aT._1
258+ let aV = aT._2
259+ let aW = aB()
260+ let aX = aA()
261+ let aY = ax(am, an)
262+ let aZ = ae(aU)
263+ let ba = aZ._1
264+ let bb = aZ._2
265+ let bc = aZ._3
266+ let bd = ae(aV)
267+ let be = bd._1
268+ let bf = bd._2
269+ let bg = bd._3
270+ if (!(Q))
273271 then throw("DApp is inactive at this moment")
274- else if (isDefined(getString(O, (((y + an) + "_") + ao))))
272+ else if (isDefined(getString(C, (((y + am) + "_") + an))))
275273 then throw("Assets must be from oracle")
276- else if ((aV == aW))
274+ else if ((aU == aV))
277275 then throw("Assets must be different")
278- else if (aZ)
276+ else if (aY)
279277 then throw("This pool already exists")
280- else if (if (((aY + 1) > ac))
278+ else if (if (((aX + 1) > ab))
281279 then true
282- else (aX == ""))
283- then throw(("Too many votings. Maximum quantity: " + toString(ac)))
284- else if ((size(aM.payments) != 1))
280+ else (aW == ""))
281+ then throw(("Too many votings. Maximum quantity: " + toString(ab)))
282+ else if ((size(aL.payments) != 1))
285283 then throw("One attached asset expected")
286- else if ((aT != Q))
284+ else if ((aS != P))
287285 then throw("You must use a SWOP token")
288- else if (if ((an == ""))
286+ else if (if ((am == ""))
289287 then true
290- else (ao == ""))
288+ else (an == ""))
291289 then throw("Assets can't be empty")
292- else if ((aS != X))
290+ else if ((aR != W))
293291 then throw("You need to attach 10 SWOP tokens")
294- else if (!(if (if ((aW == P))
292+ else if (!(if (if ((aV == O))
295293 then true
296- else (aW == unit))
294+ else (aV == unit))
297295 then true
298- else (aW == Q)))
296+ else (aV == P)))
299297 then throw("assetB must be USDN, WAVES or SWOP")
300- else [IntegerEntry((((((an + "_") + ao) + "_") + toString(T)) + t), T), IntegerEntry((toString(T) + e), (height + ae)), BooleanEntry((toString(T) + j), true), IntegerEntry(k, (T + 1)), IntegerEntry(d, (aY + 1)), StringEntry((an + s), bc), StringEntry((ao + s), bg), StringEntry(aX, (((((an + "_") + ao) + "_") + toString(T)) + t)), ScriptTransfer(M, aS, aT)]
298+ else [IntegerEntry((((((am + "_") + an) + "_") + toString(S)) + t), S), IntegerEntry((toString(S) + e), (height + ad)), BooleanEntry((toString(S) + j), true), IntegerEntry(k, (S + 1)), IntegerEntry(d, (aX + 1)), StringEntry((am + s), bb), StringEntry((an + s), bf), StringEntry(aW, (((((am + "_") + an) + "_") + toString(S)) + t)), ScriptTransfer(M, aR, aS)]
301299 }
302300
303301
304302
305-@Callable(aM)
306-func voteForPool (ar,bi,bj) = {
307- let aA = height
308- let bk = valueOrErrorMessage(getIntegerValue(this, (toString(ar) + e)), "Empty pool height")
309- let av = valueOrElse(getBoolean(this, (toString(ar) + j)), true)
310- let bl = valueOrElse(getInteger(N, (toString(aM.caller) + r)), 0)
311- let bm = if (bi)
312- then (valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + h)), 0) + bj)
313- else (valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + i)), 0) + bj)
314- if (!(aF(aM.caller)))
303+@Callable(aL)
304+func voteForPool (aq,bh,bi) = {
305+ let az = height
306+ let bj = valueOrErrorMessage(getIntegerValue(this, (toString(aq) + e)), "Empty pool height")
307+ let au = valueOrElse(getBoolean(this, (toString(aq) + j)), true)
308+ let bk = valueOrElse(getInteger(N, (toString(aL.caller) + r)), 0)
309+ let bl = if (bh)
310+ then (valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + h)), 0) + bi)
311+ else (valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + i)), 0) + bi)
312+ if (!(aE(aL.caller)))
315313 then throw("This address has 0 SWOP in Governance dApp")
316- else if (!(R))
314+ else if (!(Q))
317315 then throw("DApp is inactive at this moment")
318- else if (!(av))
316+ else if (!(au))
319317 then throw("This voting was canceled")
320- else if ((aA > bk))
318+ else if ((az > bj))
321319 then throw("This voting was expired")
322- else if ((0 > bj))
320+ else if ((0 > bi))
323321 then throw("The number of votes must be positive")
324- else if ((bm > bl))
325- then throw((((toString(this) + " has ") + toString(bl)) + " SWOP in governance."))
326- else if (bi)
322+ else if ((bl > bk))
323+ then throw((((toString(this) + " has ") + toString(bk)) + " SWOP in governance."))
324+ else if (bh)
327325 then {
328- let bn = valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + i)), 0)
329- let bo = ((valueOrElse(getInteger(this, (toString(ar) + g)), 0) - bn) + bj)
330-[IntegerEntry((toString(ar) + g), bo), IntegerEntry((((toString(aM.caller) + "_") + toString(ar)) + i), bj)]
326+ let bm = valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + i)), 0)
327+ let bn = ((valueOrElse(getInteger(this, (toString(aq) + g)), 0) - bm) + bi)
328+[IntegerEntry((toString(aq) + g), bn), IntegerEntry((((toString(aL.caller) + "_") + toString(aq)) + i), bi)]
331329 }
332330 else {
333- let bn = valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + h)), 0)
334- let bo = ((valueOrElse(getInteger(this, (toString(ar) + f)), 0) - bn) + bj)
335-[IntegerEntry((toString(ar) + f), bo), IntegerEntry((((toString(aM.caller) + "_") + toString(ar)) + h), bj)]
331+ let bm = valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + h)), 0)
332+ let bn = ((valueOrElse(getInteger(this, (toString(aq) + f)), 0) - bm) + bi)
333+[IntegerEntry((toString(aq) + f), bn), IntegerEntry((((toString(aL.caller) + "_") + toString(aq)) + h), bi)]
336334 }
337335 }
338336
339337
340338
341-@Callable(aM)
342-func cancelVoting (ar,aI) = {
343- let av = valueOrElse(getBoolean(this, (toString(ar) + j)), true)
344- if (!(R))
339+@Callable(aL)
340+func cancelVoting (aq,aH) = {
341+ let au = valueOrElse(getBoolean(this, (toString(aq) + j)), true)
342+ if (!(Q))
345343 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
346- else if (!(containsElement([I, J, K], aM.callerPublicKey)))
344+ else if (!(containsElement([I, J, K], aL.callerPublicKey)))
347345 then throw("Only admin can call this function")
348- else if (!(av))
349- then throw((("Voting " + toString(ar)) + " has already been stopped"))
350- else [IntegerEntry(d, (S - 1)), BooleanEntry((toString(ar) + j), false), StringEntry((toString(ar) + q), aI)]
346+ else if (!(au))
347+ then throw((("Voting " + toString(aq)) + " has already been stopped"))
348+ else [IntegerEntry(d, (R - 1)), BooleanEntry((toString(aq) + j), false), StringEntry((toString(aq) + q), aH)]
351349 }
352350
353351
354352
355-@Callable(aM)
356-func shutdown () = if (!(R))
353+@Callable(aL)
354+func shutdown () = if (!(Q))
357355 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
358- else if (!(containsElement([I, J, K, L], aM.callerPublicKey)))
356+ else if (!(containsElement([I, J, K, L], aL.callerPublicKey)))
359357 then throw("Only admin can call this function")
360- else aH("Paused by admin")
358+ else aG("Paused by admin")
361359
362360
363361
364-@Callable(aM)
365-func activate () = if (R)
362+@Callable(aL)
363+func activate () = if (Q)
366364 then throw("DApp is already active")
367- else if (!(containsElement([I, J, K, L], aM.callerPublicKey)))
365+ else if (!(containsElement([I, J, K, L], aL.callerPublicKey)))
368366 then throw("Only admin can call this function")
369367 else [BooleanEntry(c, true), DeleteEntry(p)]
370368
371369
372-@Verifier(bp)
373-func bq () = {
374- let br = if (sigVerify(bp.bodyBytes, bp.proofs[0], I))
370+@Verifier(bo)
371+func bp () = {
372+ let bq = if (sigVerify(bo.bodyBytes, bo.proofs[0], I))
375373 then 1
376374 else 0
377- let bs = if (sigVerify(bp.bodyBytes, bp.proofs[1], J))
375+ let br = if (sigVerify(bo.bodyBytes, bo.proofs[1], J))
378376 then 1
379377 else 0
380- let bt = if (sigVerify(bp.bodyBytes, bp.proofs[2], K))
378+ let bs = if (sigVerify(bo.bodyBytes, bo.proofs[2], K))
381379 then 1
382380 else 0
383- (((br + bs) + bt) >= 2)
381+ (((bq + br) + bs) >= 2)
384382 }
385383
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
5252 let y = "pair_"
5353
5454 let z = "admin_pub_1"
5555
5656 let A = "admin_pub_2"
5757
5858 let B = "admin_pub_3"
5959
6060 let C = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
6161
6262 func D (E) = {
6363 let F = getString(C, E)
6464 if ($isInstanceOf(F, "String"))
6565 then {
6666 let G = F
6767 fromBase58String(G)
6868 }
6969 else {
7070 let H = F
7171 throw("Admin public key is empty")
7272 }
7373 }
7474
7575
7676 let I = D(z)
7777
7878 let J = D(A)
7979
8080 let K = D(B)
8181
8282 let L = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
8383
8484 let M = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
8585
8686 let N = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
8787
88-let O = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
88+let O = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
8989
90-let P = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
90+let P = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
9191
92-let Q = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
92+let Q = getBooleanValue(this, c)
9393
94-let R = getBooleanValue(this, c)
94+let R = getIntegerValue(this, d)
9595
96-let S = getIntegerValue(this, d)
96+let S = getIntegerValue(this, k)
9797
98-let T = getIntegerValue(this, k)
98+let T = valueOrElse(getString(this, v), "")
9999
100-let U = valueOrElse(getString(this, v), "")
100+let U = valueOrElse(getString(this, w), "")
101101
102-let V = valueOrElse(getString(this, w), "")
102+let V = valueOrElse(getString(this, x), "")
103103
104-let W = valueOrElse(getString(this, x), "")
104+let W = 1000000000
105105
106-let X = 1000000000
106+let X = 1000
107107
108-let Y = 1000
108+let Y = 100000000
109109
110-let Z = 100000000
110+let Z = 1000
111111
112-let aa = 1000
112+let aa = 8
113113
114-let ab = 8
114+let ab = 3
115115
116-let ac = 3
116+let ac = 7
117117
118-let ad = 7
118+let ad = (1443 * ac)
119119
120-let ae = (1443 * ad)
121-
122-func af (ag) = {
123- let F = ag
120+func ae (af) = {
121+ let F = af
124122 if ($isInstanceOf(F, "ByteVector"))
125123 then {
126- let ah = F
127- if (isDefined(assetInfo(ah)))
124+ let ag = F
125+ if (isDefined(assetInfo(ag)))
128126 then {
129- let ai = toBase58String(ah)
130- let aj = valueOrErrorMessage(assetInfo(ah), (("Asset " + ai) + " doesn't exist"))
131- $Tuple3(ai, aj.name, aj.decimals)
127+ let ah = toBase58String(ag)
128+ let ai = valueOrErrorMessage(assetInfo(ag), (("Asset " + ah) + " doesn't exist"))
129+ $Tuple3(ah, ai.name, ai.decimals)
132130 }
133131 else throw("Asset is not defined")
134132 }
135133 else if ($isInstanceOf(F, "Unit"))
136134 then {
137- let ak = F
135+ let aj = F
138136 $Tuple3("WAVES", "WAVES", 8)
139137 }
140138 else throw("Match error")
141139 }
142140
143141
144-func al (am,an,ao) = {
145- let ap = split(am, "_")
146- let aq = isDefined(getInteger(this, am))
147- if (if (aq)
148- then (am != "")
142+func ak (al,am,an) = {
143+ let ao = split(al, "_")
144+ let ap = isDefined(getInteger(this, al))
145+ if (if (ap)
146+ then (al != "")
149147 else false)
150148 then {
151- let ar = ap[2]
152- let as = (((((an + "_") + ao) + "_") + ar) + t)
153- let at = isDefined(getInteger(this, as))
154- let au = valueOrElse(getInteger(this, (ar + e)), 0)
155- let av = valueOrElse(getBoolean(this, (ar + j)), true)
156- if (at)
157- then if ((au > height))
158- then if (av)
149+ let aq = ao[2]
150+ let ar = (((((am + "_") + an) + "_") + aq) + t)
151+ let as = isDefined(getInteger(this, ar))
152+ let at = valueOrElse(getInteger(this, (aq + e)), 0)
153+ let au = valueOrElse(getBoolean(this, (aq + j)), true)
154+ if (as)
155+ then if ((at > height))
156+ then if (au)
159157 then true
160158 else false
161159 else false
162160 else false
163161 }
164162 else false
165163 }
166164
167165
168-func aw (ax) = {
169- let am = valueOrElse(getString(this, ax), "")
170- let ap = split(am, "_")
171- let aq = isDefined(getInteger(this, am))
172- if (if (aq)
173- then (am != "")
166+func av (aw) = {
167+ let al = valueOrElse(getString(this, aw), "")
168+ let ao = split(al, "_")
169+ let ap = isDefined(getInteger(this, al))
170+ if (if (ap)
171+ then (al != "")
174172 else false)
175173 then {
176- let ar = ap[2]
177- let au = valueOrElse(getInteger(this, (ar + e)), 0)
178- let av = valueOrElse(getBoolean(this, (ar + j)), true)
179- if ((au > height))
180- then if (av)
174+ let aq = ao[2]
175+ let at = valueOrElse(getInteger(this, (aq + e)), 0)
176+ let au = valueOrElse(getBoolean(this, (aq + j)), true)
177+ if ((at > height))
178+ then if (au)
181179 then ""
182- else ax
183- else ax
180+ else aw
181+ else aw
184182 }
185- else ax
183+ else aw
186184 }
187185
188186
189-func ay (an,ao) = if (if (al(U, an, ao))
187+func ax (am,an) = if (if (ak(T, am, an))
190188 then true
191- else al(V, an, ao))
189+ else ak(U, am, an))
192190 then true
193- else al(W, an, ao)
191+ else ak(V, am, an)
194192
195193
196-func az (ar) = {
197- let au = valueOrElse(getInteger(this, (toString(ar) + e)), 0)
198- let av = valueOrElse(getBoolean(this, (toString(ar) + j)), true)
199- let aA = height
200- if ((0 > ar))
194+func ay (aq) = {
195+ let at = valueOrElse(getInteger(this, (toString(aq) + e)), 0)
196+ let au = valueOrElse(getBoolean(this, (toString(aq) + j)), true)
197+ let az = height
198+ if ((0 > aq))
201199 then 0
202- else if (!(av))
200+ else if (!(au))
203201 then 0
204- else if ((au > aA))
202+ else if ((at > az))
205203 then 1
206204 else 0
207205 }
208206
209207
210-func aB () = ((az(valueOrElse(getInteger(this, U), -1)) + az(valueOrElse(getInteger(this, V), -1))) + az(valueOrElse(getInteger(this, W), -1)))
208+func aA () = ((ay(valueOrElse(getInteger(this, T), -1)) + ay(valueOrElse(getInteger(this, U), -1))) + ay(valueOrElse(getInteger(this, V), -1)))
211209
212210
213-func aC () = if ((aw(v) != ""))
211+func aB () = if ((av(v) != ""))
214212 then v
215- else if ((aw(w) != ""))
213+ else if ((av(w) != ""))
216214 then w
217- else if ((aw(x) != ""))
215+ else if ((av(x) != ""))
218216 then x
219217 else ""
220218
221219
222-func aD (aE) = if ((aE == "WAVES"))
220+func aC (aD) = if ((aD == "WAVES"))
223221 then unit
224- else fromBase58String(aE)
222+ else fromBase58String(aD)
225223
226224
227-func aF (aG) = if ((valueOrElse(getInteger(N, (toString(aG) + r)), 0) > 0))
225+func aE (aF) = if ((valueOrElse(getInteger(N, (toString(aF) + r)), 0) > 0))
228226 then true
229227 else false
230228
231229
232-func aH (aI) = [BooleanEntry(c, false), StringEntry(p, aI)]
230+func aG (aH) = [BooleanEntry(c, false), StringEntry(p, aH)]
233231
234232
235-func aJ (aK,aL) = throw(((((("Insufficient DApp balance to pay " + toString(aK)) + " ") + aL) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
233+func aI (aJ,aK) = throw(((((("Insufficient DApp balance to pay " + toString(aJ)) + " ") + aK) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
236234
237235
238-@Callable(aM)
239-func init () = if ((aM.caller != this))
236+@Callable(aL)
237+func init () = if ((aL.caller != this))
240238 then throw("Only the DApp itself can call this function")
241239 else if (isDefined(getBoolean(this, c)))
242240 then throw("DApp is already active")
243241 else {
242+ let aM = 0
244243 let aN = 0
245- let aO = 0
246- let aP = true
247- let aQ = ""
248-[StringEntry(b, a), BooleanEntry(c, aP), IntegerEntry(d, aN), IntegerEntry(k, aO), IntegerEntry(l, ac), IntegerEntry(m, ad), StringEntry(v, aQ), StringEntry(w, aQ), StringEntry(x, aQ)]
244+ let aO = true
245+ let aP = ""
246+[StringEntry(b, a), BooleanEntry(c, aO), IntegerEntry(d, aM), IntegerEntry(k, aN), IntegerEntry(l, ab), IntegerEntry(m, ac), StringEntry(v, aP), StringEntry(w, aP), StringEntry(x, aP)]
249247 }
250248
251249
252250
253-@Callable(aM)
254-func initVotingForNewPool (an,ao) = {
255- let aR = $Tuple2(aM.payments[0].amount, aM.payments[0].assetId)
256- let aS = aR._1
257- let aT = aR._2
258- let aU = $Tuple2(aD(an), aD(ao))
259- let aV = aU._1
260- let aW = aU._2
261- let aX = aC()
262- let aY = aB()
263- let aZ = ay(an, ao)
264- let ba = af(aV)
265- let bb = ba._1
266- let bc = ba._2
267- let bd = ba._3
268- let be = af(aW)
269- let bf = be._1
270- let bg = be._2
271- let bh = be._3
272- if (!(R))
251+@Callable(aL)
252+func initVotingForNewPool (am,an) = {
253+ let aQ = $Tuple2(aL.payments[0].amount, aL.payments[0].assetId)
254+ let aR = aQ._1
255+ let aS = aQ._2
256+ let aT = $Tuple2(aC(am), aC(an))
257+ let aU = aT._1
258+ let aV = aT._2
259+ let aW = aB()
260+ let aX = aA()
261+ let aY = ax(am, an)
262+ let aZ = ae(aU)
263+ let ba = aZ._1
264+ let bb = aZ._2
265+ let bc = aZ._3
266+ let bd = ae(aV)
267+ let be = bd._1
268+ let bf = bd._2
269+ let bg = bd._3
270+ if (!(Q))
273271 then throw("DApp is inactive at this moment")
274- else if (isDefined(getString(O, (((y + an) + "_") + ao))))
272+ else if (isDefined(getString(C, (((y + am) + "_") + an))))
275273 then throw("Assets must be from oracle")
276- else if ((aV == aW))
274+ else if ((aU == aV))
277275 then throw("Assets must be different")
278- else if (aZ)
276+ else if (aY)
279277 then throw("This pool already exists")
280- else if (if (((aY + 1) > ac))
278+ else if (if (((aX + 1) > ab))
281279 then true
282- else (aX == ""))
283- then throw(("Too many votings. Maximum quantity: " + toString(ac)))
284- else if ((size(aM.payments) != 1))
280+ else (aW == ""))
281+ then throw(("Too many votings. Maximum quantity: " + toString(ab)))
282+ else if ((size(aL.payments) != 1))
285283 then throw("One attached asset expected")
286- else if ((aT != Q))
284+ else if ((aS != P))
287285 then throw("You must use a SWOP token")
288- else if (if ((an == ""))
286+ else if (if ((am == ""))
289287 then true
290- else (ao == ""))
288+ else (an == ""))
291289 then throw("Assets can't be empty")
292- else if ((aS != X))
290+ else if ((aR != W))
293291 then throw("You need to attach 10 SWOP tokens")
294- else if (!(if (if ((aW == P))
292+ else if (!(if (if ((aV == O))
295293 then true
296- else (aW == unit))
294+ else (aV == unit))
297295 then true
298- else (aW == Q)))
296+ else (aV == P)))
299297 then throw("assetB must be USDN, WAVES or SWOP")
300- else [IntegerEntry((((((an + "_") + ao) + "_") + toString(T)) + t), T), IntegerEntry((toString(T) + e), (height + ae)), BooleanEntry((toString(T) + j), true), IntegerEntry(k, (T + 1)), IntegerEntry(d, (aY + 1)), StringEntry((an + s), bc), StringEntry((ao + s), bg), StringEntry(aX, (((((an + "_") + ao) + "_") + toString(T)) + t)), ScriptTransfer(M, aS, aT)]
298+ else [IntegerEntry((((((am + "_") + an) + "_") + toString(S)) + t), S), IntegerEntry((toString(S) + e), (height + ad)), BooleanEntry((toString(S) + j), true), IntegerEntry(k, (S + 1)), IntegerEntry(d, (aX + 1)), StringEntry((am + s), bb), StringEntry((an + s), bf), StringEntry(aW, (((((am + "_") + an) + "_") + toString(S)) + t)), ScriptTransfer(M, aR, aS)]
301299 }
302300
303301
304302
305-@Callable(aM)
306-func voteForPool (ar,bi,bj) = {
307- let aA = height
308- let bk = valueOrErrorMessage(getIntegerValue(this, (toString(ar) + e)), "Empty pool height")
309- let av = valueOrElse(getBoolean(this, (toString(ar) + j)), true)
310- let bl = valueOrElse(getInteger(N, (toString(aM.caller) + r)), 0)
311- let bm = if (bi)
312- then (valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + h)), 0) + bj)
313- else (valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + i)), 0) + bj)
314- if (!(aF(aM.caller)))
303+@Callable(aL)
304+func voteForPool (aq,bh,bi) = {
305+ let az = height
306+ let bj = valueOrErrorMessage(getIntegerValue(this, (toString(aq) + e)), "Empty pool height")
307+ let au = valueOrElse(getBoolean(this, (toString(aq) + j)), true)
308+ let bk = valueOrElse(getInteger(N, (toString(aL.caller) + r)), 0)
309+ let bl = if (bh)
310+ then (valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + h)), 0) + bi)
311+ else (valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + i)), 0) + bi)
312+ if (!(aE(aL.caller)))
315313 then throw("This address has 0 SWOP in Governance dApp")
316- else if (!(R))
314+ else if (!(Q))
317315 then throw("DApp is inactive at this moment")
318- else if (!(av))
316+ else if (!(au))
319317 then throw("This voting was canceled")
320- else if ((aA > bk))
318+ else if ((az > bj))
321319 then throw("This voting was expired")
322- else if ((0 > bj))
320+ else if ((0 > bi))
323321 then throw("The number of votes must be positive")
324- else if ((bm > bl))
325- then throw((((toString(this) + " has ") + toString(bl)) + " SWOP in governance."))
326- else if (bi)
322+ else if ((bl > bk))
323+ then throw((((toString(this) + " has ") + toString(bk)) + " SWOP in governance."))
324+ else if (bh)
327325 then {
328- let bn = valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + i)), 0)
329- let bo = ((valueOrElse(getInteger(this, (toString(ar) + g)), 0) - bn) + bj)
330-[IntegerEntry((toString(ar) + g), bo), IntegerEntry((((toString(aM.caller) + "_") + toString(ar)) + i), bj)]
326+ let bm = valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + i)), 0)
327+ let bn = ((valueOrElse(getInteger(this, (toString(aq) + g)), 0) - bm) + bi)
328+[IntegerEntry((toString(aq) + g), bn), IntegerEntry((((toString(aL.caller) + "_") + toString(aq)) + i), bi)]
331329 }
332330 else {
333- let bn = valueOrElse(getInteger(this, (((toString(aM.caller) + "_") + toString(ar)) + h)), 0)
334- let bo = ((valueOrElse(getInteger(this, (toString(ar) + f)), 0) - bn) + bj)
335-[IntegerEntry((toString(ar) + f), bo), IntegerEntry((((toString(aM.caller) + "_") + toString(ar)) + h), bj)]
331+ let bm = valueOrElse(getInteger(this, (((toString(aL.caller) + "_") + toString(aq)) + h)), 0)
332+ let bn = ((valueOrElse(getInteger(this, (toString(aq) + f)), 0) - bm) + bi)
333+[IntegerEntry((toString(aq) + f), bn), IntegerEntry((((toString(aL.caller) + "_") + toString(aq)) + h), bi)]
336334 }
337335 }
338336
339337
340338
341-@Callable(aM)
342-func cancelVoting (ar,aI) = {
343- let av = valueOrElse(getBoolean(this, (toString(ar) + j)), true)
344- if (!(R))
339+@Callable(aL)
340+func cancelVoting (aq,aH) = {
341+ let au = valueOrElse(getBoolean(this, (toString(aq) + j)), true)
342+ if (!(Q))
345343 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
346- else if (!(containsElement([I, J, K], aM.callerPublicKey)))
344+ else if (!(containsElement([I, J, K], aL.callerPublicKey)))
347345 then throw("Only admin can call this function")
348- else if (!(av))
349- then throw((("Voting " + toString(ar)) + " has already been stopped"))
350- else [IntegerEntry(d, (S - 1)), BooleanEntry((toString(ar) + j), false), StringEntry((toString(ar) + q), aI)]
346+ else if (!(au))
347+ then throw((("Voting " + toString(aq)) + " has already been stopped"))
348+ else [IntegerEntry(d, (R - 1)), BooleanEntry((toString(aq) + j), false), StringEntry((toString(aq) + q), aH)]
351349 }
352350
353351
354352
355-@Callable(aM)
356-func shutdown () = if (!(R))
353+@Callable(aL)
354+func shutdown () = if (!(Q))
357355 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, p), "the cause wasn't specified")))
358- else if (!(containsElement([I, J, K, L], aM.callerPublicKey)))
356+ else if (!(containsElement([I, J, K, L], aL.callerPublicKey)))
359357 then throw("Only admin can call this function")
360- else aH("Paused by admin")
358+ else aG("Paused by admin")
361359
362360
363361
364-@Callable(aM)
365-func activate () = if (R)
362+@Callable(aL)
363+func activate () = if (Q)
366364 then throw("DApp is already active")
367- else if (!(containsElement([I, J, K, L], aM.callerPublicKey)))
365+ else if (!(containsElement([I, J, K, L], aL.callerPublicKey)))
368366 then throw("Only admin can call this function")
369367 else [BooleanEntry(c, true), DeleteEntry(p)]
370368
371369
372-@Verifier(bp)
373-func bq () = {
374- let br = if (sigVerify(bp.bodyBytes, bp.proofs[0], I))
370+@Verifier(bo)
371+func bp () = {
372+ let bq = if (sigVerify(bo.bodyBytes, bo.proofs[0], I))
375373 then 1
376374 else 0
377- let bs = if (sigVerify(bp.bodyBytes, bp.proofs[1], J))
375+ let br = if (sigVerify(bo.bodyBytes, bo.proofs[1], J))
378376 then 1
379377 else 0
380- let bt = if (sigVerify(bp.bodyBytes, bp.proofs[2], K))
378+ let bs = if (sigVerify(bo.bodyBytes, bo.proofs[2], K))
381379 then 1
382380 else 0
383- (((br + bs) + bt) >= 2)
381+ (((bq + br) + bs) >= 2)
384382 }
385383

github/deemru/w8io/026f985 
158.09 ms