tx · CTvrV6qhmSxiMpCsBQPY4gXacNQpyhtuynMb88Ua5kLD

3MzNgrEUhroThbrRs5DXGbo7x8nu84NqPfU:  -0.14000000 Waves

2022.06.02 14:17 [2078639] smart account 3MzNgrEUhroThbrRs5DXGbo7x8nu84NqPfU > SELF 0.00000000 Waves

{ "type": 13, "id": "CTvrV6qhmSxiMpCsBQPY4gXacNQpyhtuynMb88Ua5kLD", "fee": 14000000, "feeAssetId": null, "timestamp": 1654168519532, "version": 2, "chainId": 84, "sender": "3MzNgrEUhroThbrRs5DXGbo7x8nu84NqPfU", "senderPublicKey": "9rfquow4nYxXdYLnj2FRCVCi9ZUa2BSBci3YMueg53DF", "proofs": [ "5pVR3Z8X62hcQUXz2kRWy1X2Huo52ynxgvTUwey7jGsS7Hx77YP8kT16HpLW68NdnScBiU6wg5T144PGoYsZK5UJ", "3kNsdY4nDUzjztLscrAaUyALNdC2XgTZGFMuPx66JNPQ1Jh5ebhfeXe5t1McqizQcj4uyHYhnCZH6jdNmsmAt9X" ], "script": "base64:AAIFAAAAAAAAEmgIAhIAEgASBAoCAQESABIECgIBARIAEgASABIFCgMEAQgSABoMCgFBEgckbWF0Y2gwGgsKAUISBnN0cmluZxoMCgFDEgdub3RoaW5nGhEKAUQSDGFkbWluUHViS2V5MRoRCgFFEgxhZG1pblB1YktleTIaEQoBRhIMYWRtaW5QdWJLZXkzGhYKAUcSEWFkbWluUHViS2V5SW52b2tlGhQKAUgSD21vbmV5Qm94QWRkcmVzcxoPCgFJEgpnb3ZBZGRyZXNzGhcKAUoSEnN0YWtpbmdVU0ROQWRkcmVzcxoJCgFLEgRVU0ROGhIKAUwSDXN0YWtpbmdBc3NldHMaCwoBTRIGYWN0aXZlGhAKAU4SC3N0ckFzc2V0SWRBGhAKAU8SC3N0ckFzc2V0SWRCGg0KAVASCGFzc2V0SWRBGg0KAVESCGFzc2V0SWRCGg8KAVISCmFzc2V0TmFtZUEaBwoBUxICaWQaCgoBVBIFd2F2ZXMaDwoBVRIKYXNzZXROYW1lQhoNCgFWEghiYWxhbmNlQRoNCgFXEghiYWxhbmNlQhoRCgFYEgxzaGFyZUFzc2V0SWQaFQoBWRIQc2hhcmVBc3NldFN1cHBseRoOCgFaEglpbnZhcmlhbnQaDAoBYRIHdmVyc2lvbhofCgJhQRIZYWNjb3VudEJhbGFuY2VXaXRoU3Rha2VkQhoWCgJhQhIQaGFzRW5vdWdoQmFsYW5jZRoOCgJhQxIIc2tld25lc3MaBwoCYUQSAXgaBwoCYUUSAXkaEwoCYUYSDWludmFyaWFudENhbGMaCAoCYUcSAnNrGhkKAmFIEhNjYWxjdWxhdGVTZW5kQW1vdW50GhsKAmFJEhVhbW91bnRUb1NlbmRFc3RpbWF0ZWQaGwoCYUoSFW1pblRva2VuUmVjZWl2ZUFtb3VudBoYCgJhSxISdG9rZW5SZWNlaXZlQW1vdW50Gg0KAmFMEgd0b2tlbklkGiMKAmFNEh13b3JzdEFsbG93ZWROZXdJbnZhcmlhbnRSYXRpbxokCgJhThIeZGVsdGFCZXR3ZWVuTWF4QW5kTWluU2VuZFZhbHVlGhMKAmFPEg1nZXRTdGVwQW1vdW50GgkKAmFQEgNhY2MaCgoCYVESBHN0ZXAaEgoCYVISDGFtb3VudFRvU2VuZBoTCgJhUxINc3RlcEludmFyaWFudBoVCgJhVBIPYW1vdW50VG9TZW5kTWluGhIKAmFVEgxpbnZFc3RpbWF0ZWQaBwoCYVYSAWEaCAoCYVcSAiRsGggKAmFYEgIkcxoLCgJhWRIFJGFjYzAaCwoCYVoSBSRmMF8xGgkKAmFhEgNmZWUaEwoCYWISDWZlZUdvdmVybmFuY2UaDwoCYWMSCWZlZVNjYWxlNhoMCgJhZBIGc2NhbGUzGgwKAmFlEgZzY2FsZTgaDQoCYWYSB3NjYWxlMTYaFAoCYWcSDnNsaXBwYWdlU2NhbGUzGg0KAmFoEgdkaWdpdHM4GhMKAmFpEg1kQXBwVGhyZXNob2xkGhkKAmFqEhNkQXBwVGhyZXNob2xkU2NhbGUyGhsKAmFrEhVleGNoYW5nZVJhdGlvTGltaXRNaW4aGwoCYWwSFWV4Y2hhbmdlUmF0aW9MaW1pdE1heBoLCgJhbRIFYWxwaGEaEQoCYW4SC2FscGhhRGlnaXRzGgoKAmFvEgRiZXRhGhQKAmFwEg5hY2NvdW50QmFsYW5jZRoNCgJhcRIHYXNzZXRJZBoSCgJhchIMc3Rha2VkQW1vdW50GhwKAmFzEhZzdGFrZWRBbW91bnRDYWxjdWxhdGVkGgkKAmF0EgNhSWQaBwoCYXUSAWkaEwoCYXYSDXN0YWtlZEFtb3VudEEaEwoCYXcSDXN0YWtlZEFtb3VudEIaFwoCYXgSEWF2YWlsYWJsZUJhbGFuY2VBGhcKAmF5EhFhdmFpbGFibGVCYWxhbmNlQhofCgJhehIZYWNjb3VudEJhbGFuY2VXaXRoU3Rha2VkQRoNCgFiEghrVmVyc2lvbhoRCgJiQRILJHQwOTQ5ODk1NjQaGgoCYkISFGNhbGN1bGF0ZUZlZURpc2NvdW50Gg4KAmJDEgh1c2VyQWRkchoQCgJiRBIKc3dvcEFtb3VudBoUCgJiRRIOZGlzY291bnRWYWx1ZXMaDwoCYkYSCWRpc2NvdW50cxoTCgJiRxINJHQwMTA3MzYxMDgxMxoQCgJiSBIKcG10QW1vdW50QRoRCgJiSRILcG10QXNzZXRJZEEaEwoCYkoSDSR0MDEwODE4MTA4OTUaEAoCYksSCnBtdEFtb3VudEIaEQoCYkwSC3BtdEFzc2V0SWRCGhMKAmJNEg0kdDAxMDkwMDEwOTc3GhQKAmJOEg5wbXRTdHJBc3NldElkQRoTCgJiTxINcG10QXNzZXROYW1lQRoSCgJiUBIMcG10RGVjaW1hbHNBGhMKAmJREg0kdDAxMDk4MjExMDU5GhQKAmJSEg5wbXRTdHJBc3NldElkQhoTCgJiUxINcG10QXNzZXROYW1lQhoSCgJiVBIMcG10RGVjaW1hbHNCGg8KAmJVEglzaGFyZU5hbWUaFgoCYlYSEHNoYXJlRGVzY3JpcHRpb24aEwoCYlcSDXNoYXJlRGVjaW1hbHMaGAoCYlgSEnNoYXJlSW5pdGlhbFN1cHBseRoQCgJiWRIKc2hhcmVJc3N1ZRoSCgJiWhIMc2hhcmVJc3N1ZUlkGggKAmJhEgIkYRoICgJiYhICJGkaCwoCYmMSBSRmMF8yGhUKAmJkEg90dXBsZVNlbmRCZXR0ZXIaEgoCYmUSDGdldEFzc2V0SW5mbxoOCgJiZhIIc3RyaW5nSWQaCgoCYmcSBGluZm8aDQoCYmgSB3N1c3BlbmQaCwoCYmkSBWNhdXNlGhMKAmJqEg10aHJvd0lzQWN0aXZlGg4KAmJrEghpc0FjdGl2ZRoRCgJibBILaXNBZG1pbkNhbGwaEQoCYm0SC3Rocm93QXNzZXRzGhUKAmJuEg90aHJvd09uZVBheW1lbnQaFAoCYm8SDnRocm93VGhyZXNob2xkGg8KAmJwEgl0aHJlc2hvbGQaDQoCYnESB2Ftb3VudEEaDQoCYnISB2Ftb3VudEIaFwoCYnMSEXN1c3BlbmRTdXNwaWNpb3VzGh4KAmJ0EhhjYWxjU3Rha2luZ0Z1bmNBbmRBZGRyZXMaCwoCYnUSBXN0YWtlGhcKAmJ2EhFjYWxjU3Rha2luZ1BhcmFtcxoMCgJidxIGYW1vdW50GhEKAmJ4EgskdDA5MzQ2OTQxMhoKCgJieRIEY2FsbBoRCgJiehILc3Rha2luZ0FkZHIaDAoBYxIHa0FjdGl2ZRoiCgJjQRIcc2xpcHBhZ2VWYWx1ZU1heEZvclJlcGxlbmlzaBodCgJjQhIXc2xpcHBhZ2VWYWx1ZU1pbkZvclN3YXAaEwoCY0MSDSR0MDE3Mjc5MTc5MjEaFwoCY0QSEXZpcnR1YWxSZXBsZW5pc2hBGhcKAmNFEhF2aXJ0dWFsUmVwbGVuaXNoQhoXCgJjRhIRYmFsYW5jZUFmdGVyU3dhcEEaFwoCY0cSEWJhbGFuY2VBZnRlclN3YXBCGhEKAmNIEgtuZXdCYWxhbmNlQRoRCgJjSRILbmV3QmFsYW5jZUIaEgoCY0oSDGludmFyaWFudE5ldxorCgJjSxIlcmF0aW9WaXJ0dWFsQmFsYW5jZVRvVmlydHVhbFJlcGxlbmlzaBoZCgJjTBITZEFwcFRocmVzaG9sZEFtb3VudBojCgJjTRIdc2hhcmVUb2tlblRvUGF5QW1vdW50QWZ0ZXJGZWUaIAoCY04SGnNoYXJlVG9rZW5Hb3Zlcm5hbmNlUmV3YXJkGhwKAmNPEhZnb3Zlcm5hbmNlUmV3YXJkVG9rZW5BGhwKAmNQEhZnb3Zlcm5hbmNlUmV3YXJkVG9rZW5CGhMKAmNREg0kdDAxOTkwODIwMjAzGhEKAmNSEgtzdGFrZUFtb3VudBoTCgJjUxINdW5zdGFrZUFtb3VudBoSCgJjVBIMdW5zdGFrZUFzc2V0GhMKAmNVEg0kdDAyMTQ5MDIxNTY1GhIKAmNWEgxhbW91bnRUb1BheUEaEgoCY1cSDGFtb3VudFRvUGF5QhoeCgJjWBIYZXN0aW1hdGVkQW1vdW50VG9SZWNlaXZlGhgKAmNZEhJtaW5BbW91bnRUb1JlY2VpdmUaEwoCY1oSDSR0MDIzMTE2MjMxOTEaGQoCY2ESE2ludmFyaWFudENhbGN1bGF0ZWQaDAoCY2ISBnN0YWtlMRoMCgJjYxIGc3Rha2UyGhkKAmNkEhNyYXRpb1NoYXJlVG9rZW5zSW5BGhkKAmNlEhNyYXRpb1NoYXJlVG9rZW5zSW5CGhMKAmNmEg0kdDAxMzcwNzEzNzg0GhMKAmNnEg0kdDAxMzc4OTEzOTA2GhMKAmNoEg0kdDAxMzkxMTE0NDE1GgkKAmNpEgNwbXQaDAoCY2oSBmNoYW5nZRoTCgJjaxINY2hhbmdlQXNzZXRJZBoVCgJjbBIPc2hhcmVUb2tlblJhdGlvGhsKAmNtEhVzaGFyZVRva2VuVG9QYXlBbW91bnQaGQoCY24SE3ZpcnR1YWxTd2FwVG9rZW5QYXkaGQoCY28SE3ZpcnR1YWxTd2FwVG9rZW5HZXQaEwoCY3ASDSR0MDE2MTQ4MTYyMjMaDwoCY3ESCXBtdEFtb3VudBoQCgJjchIKcG10QXNzZXRJZBoTCgJjcxINJHQwMTYyMjgxNjMwMRoTCgJjdBINcG10U3RyQXNzZXRJZBoSCgJjdRIMcG10QXNzZXROYW1lGhEKAmN2EgtwbXREZWNpbWFscxoVCgJjdxIPcG10TWluVGhyZXNob2xkGiMKAmN4Eh10aHJlc2hvbGRWYWx1ZUZvck1pblRvbGVyYW5jZRoPCgJjeRIJdG9sZXJhbmNlGiIKAmN6EhxzbGlwcGFnZVZhbHVlTWluRm9yUmVwbGVuaXNoGg4KAWQSCWtBc3NldElkQRoRCgJkYRILc2VuZEFzc2V0SWQaEQoCZGISC2ZlZURpc2NvdW50GhYKAmRjEhBnb3Zlcm5hbmNlUmV3YXJkGhQKAmRkEg5hbW91bnRNaW51c0ZlZRoTCgJkZRINJHQwMjQ2NDQyNDkwNhoTCgJkZhINJHQwMjUyMDUyNTI3OBoTCgJkZxINJHQwMjUyOTEyNTM2OBoUCgJkaBIOc2VuZFN0ckFzc2V0SWQaEwoCZGkSDXNlbmRBc3NldE5hbWUaEgoCZGoSDHNlbmREZWNpbWFscxoTCgJkaxINYW1vdW50RW5yb2xsQRoTCgJkbBINYW1vdW50RW5yb2xsQhoTCgJkbRINYXNzZXRJZFN0cmluZxoTCgJkbhINJHQwMjgzNzIyODQ3NRoKCgJkbxIEYWRkchoMCgJkcBIGcGFyYW1zGg4KAmRxEghwYXltZW50cxoJCgJkchIDaW52GggKAmRzEgJ0eBoMCgJkdBIGdmVyaWZ5GhkKAmR1EhNtdWx0aVNpZ25lZEJ5QWRtaW5zGhgKAmR2EhJhZG1pblB1YktleTFTaWduZWQaGAoCZHcSEmFkbWluUHViS2V5MlNpZ25lZBoYCgJkeBISYWRtaW5QdWJLZXkzU2lnbmVkGhkKAmR5EhNjYWxsVGFrZUludG9BY2NvdW50GhMKAmR6Eg1zaWduZWRCeUFkbWluGg4KAWUSCWtBc3NldElkQhoOCgFmEglrQmFsYW5jZUEaDgoBZxIJa0JhbGFuY2VCGhIKAWgSDWtTaGFyZUFzc2V0SWQaFgoBaRIRa1NoYXJlQXNzZXRTdXBwbHkaCQoBahIEa0ZlZRoPCgFrEgprSW52YXJpYW50GgsKAWwSBmtDYXVzZRoRCgFtEgxrVVNETkFkZHJlc3MaEQoBbhIMa0VVUk5BZGRyZXNzGg8KAW8SCmtEaXNj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", "height": 2078639, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CGDGjCZRTBGECNyweEmcPH3jiHCTaovEUcKjNaJhD4Po Next: 6KC4SoaVhtXtoMyjezydzWkdQQh6T6fsVYY6GCfteiPB Diff:
OldNewDifferences
377377 if (if ((bD >= parseIntValue(bE[0])))
378378 then (parseIntValue(bE[1]) > bD)
379379 else false)
380- then (100 - parseIntValue(bF[0]))
380+ then (ac - parseIntValue(bF[0]))
381381 else if (if ((bD >= parseIntValue(bE[1])))
382382 then (parseIntValue(bE[2]) > bD)
383383 else false)
384- then (100 - parseIntValue(bF[1]))
384+ then (ac - parseIntValue(bF[1]))
385385 else if (if ((bD >= parseIntValue(bE[2])))
386386 then (parseIntValue(bE[3]) > bD)
387387 else false)
388- then (100 - parseIntValue(bF[2]))
388+ then (ac - parseIntValue(bF[2]))
389389 else if (if ((bD >= parseIntValue(bE[3])))
390390 then (parseIntValue(bE[4]) > bD)
391391 else false)
392- then (100 - parseIntValue(bF[3]))
392+ then (ac - parseIntValue(bF[3]))
393393 else if ((bD >= parseIntValue(bE[4])))
394- then (100 - parseIntValue(bF[4]))
395- else 100
394+ then (ac - parseIntValue(bF[4]))
395+ else ac
396396 }
397397
398398
649649 else P
650650 let bw = aH(cX, cY, cq, cr)
651651 let db = bB(au.originCaller)
652- let dc = fraction(bw, fraction(ab, db, 100, CEILING), ac)
653- let dd = fraction(bw, (ac - fraction(aa, db, 100, CEILING)), ac)
652+ let dc = fraction(bw, fraction(ab, db, ac, CEILING), ac)
653+ let dd = fraction(bw, (ac - fraction(aa, db, ac, CEILING)), ac)
654654 let de = if ((cr == P))
655655 then $Tuple2((V + cq), ((W - dd) - dc))
656656 else $Tuple2(((V - dd) - dc), (W + cq))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "2.0.0"
55
66 let b = "version"
77
88 let c = "active"
99
1010 let d = "A_asset_id"
1111
1212 let e = "B_asset_id"
1313
1414 let f = "A_asset_balance"
1515
1616 let g = "B_asset_balance"
1717
1818 let h = "share_asset_id"
1919
2020 let i = "share_asset_supply"
2121
2222 let j = "commission"
2323
2424 let k = "invariant"
2525
2626 let l = "shutdown_cause"
2727
2828 let m = "staking_usdnnsbt_address"
2929
3030 let n = "staking_eurn_address"
3131
3232 let o = "discounts"
3333
3434 let p = "discount_values"
3535
3636 let q = "_SWOP_amount"
3737
3838 let r = "admin_pub_1"
3939
4040 let s = "admin_pub_2"
4141
4242 let t = "admin_pub_3"
4343
4444 let u = "admin_invoke_pub"
4545
4646 let v = "money_box_address"
4747
4848 let w = "governance_address"
4949
5050 let x = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
5151
5252 func y (z) = {
5353 let A = getString(x, z)
5454 if ($isInstanceOf(A, "String"))
5555 then {
5656 let B = A
5757 fromBase58String(B)
5858 }
5959 else {
6060 let C = A
6161 throw((z + "is empty"))
6262 }
6363 }
6464
6565
6666 let D = y(r)
6767
6868 let E = y(s)
6969
7070 let F = y(t)
7171
7272 let G = y(u)
7373
7474 let H = Address(y(v))
7575
7676 let I = Address(y(w))
7777
7878 let J = Address(y(m))
7979
8080 let K = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
8181
8282 let L = [toBase58String(K)]
8383
8484 let M = getBooleanValue(this, c)
8585
8686 let N = getStringValue(this, d)
8787
8888 let O = getStringValue(this, e)
8989
9090 let P = if ((N == "WAVES"))
9191 then unit
9292 else fromBase58String(N)
9393
9494 let Q = if ((O == "WAVES"))
9595 then unit
9696 else fromBase58String(O)
9797
9898 let R = {
9999 let A = P
100100 if ($isInstanceOf(A, "ByteVector"))
101101 then {
102102 let S = A
103103 value(assetInfo(S)).name
104104 }
105105 else if ($isInstanceOf(A, "Unit"))
106106 then {
107107 let T = A
108108 "WAVES"
109109 }
110110 else throw("Match error")
111111 }
112112
113113 let U = {
114114 let A = Q
115115 if ($isInstanceOf(A, "ByteVector"))
116116 then {
117117 let S = A
118118 value(assetInfo(S)).name
119119 }
120120 else if ($isInstanceOf(A, "Unit"))
121121 then {
122122 let T = A
123123 "WAVES"
124124 }
125125 else throw("Match error")
126126 }
127127
128128 let V = getIntegerValue(this, f)
129129
130130 let W = getIntegerValue(this, g)
131131
132132 let X = fromBase58String(getStringValue(this, h))
133133
134134 let Y = getIntegerValue(this, i)
135135
136136 let Z = getIntegerValue(this, k)
137137
138138 let aa = getIntegerValue(this, j)
139139
140140 let ab = fraction(aa, 40, 100)
141141
142142 let ac = 1000000
143143
144144 let ad = 1000
145145
146146 let ae = 100000000
147147
148148 let af = 10000000000000000
149149
150150 let ag = 1000
151151
152152 let ah = 8
153153
154154 let ai = 50
155155
156156 let aj = 100
157157
158158 let ak = 90000000
159159
160160 let al = 110000000
161161
162162 let am = 50
163163
164164 let an = 2
165165
166166 let ao = 4600000000000000
167167
168168 func ap (aq) = {
169169 let A = aq
170170 if ($isInstanceOf(A, "ByteVector"))
171171 then {
172172 let S = A
173173 assetBalance(this, S)
174174 }
175175 else if ($isInstanceOf(A, "Unit"))
176176 then {
177177 let T = A
178178 wavesBalance(this).available
179179 }
180180 else throw("Match error")
181181 }
182182
183183
184184 func ar (aq) = {
185185 let as = {
186186 let A = aq
187187 if ($isInstanceOf(A, "ByteVector"))
188188 then {
189189 let at = A
190190 if ((at == K))
191191 then getInteger(J, ((("rpd_balance_" + toBase58String(at)) + "_") + toString(this)))
192192 else 0
193193 }
194194 else if ($isInstanceOf(A, "Unit"))
195195 then 0
196196 else throw("Match error")
197197 }
198198 let A = as
199199 if ($isInstanceOf(A, "Int"))
200200 then {
201201 let au = A
202202 au
203203 }
204204 else 0
205205 }
206206
207207
208208 let av = ar(P)
209209
210210 let aw = ar(Q)
211211
212212 let ax = (V - av)
213213
214214 let ay = (W - aw)
215215
216216 let az = (ap(P) + av)
217217
218218 let aA = (ap(Q) + aw)
219219
220220 let aB = if ((az >= V))
221221 then (aA >= W)
222222 else false
223223
224224 func aC (aD,aE) = ((fraction(af, aD, aE) + fraction(af, aE, aD)) / 2)
225225
226226
227227 func aF (aD,aE) = {
228228 let aG = aC(aD, aE)
229229 (fraction((aD + aE), af, pow(aG, ah, am, an, ah, CEILING)) + (2 * fraction(toInt(pow(fraction(toBigInt(aD), toBigInt(aE), toBigInt(ae)), 0, toBigInt(5), 1, (ah / 2), DOWN)), pow((aG - ao), ah, am, an, ah, DOWN), ae)))
230230 }
231231
232232
233233 func aH (aI,aJ,aK,aL) = {
234234 let aM = (af - ((af * 1) / 10000000))
235235 let aN = (aI - aJ)
236236 let aD = (V + aK)
237237 let aE = (W + aK)
238238 func aO (aP,aQ) = if ((aP._1 == -1))
239239 then {
240240 let aR = (aI - (((aQ * aN) / 3) / ad))
241241 let aS = if ((aL == P))
242242 then aF(aD, (W - aR))
243243 else aF((V - aR), aE)
244244 if ((aS > Z))
245245 then $Tuple2(aR, aS)
246246 else $Tuple2(-1, 0)
247247 }
248248 else aP
249249
250250 let aT = aO($Tuple2(-1, 0), 3000)
251251 if ((0 > aT._1))
252252 then throw("Price is worse than minReceived")
253253 else {
254254 let aU = if ((aL == P))
255255 then aF(aD, (W - aI))
256256 else if ((aL == Q))
257257 then aF((V - aI), aE)
258258 else throw("Wrong asset in payment")
259259 if ((Z > aU))
260260 then if ((aM >= fraction(af, Z, aU)))
261261 then throw("The requested price is too not profitable for user")
262262 else {
263263 let aV = {
264264 let aW = [25, 200, 500]
265265 let aX = size(aW)
266266 let aY = $Tuple2(-1, 0)
267267 func aZ (ba,bb) = if ((bb >= aX))
268268 then ba
269269 else aO(ba, aW[bb])
270270
271271 func bc (ba,bb) = if ((bb >= aX))
272272 then ba
273273 else throw("List size exceeds 3")
274274
275275 bc(aZ(aZ(aZ(aY, 0), 1), 2), 3)
276276 }
277277 if ((0 > aV._1))
278278 then aT._1
279279 else aV._1
280280 }
281281 else {
282282 let aV = {
283283 let aW = [-500, -200, -25]
284284 let aX = size(aW)
285285 let aY = $Tuple2(-1, 0)
286286 func aZ (ba,bb) = if ((bb >= aX))
287287 then ba
288288 else aO(ba, aW[bb])
289289
290290 func bc (ba,bb) = if ((bb >= aX))
291291 then ba
292292 else throw("List size exceeds 3")
293293
294294 bc(aZ(aZ(aZ(aY, 0), 1), 2), 3)
295295 }
296296 let bd = if ((0 > aV._1))
297297 then $Tuple2(aI, aU)
298298 else aV
299299 if ((aM >= fraction(af, Z, bd._2)))
300300 then throw("The requested price is too not profitable for user")
301301 else bd._1
302302 }
303303 }
304304 }
305305
306306
307307 func be (aq) = {
308308 let A = aq
309309 if ($isInstanceOf(A, "ByteVector"))
310310 then {
311311 let S = A
312312 let bf = toBase58String(S)
313313 let bg = valueOrErrorMessage(assetInfo(S), (("Asset " + bf) + " doesn't exist"))
314314 $Tuple3(bf, bg.name, bg.decimals)
315315 }
316316 else if ($isInstanceOf(A, "Unit"))
317317 then {
318318 let T = A
319319 $Tuple3("WAVES", "WAVES", 8)
320320 }
321321 else throw("Match error")
322322 }
323323
324324
325325 func bh (bi) = [BooleanEntry(c, false), StringEntry(l, bi)]
326326
327327
328328 func bj () = throw("DApp is already active")
329329
330330
331331 func bk () = if (M)
332332 then unit
333333 else throw("DApp is inactive at this moment")
334334
335335
336336 func bl (au) = if (containsElement([D, E, F], au.callerPublicKey))
337337 then unit
338338 else throw("Only admin can call this function")
339339
340340
341341 func bm () = throw(((("Incorrect assets attached. Expected: " + N) + " and ") + O))
342342
343343
344344 func bn () = throw("One attached payment expected")
345345
346346
347347 func bo (bp,bq,br) = throw(((((((((("New balance in assets of the DApp is less than threshold " + toString(bp)) + ": ") + toString(bq)) + " ") + R) + ", ") + toString(br)) + " ") + U))
348348
349349
350350 func bs () = bh(((((((((((((((("Suspicious state. Actual balances: " + toString(V)) + " ") + R) + ", ") + toString(W)) + " ") + U) + ". State: ") + toString(ap(P))) + " ") + R) + ", ") + toString(ap(Q))) + " ") + U))
351351
352352
353353 func bt (bu,aq) = if (bu)
354354 then $Tuple2("lockNeutrino", J)
355355 else $Tuple2("unlockNeutrino", J)
356356
357357
358358 func bv (bu,bw,aq) = if (bu)
359359 then {
360360 let bx = bt(bu, aq)
361361 let by = bx._1
362362 let bz = bx._2
363363 $Tuple4(by, bz, nil, [AttachedPayment(aq, bw)])
364364 }
365365 else {
366366 let bA = bt(bu, aq)
367367 let by = bA._1
368368 let bz = bA._2
369369 $Tuple4(by, bz, [bw, toBase58String(aq)], nil)
370370 }
371371
372372
373373 func bB (bC) = {
374374 let bD = valueOrElse(getInteger(I, (toString(bC) + q)), 0)
375375 let bE = split(getStringValue(x, p), ",")
376376 let bF = split(getStringValue(x, o), ",")
377377 if (if ((bD >= parseIntValue(bE[0])))
378378 then (parseIntValue(bE[1]) > bD)
379379 else false)
380- then (100 - parseIntValue(bF[0]))
380+ then (ac - parseIntValue(bF[0]))
381381 else if (if ((bD >= parseIntValue(bE[1])))
382382 then (parseIntValue(bE[2]) > bD)
383383 else false)
384- then (100 - parseIntValue(bF[1]))
384+ then (ac - parseIntValue(bF[1]))
385385 else if (if ((bD >= parseIntValue(bE[2])))
386386 then (parseIntValue(bE[3]) > bD)
387387 else false)
388- then (100 - parseIntValue(bF[2]))
388+ then (ac - parseIntValue(bF[2]))
389389 else if (if ((bD >= parseIntValue(bE[3])))
390390 then (parseIntValue(bE[4]) > bD)
391391 else false)
392- then (100 - parseIntValue(bF[3]))
392+ then (ac - parseIntValue(bF[3]))
393393 else if ((bD >= parseIntValue(bE[4])))
394- then (100 - parseIntValue(bF[4]))
395- else 100
394+ then (ac - parseIntValue(bF[4]))
395+ else ac
396396 }
397397
398398
399399 @Callable(au)
400400 func init () = {
401401 let bG = $Tuple2(au.payments[0].amount, au.payments[0].assetId)
402402 let bH = bG._1
403403 let bI = bG._2
404404 let bJ = $Tuple2(au.payments[1].amount, au.payments[1].assetId)
405405 let bK = bJ._1
406406 let bL = bJ._2
407407 let bM = be(bI)
408408 let bN = bM._1
409409 let bO = bM._2
410410 let bP = bM._3
411411 let bQ = be(bL)
412412 let bR = bQ._1
413413 let bS = bQ._2
414414 let bT = bQ._3
415415 if (isDefined(getBoolean(this, c)))
416416 then bj()
417417 else if ((bI == bL))
418418 then throw("Assets must be different")
419419 else {
420420 let bU = ((("s" + take(bO, 7)) + "_") + take(bS, 7))
421421 let bV = ((((("ShareToken of SwopFi protocol for " + bO) + " and ") + bS) + " at address ") + toString(this))
422422 let bW = ((bP + bT) / 2)
423423 let bX = fraction(pow(bH, bP, 5, 1, bP, DOWN), pow(bK, bT, 5, 1, bT, DOWN), pow(10, 0, bW, 0, 0, DOWN))
424424 let bY = Issue(bU, bV, bX, bW, true)
425425 let bZ = calculateAssetId(bY)
426426 let ca = aF(bH, bK)
427427 let cb = if (containsElement(L, bN))
428428 then invoke(this, "stakeUnstake", [true, bH, bN], nil)
429429 else 0
430430 if ((cb == cb))
431431 then {
432432 let cc = if (containsElement(L, bR))
433433 then invoke(this, "stakeUnstake", [true, bK, bR], nil)
434434 else 0
435435 if ((cc == cc))
436436 then [StringEntry(b, a), BooleanEntry(c, true), StringEntry(d, bN), StringEntry(e, bR), IntegerEntry(f, bH), IntegerEntry(g, bK), IntegerEntry(k, ca), IntegerEntry(j, getIntegerValue(x, "base_fee_flat")), bY, StringEntry(h, toBase58String(bZ)), IntegerEntry(i, bX), ScriptTransfer(au.caller, bX, bZ)]
437437 else throw("Strict value is not equal to itself.")
438438 }
439439 else throw("Strict value is not equal to itself.")
440440 }
441441 }
442442
443443
444444
445445 @Callable(au)
446446 func replenishWithTwoTokens () = valueOrElse(bk(), {
447447 let bI = au.payments[0].assetId
448448 let bL = au.payments[1].assetId
449449 let cd = fraction(ae, au.payments[0].amount, V)
450450 let ce = fraction(ae, au.payments[1].amount, W)
451451 let cf = be(bI)
452452 let bN = cf._1
453453 let bO = cf._2
454454 let bP = cf._3
455455 let cg = be(bL)
456456 let bR = cg._1
457457 let bS = cg._2
458458 let bT = cg._3
459459 let ch = if ((ce > cd))
460460 then {
461461 let ci = fraction(W, cd, ae, CEILING)
462462 $Tuple5(au.payments[0].amount, ci, (au.payments[1].amount - ci), bL, cd)
463463 }
464464 else {
465465 let ci = fraction(V, ce, ae, CEILING)
466466 $Tuple5(ci, au.payments[1].amount, (au.payments[0].amount - ci), bI, ce)
467467 }
468468 let bH = ch._1
469469 let bK = ch._2
470470 let cj = ch._3
471471 let ck = ch._4
472472 let cl = ch._5
473473 let cm = fraction(cl, Y, ae)
474474 if ((size(au.payments) != 2))
475475 then throw("Two attached assets expected")
476476 else if (if ((bI != P))
477477 then true
478478 else (bL != Q))
479479 then bm()
480480 else if ((cm == 0))
481481 then throw("Too small amount to replenish")
482482 else if ((0 > cj))
483483 then throw("Change < 0")
484484 else if (!(aB))
485485 then ([ScriptTransfer(au.caller, bH, bI), ScriptTransfer(au.caller, bK, bL)] ++ bs())
486486 else {
487487 let cb = if (containsElement(L, bN))
488488 then invoke(this, "stakeUnstake", [true, bH, bN], nil)
489489 else 0
490490 if ((cb == cb))
491491 then {
492492 let cc = if (containsElement(L, bR))
493493 then invoke(this, "stakeUnstake", [true, bK, bR], nil)
494494 else 0
495495 if ((cc == cc))
496496 then [IntegerEntry(f, (V + bH)), IntegerEntry(g, (W + bK)), IntegerEntry(i, (Y + cm)), IntegerEntry(k, aF((V + bH), (W + bK))), Reissue(X, cm, true), ScriptTransfer(au.caller, cm, X), ScriptTransfer(au.caller, cj, ck)]
497497 else throw("Strict value is not equal to itself.")
498498 }
499499 else throw("Strict value is not equal to itself.")
500500 }
501501 })
502502
503503
504504
505505 @Callable(au)
506506 func replenishWithOneToken (cn,co) = valueOrElse(bk(), {
507507 let cp = $Tuple2(au.payments[0].amount, au.payments[0].assetId)
508508 let cq = cp._1
509509 let cr = cp._2
510510 let cs = be(cr)
511511 let ct = cs._1
512512 let cu = cs._2
513513 let cv = cs._3
514514 let cw = 5000000
515515 let cx = 50000000
516516 let cy = if ((cx > cq))
517517 then 100000
518518 else 1
519519 let cz = (ae - ((ae * cy) / 10000000))
520520 let cA = (ae + ((ae * cy) / 10000000))
521521 let cB = (ae - ((ae * 1) / 10000000))
522522 if ((cw > cq))
523523 then throw((((("Payment amount " + toString(cq)) + " does not exceed the minimum amount of ") + toString(cw)) + " tokens"))
524524 else if ((size(au.payments) != 1))
525525 then bn()
526526 else if (!(aB))
527527 then ([ScriptTransfer(au.caller, cq, cr)] ++ bs())
528528 else if (if ((cr != P))
529529 then (cr != Q)
530530 else false)
531531 then bm()
532532 else {
533533 let cC = if ((cr == P))
534534 then $Tuple6((cq - cn), co, (V + cn), (W - co), (V + cq), W)
535535 else $Tuple6(co, (cq - cn), (V - co), (W + cn), V, (W + cq))
536536 let cD = cC._1
537537 let cE = cC._2
538538 let cF = cC._3
539539 let cG = cC._4
540540 let cH = cC._5
541541 let cI = cC._6
542542 let cJ = aF(cF, cG)
543543 let cK = (fraction(af, cF, cG) / fraction(ae, cD, cE))
544544 let cL = fraction((cH + cI), ai, (2 * aj))
545545 if (if ((cB >= fraction(ae, Z, cJ)))
546546 then true
547547 else (Z > cJ))
548548 then throw("Incorrect virtualSwapTokenPay or virtualSwapTokenGet value")
549549 else if (if ((cz > cK))
550550 then true
551551 else (cK > cA))
552552 then throw("Swap with virtualSwapTokenPay and virtualSwapTokenGet is possible, but ratio after virtual swap is incorrect")
553553 else if (if ((cL > cH))
554554 then true
555555 else (cL > cI))
556556 then bo(cL, cH, cI)
557557 else {
558558 let cd = fraction(cD, ae, cF)
559559 let ce = fraction(cE, ae, cG)
560560 let cm = fraction(min([cd, ce]), Y, ae)
561561 let cM = fraction(cm, (ac - (aa / 2)), ac)
562562 let cN = fraction(cm, (ab / 2), ac)
563563 let cO = fraction(cN, V, Y)
564564 let cP = fraction(cN, W, Y)
565565 let cQ = if ((ct == N))
566566 then $Tuple3((cq - cO), cP, O)
567567 else $Tuple3((cq - cP), cO, N)
568568 let cR = cQ._1
569569 let cS = cQ._2
570570 let cT = cQ._3
571571 let cb = if (containsElement(L, ct))
572572 then invoke(this, "stakeUnstake", [true, cR, ct], nil)
573573 else 0
574574 if ((cb == cb))
575575 then {
576576 let cc = if (containsElement(L, cT))
577577 then invoke(this, "stakeUnstake", [false, cS, cT], nil)
578578 else 0
579579 if ((cc == cc))
580580 then [Reissue(X, cM, true), ScriptTransfer(au.caller, cM, X), ScriptTransfer(H, cO, P), ScriptTransfer(H, cP, Q), IntegerEntry(f, (cH - cO)), IntegerEntry(g, (cI - cP)), IntegerEntry(i, (Y + cM)), IntegerEntry(k, aF((cH - cO), (cI - cP)))]
581581 else throw("Strict value is not equal to itself.")
582582 }
583583 else throw("Strict value is not equal to itself.")
584584 }
585585 }
586586 })
587587
588588
589589
590590 @Callable(au)
591591 func withdraw () = valueOrElse(bk(), {
592592 let cU = $Tuple2(au.payments[0].amount, au.payments[0].assetId)
593593 let cq = cU._1
594594 let cr = cU._2
595595 let cV = fraction(cq, V, Y)
596596 let cW = fraction(cq, W, Y)
597597 let ca = aF((V - cV), (W - cW))
598598 if ((size(au.payments) != 1))
599599 then bn()
600600 else if ((cr != X))
601601 then throw(("Incorrect asset attached. Expected: " + toBase58String(X)))
602602 else if (!(aB))
603603 then ([ScriptTransfer(au.caller, cq, cr)] ++ bs())
604604 else {
605605 let cb = if (containsElement(L, N))
606606 then invoke(this, "stakeUnstake", [false, cV, N], nil)
607607 else 0
608608 if ((cb == cb))
609609 then {
610610 let cc = if (containsElement(L, O))
611611 then invoke(this, "stakeUnstake", [false, cW, O], nil)
612612 else 0
613613 if ((cc == cc))
614614 then [IntegerEntry(f, (V - cV)), IntegerEntry(g, (W - cW)), IntegerEntry(i, (Y - cq)), IntegerEntry(k, ca), Burn(X, cq), ScriptTransfer(au.caller, cV, P), ScriptTransfer(au.caller, cW, Q)]
615615 else throw("Strict value is not equal to itself.")
616616 }
617617 else throw("Strict value is not equal to itself.")
618618 }
619619 })
620620
621621
622622
623623 @Callable(au)
624624 func exchange (cX,cY) = valueOrElse(bk(), {
625625 let cZ = $Tuple2(au.payments[0].amount, au.payments[0].assetId)
626626 let cq = cZ._1
627627 let cr = cZ._2
628628 if ((0 >= cX))
629629 then throw(("Estimated amount must be positive. Actual: " + toString(cX)))
630630 else if ((cY > cX))
631631 then throw("Minimal amount can't be greater than estimated.")
632632 else if ((size(au.payments) != 1))
633633 then bn()
634634 else if (!(aB))
635635 then ([ScriptTransfer(au.caller, cq, cr)] ++ bs())
636636 else if (if ((cr != P))
637637 then (cr != Q)
638638 else false)
639639 then bm()
640640 else if ((10000000 > cq))
641641 then throw("Only swap of 10.000000 or more tokens is allowed")
642642 else if (if ((ak > fraction(ae, cY, cq)))
643643 then true
644644 else (fraction(ae, cX, cq) > al))
645645 then throw("Incorrect args and pmt ratio")
646646 else {
647647 let da = if ((cr == P))
648648 then Q
649649 else P
650650 let bw = aH(cX, cY, cq, cr)
651651 let db = bB(au.originCaller)
652- let dc = fraction(bw, fraction(ab, db, 100, CEILING), ac)
653- let dd = fraction(bw, (ac - fraction(aa, db, 100, CEILING)), ac)
652+ let dc = fraction(bw, fraction(ab, db, ac, CEILING), ac)
653+ let dd = fraction(bw, (ac - fraction(aa, db, ac, CEILING)), ac)
654654 let de = if ((cr == P))
655655 then $Tuple2((V + cq), ((W - dd) - dc))
656656 else $Tuple2(((V - dd) - dc), (W + cq))
657657 let cH = de._1
658658 let cI = de._2
659659 let cL = fraction((cH + cI), ai, (2 * aj))
660660 if (if ((cL > cH))
661661 then true
662662 else (cL > cI))
663663 then bo(cL, cH, cI)
664664 else {
665665 let df = be(cr)
666666 let ct = df._1
667667 let cu = df._2
668668 let cv = df._3
669669 let dg = be(da)
670670 let dh = dg._1
671671 let di = dg._2
672672 let dj = dg._3
673673 let cb = if (containsElement(L, ct))
674674 then invoke(this, "stakeUnstake", [true, cq, ct], nil)
675675 else 0
676676 if ((cb == cb))
677677 then {
678678 let cc = if (containsElement(L, dh))
679679 then invoke(this, "stakeUnstake", [false, (dd + dc), dh], nil)
680680 else 0
681681 if ((cc == cc))
682682 then $Tuple2([IntegerEntry(f, cH), IntegerEntry(g, cI), IntegerEntry(k, aF(cH, cI)), ScriptTransfer(au.caller, dd, da), ScriptTransfer(H, dc, da)], $Tuple2(dd, da))
683683 else throw("Strict value is not equal to itself.")
684684 }
685685 else throw("Strict value is not equal to itself.")
686686 }
687687 }
688688 })
689689
690690
691691
692692 @Callable(au)
693693 func shutdown () = valueOrElse(bl(au), if (!(M))
694694 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, l), "the cause wasn't specified")))
695695 else bh("Paused by admin"))
696696
697697
698698
699699 @Callable(au)
700700 func activate () = valueOrElse(bl(au), if (M)
701701 then bj()
702702 else [BooleanEntry(c, true), DeleteEntry(l)])
703703
704704
705705
706706 @Callable(au)
707707 func takeIntoAccountExtraFunds () = valueOrElse(bk(), {
708708 let dk = (az - V)
709709 let dl = (aA - W)
710710 let cJ = aF((V + dk), (W + dl))
711711 if ((au.caller != H))
712712 then throw("Only the money box can call this function")
713713 else if (if ((0 > dk))
714714 then true
715715 else (0 > dl))
716716 then bh("Enroll amount negative")
717717 else if (if ((dk == 0))
718718 then (dl == 0)
719719 else false)
720720 then throw("No money to take")
721721 else {
722722 let cb = if (if (containsElement(L, N))
723723 then (dk > 0)
724724 else false)
725725 then invoke(this, "stakeUnstake", [true, dk, N], nil)
726726 else 0
727727 if ((cb == cb))
728728 then {
729729 let cc = if (if (containsElement(L, O))
730730 then (dl > 0)
731731 else false)
732732 then invoke(this, "stakeUnstake", [true, dl, O], nil)
733733 else 0
734734 if ((cc == cc))
735735 then [IntegerEntry(k, cJ), IntegerEntry(f, (V + dk)), IntegerEntry(g, (W + dl))]
736736 else throw("Strict value is not equal to itself.")
737737 }
738738 else throw("Strict value is not equal to itself.")
739739 }
740740 })
741741
742742
743743
744744 @Callable(au)
745745 func stakeUnstake (bu,bw,dm) = if ((au.caller != this))
746746 then throw("Only contract itself can invoke this function")
747747 else {
748748 let dn = bv(bu, bw, fromBase58String(dm))
749749 let by = dn._1
750750 let do = dn._2
751751 let dp = dn._3
752752 let dq = dn._4
753753 let dr = invoke(do, by, dp, dq)
754754 if ((dr == dr))
755755 then nil
756756 else throw("Strict value is not equal to itself.")
757757 }
758758
759759
760760
761761 @Callable(au)
762762 func toBigIntInvariant () = valueOrElse(bl(au), [IntegerEntry(k, aF(V, W))])
763763
764764
765765 @Verifier(ds)
766766 func dt () = {
767767 let du = {
768768 let dv = if (sigVerify(ds.bodyBytes, ds.proofs[0], D))
769769 then 1
770770 else 0
771771 let dw = if (sigVerify(ds.bodyBytes, ds.proofs[1], E))
772772 then 1
773773 else 0
774774 let dx = if (sigVerify(ds.bodyBytes, ds.proofs[2], F))
775775 then 1
776776 else 0
777777 (((dv + dw) + dx) >= 2)
778778 }
779779 let A = ds
780780 if ($isInstanceOf(A, "InvokeScriptTransaction"))
781781 then {
782782 let dr = A
783783 let dy = if ((dr.dApp == this))
784784 then (dr.function == "takeIntoAccountExtraFunds")
785785 else false
786786 let dz = if (if (if (sigVerify(ds.bodyBytes, ds.proofs[0], D))
787787 then true
788788 else sigVerify(ds.bodyBytes, ds.proofs[0], E))
789789 then true
790790 else sigVerify(ds.bodyBytes, ds.proofs[0], F))
791791 then true
792792 else sigVerify(ds.bodyBytes, ds.proofs[0], G)
793793 if (if (dy)
794794 then dz
795795 else false)
796796 then true
797797 else du
798798 }
799799 else du
800800 }
801801

github/deemru/w8io/169f3d6 
82.83 ms