tx · FaRA8aykCEdvXnmPqE8V8YCGBS1bWsViXU9YMGAURbji

3N8rwRVNrxgqwFiVCNyX2Zyy6Lzgd1fDctN:  -0.01400000 Waves

2021.12.29 19:00 [1855721] smart account 3N8rwRVNrxgqwFiVCNyX2Zyy6Lzgd1fDctN > SELF 0.00000000 Waves

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

github/deemru/w8io/026f985 
79.57 ms