tx · EGa8JdkWYvE62L4BYq3meGMmN73iCfvyvXuxmjPVuYMy

3NAQoM4AUNeqgrhrh2RmVACXAF18Lw3Wysc:  -0.01000000 Waves

2021.09.16 14:44 [1705561] smart account 3NAQoM4AUNeqgrhrh2RmVACXAF18Lw3Wysc > SELF 0.00000000 Waves

{ "type": 13, "id": "EGa8JdkWYvE62L4BYq3meGMmN73iCfvyvXuxmjPVuYMy", "fee": 1000000, "feeAssetId": null, "timestamp": 1631792708160, "version": 2, "chainId": 84, "sender": "3NAQoM4AUNeqgrhrh2RmVACXAF18Lw3Wysc", "senderPublicKey": "GGrLCcVj972oWWPRkrKkKpet3g8W1RgGsxTppzdXqj4K", "proofs": [ "5oV6o1hhUBH6rS8h4VS9h3bxXJ5dJvjGAXkWiwneckDqRxLpQGDqwyHupWYbtBvEoJ5fnRKTXN8JUjKf6Tp77aUS" ], "script": "base64:AAIFAAAAAAAAEBwIAhIDCgEIEgMKAQESAwoBARIAEgMKAQESABIAEgMKAQESABoNCgJhMRIHdmVyc2lvbhoQCgJhMhIKa2V5VmVyc2lvbhoPCgJhMxIJa2V5QWN0aXZlGhEKAmE0EgtrZXlBc3NldElkQRoRCgJhNRILa2V5QXNzZXRJZEIaEQoCYTYSC2tleUJhbGFuY2VBGhEKAmE3EgtrZXlCYWxhbmNlQhoVCgJhOBIPa2V5QmFsYW5jZUluaXRBGhUKAmE5Eg9rZXlCYWxhbmNlSW5pdEIaFQoCYjESD2tleVNoYXJlQXNzZXRJZBoZCgJiMhITa2V5U2hhcmVBc3NldFN1cHBseRoTCgJiMxINa2V5Q29tbWlzc2lvbhohCgJiNBIba2V5Q29tbWlzc2lvblNjYWxlRGVsaW1pdGVyGg4KAmI1EghrZXlDYXVzZRoVCgJiNhIPa2V5Rmlyc3RIYXJ2ZXN0GhsKAmI3EhVrZXlGaXJzdEhhcnZlc3RIZWlnaHQaEwoCYjgSDWtleVNoYXJlTGltaXQaEwoCYjkSDWtleUJhc2VQZXJpb2QaFQoCYzESD2tleVBlcmlvZExlbmd0aBoUCgJjMhIOa2V5U3RhcnRIZWlnaHQaHAoCYzMSFmtleU9yYWNsZUFzc2V0UHJpb3JpdHkaGQoCYzQSE2tleU9yYWNsZVNjcmlwdEhhc2gaFwoCYzUSEWtleUluaXRQb29sSGVpZ2h0GhUKAmM2Eg9rZXlBZG1pblB1YktleTEaFQoCYzcSD2tleUFkbWluUHViS2V5MhoVCgJjOBIPa2V5QWRtaW5QdWJLZXkzGgwKAmM5EgZvcmFjbGUaEQoCZDESC2dldEFkbWluUHViGhEKAmQyEgtrZXlBZG1pblB1YhoNCgJkMxIHJG1hdGNoMBoMCgJkNBIGc3RyaW5nGg0KAmQ1Egdub3RoaW5nGhIKAmQ2EgxhZG1pblB1YktleTEaEgoCZDcSDGFkbWluUHViS2V5MhoSCgJkOBIMYWRtaW5QdWJLZXkzGhoKAmQ5EhRhZG1pblB1YktleVN0YXJ0U3RvcBoYCgJlMRISYWRtaW5QdWJLZXlTdGFraW5nGhMKAmUyEg13YWxsZXRBZGRyZXNzGhMKAmUzEg12b3RpbmdBZGRyZXNzGgoKAmU0EgRVU0ROGgoKAmU1EgROU0JUGgoKAmU2EgRTV09QGgoKAmU3EgRFVVJOGhwKAmU4EhZzdGFraW5nVVNETk5TQlRBZGRyZXNzGhgKAmU5EhJzdGFraW5nRVVSTkFkZHJlc3MaGgoCZjESFFVTRE5Ub1dhdmVzRXhjaGFuZ2VyGhkKAmYyEhNVU0ROVG9OU0JURXhjaGFuZ2VyGhYKAmYzEhBzdGFraW5nRmVlSW5VU0ROGhYKAmY0EhBzdGFraW5nRmVlSW5FVVJOGhAKAmY1EgpiYXNlUGVyaW9kGhEKAmY2EgtzdGFydEhlaWdodBoSCgJmNxIMcGVyaW9kTGVuZ3RoGhsKAmY4EhVmaXJzdEhhcnZlc3RFbmRQZXJpb2QaDgoCZjkSCGlzQWN0aXZlGhEKAmcxEgtzdHJBc3NldElkQRoRCgJnMhILc3RyQXNzZXRJZEIaDgoCZzMSCGFzc2V0SWRBGg4KAmc0Eghhc3NldElkQhoQCgJnNRIKYXNzZXROYW1lQRoICgJnNhICaWQaCwoCZzcSBXdhdmVzGhAKAmc4Egphc3NldE5hbWVCGg4KAmc5EghiYWxhbmNlQRoOCgJoMRIIYmFsYW5jZUIaEgoCaDISDHNoYXJlQXNzZXRJZBoWCgJoMxIQc2hhcmVBc3NldFN1cHBseRoQCgJoNBIKY29tbWlzc2lvbhoaCgJoNRIUY29tbWlzc2lvbkdvdmVybmFuY2UaHgoCaDYSGGNvbW1pc3Npb25TY2FsZURlbGltaXRlchoRCgJoNxILc2NhbGVWYWx1ZTMaEQoCaDgSC3NjYWxlVmFsdWU4GiAKAmg5EhpzbGlwcGFnZVRvbGVyYW5jZURlbGltaXRlchoXCgJpMRIRc2NhbGVWYWx1ZThEaWdpdHMaHwoCaTISGWNvbWlzc2lvbkZvckluaXRhbGl6YXRpb24aFAoCaTMSDmFjY291bnRCYWxhbmNlGg0KAmk0Egdhc3NldElkGhIKAmk1EgxzdGFrZWRBbW91bnQaHAoCaTYSFnN0YWtlZEFtb3VudENhbGN1bGF0ZWQaCQoCaTcSA2FJZBoHCgJpOBIBaRoUCgJpORIOaXNBbGxvd2VkQXNzZXQaEwoCajESDXN0YWtlZEFtb3VudEEaEwoCajISDXN0YWtlZEFtb3VudEIaEAoCajMSCmFzc2V0SW5pdEEaEAoCajQSCmFzc2V0SW5pdEIaFwoCajUSEWF2YWlsYWJsZUJhbGFuY2VBGhcKAmo2EhFhdmFpbGFibGVCYWxhbmNlQhofCgJqNxIZYWNjb3VudEJhbGFuY2VXaXRoU3Rha2VkQRofCgJqOBIZYWNjb3VudEJhbGFuY2VXaXRoU3Rha2VkQhoWCgJqORIQaGFzRW5vdWdoQmFsYW5jZRoSCgJrMRIMZ2V0QXNzZXRJbmZvGg4KAmsyEghzdHJpbmdJZBoKCgJrMxIEaW5mbxocCgJrNBIWZ2V0QXNzZXRJbmZvRnJvbVN0cmluZxoOCgJrNRIIYXNzZXRTdHIaDQoCazYSB3N1c3BlbmQaCwoCazcSBWNhdXNlGhYKAms4EhBkZWR1Y3RTdGFraW5nRmVlGgwKAms5EgZhbW91bnQaEwoCbDESDXNlY29uZEFzc2V0SWQaDwoCbDISCXN0YWtpbkZlZRoMCgJsMxIGcmVzdWx0GhMKAmw0Eg1nZXRTdGFraW5nRmVlGicKAmw1EiF0aHJvd0luc3VmZmljaWVudEF2YWlsYWJsZUJhbGFuY2UaDwoCbDYSCWF2YWlsYWJsZRoPCgJsNxIJYXNzZXROYW1lGigKAmw4EiJ0aHJvd0luc3VmZmljaWVudEF2YWlsYWJsZUJhbGFuY2VzGg0KAmw5EgdhbW91bnRBGg0KAm0xEgdhbW91bnRCGhcKAm0yEhFzdXNwZW5kU3VzcGljaW91cxoUCgJtMxIOdXNlckFkZHJlc3NTdHIaEQoCbTQSCyR0MDgzNjA4NDM3GhAKAm01EgpwbXRBbW91bnQxGhEKAm02EgtwbXRBc3NldElkMRoRCgJtNxILJHQwODQ0Mjg1MTkaEAoCbTgSCnBtdEFtb3VudDIaEQoCbTkSC3BtdEFzc2V0SWQyGhEKAm4xEgskdDA4NTI0ODYwNxoTCgJuMhINcG10QW1vdW50U1dPUBoUCgJuMxIOcG10QXNzZXRJZFNXT1AaCwoCbjQSBWNoZWNrGhQKAm41Eg51c2VyU2NyaXB0SGFzaBoRCgJuNhILdXNlckFkZHJlc3MaFAoCbjcSDnBtdFN0ckFzc2V0SWQxGhQKAm44Eg5wbXRTdHJBc3NldElkMhoUCgJuORIOYXNzZXQxUHJpb3JpdHkaFAoCbzESDmFzc2V0MlByaW9yaXR5GhIKAm8yEgwkdDA5OTYzMTAxOTAaEAoCbzMSCnBtdEFtb3VudEEaEQoCbzQSC3BtdEFzc2V0SWRBGhAKAm81EgpwbXRBbW91bnRCGhEKAm82EgtwbXRBc3NldElkQhoTCgJvNxINJHQwMTAxOTkxMDI3NhoUCgJvOBIOcG10U3RyQXNzZXRJZEEaEwoCbzkSDXBtdEFzc2V0TmFtZUEaEgoCcDESDHBtdERlY2ltYWxzQRoTCgJwMhINJHQwMTAyODUxMDM2MhoUCgJwMxIOcG10U3RyQXNzZXRJZEIaEwoCcDQSDXBtdEFzc2V0TmFtZUIaEgoCcDUSDHBtdERlY2ltYWxzQhoPCgJwNhIJYWRkUGFyYW1zGg0KAnA3EgdhZGRQb29sGg8KAnA4EglzaGFyZU5hbWUaFgoCcDkSEHNoYXJlRGVzY3JpcHRpb24aEwoCcTESDXNoYXJlRGVjaW1hbHMaCgoCcTISBGFyZzEaCgoCcTMSBGFyZzIaCgoCcTQSBGFyZzMaGAoCcTUSEnNoYXJlSW5pdGlhbFN1cHBseRoQCgJxNhIKc2hhcmVJc3N1ZRoSCgJxNxIMc2hhcmVJc3N1ZUlkGg8KAnE4EgliYXNlRW50cnkaEAoCcTkSCnNoYXJlTGltaXQaFwoCcjESEXNsaXBwYWdlVG9sZXJhbmNlGhMKAnIyEg0kdDAxMzI4MjEzMzU5GhMKAnIzEg0kdDAxMzM2ODEzNDQ1GhAKAnI0Egp0b2tlblJhdGlvGhkKAnI1EhNyYXRpb1NoYXJlVG9rZW5zSW5BGhkKAnI2EhNyYXRpb1NoYXJlVG9rZW5zSW5CGhsKAnI3EhVzaGFyZVRva2VuVG9QYXlBbW91bnQaEwoCcjgSDSR0MDE3ODQ0MTc5OTQaDwoCcjkSCXBtdEFtb3VudBoQCgJzMRIKcG10QXNzZXRJZBoSCgJzMhIMYW1vdW50VG9QYXlBGhIKAnMzEgxhbW91bnRUb1BheUIaGAoCczQSEm1pbkFtb3VudFRvUmVjZWl2ZRoTCgJzNRINJHQwMTkyMjAxOTI5NRoTCgJzNhINY2FsY3VsYXRlRmVlcxoPCgJzNxIJdG9rZW5Gcm9tGg0KAnM4Egd0b2tlblRvGhYKAnM5EhBhbW91bnRXaXRob3V0RmVlGhMKAnQxEg1hbW91bnRXaXRoRmVlGhYKAnQyEhBnb3Zlcm5hbmNlUmV3YXJkGhEKAnQzEgthc3NldElkU2VuZBoTCgJ0NBINJHQwMjA1NjkyMDY2MBoRCgJ0NRILbmV3QmFsYW5jZUEaEQoCdDYSC25ld0JhbGFuY2VCGhMKAnQ3Eg0kdDAyMTQ3OTIxNTcwGhEKAnQ4EgthbW91bnRMZWF2ZRojCgJ0ORIddW5jb3VudGFibGVBbW91bnRFbnJvbGxBc3NldEEaIwoCdTESHXVuY291bnRhYmxlQW1vdW50RW5yb2xsQXNzZXRCGhMKAnUyEg1hbW91bnRFbnJvbGxBGhMKAnUzEg1hbW91bnRFbnJvbGxCGggKAnU0EgJ0eBoMCgJ1NRIGdmVyaWZ5GhkKAnU2EhNtdWx0aVNpZ25lZEJ5QWRtaW5zGhgKAnU3EhJhZG1pblB1YktleTFTaWduZWQaGAoCdTgSEmFkbWluUHViS2V5MlNpZ25lZBoYCgJ1ORISYWRtaW5QdWJLZXkzU2lnbmVkGgkKAnYxEgNpbnYaGQoCdjISE2NhbGxUYWtlSW50b0FjY291bnQaHAoCdjMSFmNhbGxFbmFibGVGaXJzdEhhcnZlc3QaEQoCdjQSC2NhbGxTdGFraW5nGhUKAnY1Eg9leGNoYW5nZVRvV2F2ZXMaFQoCdjYSD2V4Y2hhbmdlVG9OU0JUcxoTCgJ2NxINc2lnbmVkQnlBZG1pbgAAAFgAAAAAAmExAgAAAAUxLjAuMAAAAAACYTICAAAAB3ZlcnNpb24AAAAAAmEzAgAAAAZhY3RpdmUAAAAAAmE0AgAAAApBX2Fzc2V0X2lkAAAAAAJhNQIAAAAKQl9hc3NldF9pZAAAAAACYTYCAAAAD0FfYXNzZXRfYmFsYW5jZQAAAAACYTcCAAAAD0JfYXNzZXRfYmFsYW5jZQAAAAACYTgCAAAADEFfYXNzZXRfaW5pdAAAAAACYTkCAAAADEJfYXNzZXRfaW5pdAAAAAACYjECAAAADnNoYXJlX2Fzc2V0X2lkAAAAAAJiMgIAAAASc2hhcmVfYXNzZXRfc3VwcGx5AAAAAAJiMwIAAAAKY29tbWlzc2lvbgAAAAACYjQCAAAAGmNvbW1pc3Npb25fc2NhbGVfZGVsaW1pdGVyAAAAAAJiNQIAAAAOc2h1dGRvd25fY2F1c2UAAAAAAmI2AgAAAA1maXJzdF9o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", "height": 1705561, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 3PyELUHc6NJVeShYa92Ja6mg5CwmvweFoUX3TRrCLnyx Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "1.0.0"
5+
6+let b = "version"
7+
8+let c = "active"
9+
10+let d = "A_asset_id"
11+
12+let e = "B_asset_id"
13+
14+let f = "A_asset_balance"
15+
16+let g = "B_asset_balance"
17+
18+let h = "A_asset_init"
19+
20+let i = "B_asset_init"
21+
22+let j = "share_asset_id"
23+
24+let k = "share_asset_supply"
25+
26+let l = "commission"
27+
28+let m = "commission_scale_delimiter"
29+
30+let n = "shutdown_cause"
31+
32+let o = "first_harvest"
33+
34+let p = "first_harvest_height"
35+
36+let q = "share_limit_on_first_harvest"
37+
38+let r = "base_period"
39+
40+let s = "period_length"
41+
42+let t = "start_height"
43+
44+let u = "asset_priority_"
45+
46+let v = "script_hash_cpmm"
47+
48+let w = "init_pool_height"
49+
50+let x = "admin_pub_1"
51+
52+let y = "admin_pub_2"
53+
54+let z = "admin_pub_3"
55+
56+let A = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
57+
58+func B (C) = {
59+ let D = getString(A, C)
60+ if ($isInstanceOf(D, "String"))
61+ then {
62+ let E = D
63+ fromBase58String(E)
64+ }
65+ else {
66+ let F = D
67+ throw("Admin public key is empty")
68+ }
69+ }
70+
71+
72+let G = B(x)
73+
74+let H = B(y)
75+
76+let I = B(z)
77+
78+let J = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
79+
80+let K = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
81+
82+let L = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
83+
84+let M = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
85+
86+let N = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
87+
88+let O = base58'36mg8NZTaFRDygiVwb8uBnLR51hetJruUCZcxhaVcHj9'
89+
90+let P = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
91+
92+let Q = base58'ECBCkHS68DckpBrzLeoRgYbFg7sCVqR176mPqbXsj9pA'
93+
94+let R = Address(base58'3N6q7sCGSSLBUXDdjBdYGTJbZGZfhhh8cNg')
95+
96+let S = Address(base58'3MyVqAbmKWh339gF6hy8faWw1jGeTV2wnGE')
97+
98+let T = Address(base58'3N77kfPbQyjXWpDALX3xjKw3iEGMWEctV37')
99+
100+let U = Address(base58'3Mye9wVR7d2mc6Y5ZJTu11svzgUQ7o8H9dA')
101+
102+let V = 270000
103+
104+let W = 234000
105+
106+let X = valueOrErrorMessage(getInteger(M, r), "Empty keyBasePeriod")
107+
108+let Y = valueOrErrorMessage(getInteger(M, t), "Empty keyStartHeight")
109+
110+let Z = valueOrErrorMessage(getInteger(M, s), "Empty keyPeriodLength")
111+
112+let aa = ((X + ((height - Y) / Z)) + 1)
113+
114+let ab = getBooleanValue(this, c)
115+
116+let ac = getStringValue(this, d)
117+
118+let ad = getStringValue(this, e)
119+
120+let ae = if ((ac == "WAVES"))
121+ then unit
122+ else fromBase58String(ac)
123+
124+let af = if ((ad == "WAVES"))
125+ then unit
126+ else fromBase58String(ad)
127+
128+let ag = {
129+ let D = ae
130+ if ($isInstanceOf(D, "ByteVector"))
131+ then {
132+ let ah = D
133+ value(assetInfo(ah)).name
134+ }
135+ else if ($isInstanceOf(D, "Unit"))
136+ then {
137+ let ai = D
138+ "WAVES"
139+ }
140+ else throw("Match error")
141+ }
142+
143+let aj = {
144+ let D = af
145+ if ($isInstanceOf(D, "ByteVector"))
146+ then {
147+ let ah = D
148+ value(assetInfo(ah)).name
149+ }
150+ else if ($isInstanceOf(D, "Unit"))
151+ then {
152+ let ai = D
153+ "WAVES"
154+ }
155+ else throw("Match error")
156+ }
157+
158+let ak = getIntegerValue(this, f)
159+
160+let al = getIntegerValue(this, g)
161+
162+let am = fromBase58String(getStringValue(this, j))
163+
164+let an = getIntegerValue(this, k)
165+
166+let ao = 3000
167+
168+let ap = 1200
169+
170+let aq = 1000000
171+
172+let ar = 1000
173+
174+let as = 100000000
175+
176+let at = 1000
177+
178+let au = 8
179+
180+let av = 1000000000
181+
182+func aw (ax) = {
183+ let D = ax
184+ if ($isInstanceOf(D, "ByteVector"))
185+ then {
186+ let ah = D
187+ assetBalance(this, ah)
188+ }
189+ else if ($isInstanceOf(D, "Unit"))
190+ then {
191+ let ai = D
192+ wavesBalance(this).available
193+ }
194+ else throw("Match error")
195+ }
196+
197+
198+func ay (ax) = {
199+ let az = {
200+ let D = ax
201+ if ($isInstanceOf(D, "ByteVector"))
202+ then {
203+ let aA = D
204+ if (if ((aA == N))
205+ then true
206+ else (aA == O))
207+ then getInteger(R, ((("rpd_balance_" + toBase58String(aA)) + "_") + toString(this)))
208+ else if ((aA == Q))
209+ then getInteger(S, ((("%s%s%s__stakingBalance__" + toBase58String(aA)) + "__") + toString(this)))
210+ else 0
211+ }
212+ else if ($isInstanceOf(D, "Unit"))
213+ then 0
214+ else throw("Match error")
215+ }
216+ let D = az
217+ if ($isInstanceOf(D, "Int"))
218+ then {
219+ let aB = D
220+ aB
221+ }
222+ else 0
223+ }
224+
225+
226+func aC (ax) = {
227+ let D = ax
228+ if ($isInstanceOf(D, "ByteVector"))
229+ then {
230+ let ah = D
231+ if (if ((ah == N))
232+ then true
233+ else (ah == P))
234+ then true
235+ else false
236+ }
237+ else if ($isInstanceOf(D, "Unit"))
238+ then {
239+ let ai = D
240+ true
241+ }
242+ else throw("Match error")
243+ }
244+
245+
246+let aD = ay(ae)
247+
248+let aE = ay(af)
249+
250+let aF = getIntegerValue(this, h)
251+
252+let aG = getIntegerValue(this, i)
253+
254+let aH = (ak - aD)
255+
256+let aI = (al - aE)
257+
258+let aJ = (aw(ae) + aD)
259+
260+let aK = (aw(af) + aE)
261+
262+let aL = if ((aJ >= ak))
263+ then (aK >= al)
264+ else false
265+
266+func aM (ax) = {
267+ let D = ax
268+ if ($isInstanceOf(D, "ByteVector"))
269+ then {
270+ let ah = D
271+ let aN = toBase58String(ah)
272+ let aO = valueOrErrorMessage(assetInfo(ah), (("Asset " + aN) + " doesn't exist"))
273+ $Tuple3(aN, aO.name, aO.decimals)
274+ }
275+ else if ($isInstanceOf(D, "Unit"))
276+ then {
277+ let ai = D
278+ $Tuple3("WAVES", "WAVES", 8)
279+ }
280+ else throw("Match error")
281+ }
282+
283+
284+func aP (aQ) = if ((aQ == "WAVES"))
285+ then $Tuple3("WAVES", "WAVES", 8)
286+ else {
287+ let aN = aQ
288+ let ah = fromBase58String(aQ)
289+ let aO = valueOrErrorMessage(assetInfo(ah), (("Asset " + aN) + " doesn't exist"))
290+ $Tuple3(aN, aO.name, aO.decimals)
291+ }
292+
293+
294+func aR (aS) = [BooleanEntry(c, false), StringEntry(n, aS)]
295+
296+
297+func aT (aU,ax,aV) = if (if ((ax == N))
298+ then true
299+ else (ax == Q))
300+ then {
301+ let aW = if ((ax == N))
302+ then (V * (if ((aV == O))
303+ then 2
304+ else 1))
305+ else if ((ax == Q))
306+ then W
307+ else 0
308+ let aX = (aU - aW)
309+ if ((0 >= aX))
310+ then throw((((("Insufficient amount " + toString(aU)) + " to deduct staking fee ") + toString(aW)) + "USDN/EURN"))
311+ else aX
312+ }
313+ else aU
314+
315+
316+func aY (ax,aV) = if ((ax == N))
317+ then (V * (if ((aV == O))
318+ then 2
319+ else 1))
320+ else if ((ax == Q))
321+ then W
322+ else 0
323+
324+
325+func aZ (aU,ba,bb) = throw((((((((("Insufficient DApp balance to pay " + toString(aU)) + " ") + bb) + " due to staking. Available: ") + toString(ba)) + " ") + bb) + ". Please contact support in Telegram: https://t.me/swopfisupport"))
326+
327+
328+func bc (bd,be) = throw((((((((((((((((("Insufficient DApp balance to pay " + toString(bd)) + " ") + ag) + " and ") + toString(be)) + " ") + aj) + " due to staking. Available: ") + toString(aH)) + " ") + ag) + " and ") + toString(aI)) + " ") + aj) + ". Please contact support in Telegram: https://t.me/swopfisupport"))
329+
330+
331+func bf () = aR(((((((((((((((("Suspicious state. Actual balances: " + toString(aJ)) + " ") + ag) + ", ") + toString(aK)) + " ") + aj) + ". State: ") + toString(ak)) + " ") + ag) + ", ") + toString(al)) + " ") + aj))
332+
333+
334+@Callable(aB)
335+func init (bg) = {
336+ let bh = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
337+ let bi = bh._1
338+ let bj = bh._2
339+ let bk = $Tuple2(aB.payments[1].amount, aB.payments[1].assetId)
340+ let bl = bk._1
341+ let bm = bk._2
342+ let bn = $Tuple2(aB.payments[2].amount, aB.payments[2].assetId)
343+ let bo = bn._1
344+ let bp = bn._2
345+ let bq = isDataStorageUntouched(this)
346+ let br = scriptHash(this)
347+ let bs = addressFromStringValue(bg)
348+ if ((aB.caller == this))
349+ then throw("You can't call yourself")
350+ else if (if ((bp != P))
351+ then true
352+ else (bo != av))
353+ then throw("You need to attach 10 SWOP tokens")
354+ else if (if (!(aC(bj)))
355+ then !(aC(bm))
356+ else false)
357+ then throw("One of assets must be USDN, WAVES or SWOP")
358+ else if (if ((br != value(getBinary(A, v))))
359+ then true
360+ else !(bq))
361+ then throw("Unexpected script was found.")
362+ else if (isDefined(getBoolean(this, c)))
363+ then throw("DApp is already active")
364+ else if ((bj == bm))
365+ then throw("Assets must be different")
366+ else {
367+ let bt = {
368+ let D = bj
369+ if ($isInstanceOf(D, "ByteVector"))
370+ then {
371+ let ah = D
372+ toBase58String(ah)
373+ }
374+ else if ($isInstanceOf(D, "Unit"))
375+ then {
376+ let ai = D
377+ "WAVES"
378+ }
379+ else throw("Match error")
380+ }
381+ let bu = {
382+ let D = bm
383+ if ($isInstanceOf(D, "ByteVector"))
384+ then {
385+ let ah = D
386+ toBase58String(ah)
387+ }
388+ else if ($isInstanceOf(D, "Unit"))
389+ then {
390+ let ai = D
391+ "WAVES"
392+ }
393+ else throw("Match error")
394+ }
395+ let bv = valueOrElse(getInteger(A, (u + bt)), 999999)
396+ let bw = valueOrElse(getInteger(A, (u + bu)), 999999)
397+ let bx = if ((bw > bv))
398+ then $Tuple4(bl, bm, bi, bj)
399+ else $Tuple4(bi, bj, bl, bm)
400+ let by = bx._1
401+ let bz = bx._2
402+ let bA = bx._3
403+ let bB = bx._4
404+ let bC = aM(bz)
405+ let bD = bC._1
406+ let bE = bC._2
407+ let bF = bC._3
408+ let bG = aM(bB)
409+ let bH = bG._1
410+ let bI = bG._2
411+ let bJ = bG._3
412+ let bK = [toString(this), ((bE + "_") + bI), bD, bH]
413+ let bL = invoke(A, "addPool", bK, nil)
414+ if ((bL == bL))
415+ then if (!(isDefined(getString(A, ("pool_" + toString(this))))))
416+ then throw("Pool is not added")
417+ else {
418+ let bM = ((("s" + take(bE, 7)) + "_") + take(bI, 7))
419+ let bN = ((((("ShareToken of SwopFi protocol for " + bE) + " and ") + bI) + " at address ") + toString(this))
420+ let bO = ((bF + bJ) / 2)
421+ let bP = pow(by, bF, 5, 1, bF, DOWN)
422+ let bQ = pow(bA, bJ, 5, 1, bJ, DOWN)
423+ let bR = pow(10, 0, bO, 0, 0, DOWN)
424+ let bS = fraction(bP, bQ, bR)
425+ let bT = Issue(bM, bN, bS, bO, true)
426+ let bU = calculateAssetId(bT)
427+ let bV = [StringEntry(b, a), BooleanEntry(c, true), StringEntry(d, bD), StringEntry(e, bH), IntegerEntry(f, by), IntegerEntry(g, bA), IntegerEntry(l, ao), IntegerEntry(m, aq), bT, StringEntry(j, toBase58String(bU)), IntegerEntry(k, bS), IntegerEntry(w, height), ScriptTransfer(bs, bS, bU), ScriptTransfer(L, av, P)]
428+ bV
429+ }
430+ else throw("Strict value is not equal to itself.")
431+ }
432+ }
433+
434+
435+
436+@Callable(aB)
437+func keepLimitForFirstHarvest (bW) = if (!(ab))
438+ then throw("DApp is inactive at this moment")
439+ else if (!(containsElement([G, H, I, K], aB.callerPublicKey)))
440+ then throw("Only admin can call this function")
441+ else [IntegerEntry(q, bW)]
442+
443+
444+
445+@Callable(aB)
446+func replenishWithTwoTokens (bX) = {
447+ let bz = aB.payments[0].assetId
448+ let bB = aB.payments[1].assetId
449+ let by = aT(aB.payments[0].amount, bz, bB)
450+ let bA = aT(aB.payments[1].amount, bB, bz)
451+ if (if ((ak == 0))
452+ then (al == 0)
453+ else false)
454+ then {
455+ let bY = aM(bz)
456+ let bD = bY._1
457+ let bE = bY._2
458+ let bF = bY._3
459+ let bZ = aM(bB)
460+ let bH = bZ._1
461+ let bI = bZ._2
462+ let bJ = bZ._3
463+ let ca = fraction(fraction(aF, as, by), ar, fraction(aG, as, bA))
464+ if ((bz == bB))
465+ then throw("Assets must be different")
466+ else {
467+ let bO = ((bF + bJ) / 2)
468+ let bS = fraction(pow(by, bF, 5, 1, bF, DOWN), pow(bA, bJ, 5, 1, bJ, DOWN), pow(10, 0, bO, 0, 0, DOWN))
469+ if (!(ab))
470+ then throw("DApp is inactive at this moment")
471+ else if (if ((0 > bX))
472+ then true
473+ else (bX > at))
474+ then throw(((("Slippage tolerance must be between 0 and " + toString(at)) + " inclusively. Actual: ") + toString(bX)))
475+ else if ((size(aB.payments) != 2))
476+ then throw("Two attached assets expected")
477+ else if (if ((((ar * (at - bX)) / at) > ca))
478+ then true
479+ else (ca > ((ar * (at + bX)) / at)))
480+ then throw("Incorrect assets amount: amounts must have the contract ratio")
481+ else if (if ((bz != ae))
482+ then true
483+ else (bB != af))
484+ then throw(((("Incorrect assets attached. Expected: " + ac) + " and ") + ad))
485+ else if ((bS == 0))
486+ then throw("Too small amount to replenish")
487+ else if (!(aL))
488+ then ([ScriptTransfer(aB.caller, by, bz), ScriptTransfer(aB.caller, bA, bB)] ++ bf())
489+ else [Reissue(am, bS, true), IntegerEntry(f, by), IntegerEntry(g, bA), IntegerEntry(k, bS), ScriptTransfer(aB.caller, bS, am)]
490+ }
491+ }
492+ else {
493+ let ca = fraction(fraction(ak, as, by), ar, fraction(al, as, bA))
494+ let cb = fraction(by, as, ak)
495+ let cc = fraction(bA, as, al)
496+ let cd = fraction(min([cb, cc]), an, as)
497+ if (!(ab))
498+ then throw("DApp is inactive at this moment")
499+ else if (if ((0 > bX))
500+ then true
501+ else (bX > at))
502+ then throw(((("Slippage tolerance must be between 0 and " + toString(at)) + " inclusively. Actual: ") + toString(bX)))
503+ else if ((size(aB.payments) != 2))
504+ then throw("Two attached assets expected")
505+ else if (if ((bz != ae))
506+ then true
507+ else (bB != af))
508+ then throw(((("Incorrect assets attached. Expected: " + ac) + " and ") + ad))
509+ else if (if ((((ar * (at - bX)) / at) > ca))
510+ then true
511+ else (ca > ((ar * (at + bX)) / at)))
512+ then throw("Incorrect assets amount: amounts must have the contract ratio")
513+ else if ((cd == 0))
514+ then throw("Too small amount to replenish")
515+ else if (!(aL))
516+ then ([ScriptTransfer(aB.caller, by, bz), ScriptTransfer(aB.caller, bA, bB)] ++ bf())
517+ else [IntegerEntry(f, (ak + by)), IntegerEntry(g, (al + bA)), IntegerEntry(k, (an + cd)), Reissue(am, cd, true), ScriptTransfer(aB.caller, cd, am)]
518+ }
519+ }
520+
521+
522+
523+@Callable(aB)
524+func withdraw () = {
525+ let ce = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
526+ let cf = ce._1
527+ let cg = ce._2
528+ let ch = aT(fraction(cf, ak, an), ae, af)
529+ let ci = aT(fraction(cf, al, an), af, ae)
530+ if (!(ab))
531+ then throw("DApp is inactive at this moment")
532+ else if ((size(aB.payments) != 1))
533+ then throw("One attached payment expected")
534+ else if ((cg != am))
535+ then throw(("Incorrect asset attached. Expected: " + toBase58String(am)))
536+ else if (!(aL))
537+ then ([ScriptTransfer(aB.caller, cf, cg)] ++ bf())
538+ else if (if ((ch > aH))
539+ then true
540+ else (ci > aI))
541+ then bc(ch, ci)
542+ else [IntegerEntry(f, (ak - ch)), IntegerEntry(g, (al - ci)), IntegerEntry(k, (an - cf)), Burn(am, cf), ScriptTransfer(aB.caller, ch, ae), ScriptTransfer(aB.caller, ci, af)]
543+ }
544+
545+
546+
547+@Callable(aB)
548+func exchange (cj) = {
549+ let ck = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
550+ let cf = ck._1
551+ let cg = ck._2
552+ func cl (cm,cn) = {
553+ let co = fraction(cn, cf, (cf + cm))
554+ let cp = fraction(co, (aq - ao), aq)
555+ let cq = fraction(co, ap, aq)
556+ if ((cj > cp))
557+ then throw(((("Calculated amount to receive " + toString(cp)) + " is less than specified minimum ") + toString(cj)))
558+ else $Tuple3(co, cp, cq)
559+ }
560+
561+ if (!(ab))
562+ then throw("DApp is inactive at this moment")
563+ else if (if ((ak == 0))
564+ then true
565+ else (al == 0))
566+ then throw("Can't exchange with zero balance")
567+ else if ((0 >= cj))
568+ then throw(("Minimal amount to receive must be positive. Actual: " + toString(cj)))
569+ else if ((size(aB.payments) != 1))
570+ then throw("One attached payment expected")
571+ else if (!(aL))
572+ then ([ScriptTransfer(aB.caller, cf, cg)] ++ bf())
573+ else if ((cg == ae))
574+ then {
575+ let cr = af
576+ let cs = cl(ak, al)
577+ let co = cs._1
578+ let cp = cs._2
579+ let cq = cs._3
580+ let ct = (ak + cf)
581+ let cu = ((al - cp) - cq)
582+ if (if ((aD >= ct))
583+ then true
584+ else (aE >= cu))
585+ then aZ(cp, aI, aj)
586+ else [IntegerEntry(f, ct), IntegerEntry(g, cu), ScriptTransfer(aB.caller, cp, cr), ScriptTransfer(L, cq, cr)]
587+ }
588+ else if ((cg == af))
589+ then {
590+ let cr = ae
591+ let cv = cl(al, ak)
592+ let co = cv._1
593+ let cp = cv._2
594+ let cq = cv._3
595+ let ct = ((ak - cp) - cq)
596+ let cu = (al + cf)
597+ if (if ((aD >= ct))
598+ then true
599+ else (aE >= cu))
600+ then aZ(cp, aH, ag)
601+ else [IntegerEntry(f, ct), IntegerEntry(g, cu), ScriptTransfer(aB.caller, cp, cr), ScriptTransfer(L, cq, cr)]
602+ }
603+ else throw(((("Incorrect asset attached. Expected: " + ac) + " or ") + ad))
604+ }
605+
606+
607+
608+@Callable(aB)
609+func shutdown () = if (!(ab))
610+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, n), "the cause wasn't specified")))
611+ else if (!(containsElement([G, H, I, J], aB.callerPublicKey)))
612+ then throw("Only admin can call this function")
613+ else aR("Paused by admin")
614+
615+
616+
617+@Callable(aB)
618+func activate () = if (ab)
619+ then throw("DApp is already active")
620+ else if (!(containsElement([G, H, I, J], aB.callerPublicKey)))
621+ then throw("Only admin can call this function")
622+ else [BooleanEntry(c, true), DeleteEntry(n)]
623+
624+
625+
626+@Callable(aB)
627+func takeIntoAccountExtraFunds (cw) = {
628+ let cx = (aJ - ak)
629+ let cy = (aK - al)
630+ let cz = (cx - (if ((ae == unit))
631+ then cw
632+ else 0))
633+ let cA = (cy - (if ((af == unit))
634+ then cw
635+ else 0))
636+ if (!(ab))
637+ then throw("DApp is inactive at this moment")
638+ else if ((aB.caller != this))
639+ then throw("Only the DApp itself can call this function")
640+ else if ((0 > cw))
641+ then throw(("Argument 'amountLeave' cannot be negative. Actual: " + toString(cw)))
642+ else if (if ((0 > cx))
643+ then true
644+ else (0 > cy))
645+ then aR("Enroll amount negative")
646+ else if (if ((0 > cz))
647+ then true
648+ else (0 > cA))
649+ then throw("Too large amountLeave")
650+ else [IntegerEntry(f, (ak + cz)), IntegerEntry(g, (al + cA)), IntegerEntry(("last_income_" + ac), cz), IntegerEntry(("last_income_" + ad), cA)]
651+ }
652+
653+
654+
655+@Callable(aB)
656+func enableFirstHarvest () = [BooleanEntry(o, true), IntegerEntry(p, (Y + (aa * Z)))]
657+
658+
659+@Verifier(cB)
660+func cC () = {
661+ let cD = {
662+ let cE = if (sigVerify(cB.bodyBytes, cB.proofs[0], G))
663+ then 1
664+ else 0
665+ let cF = if (sigVerify(cB.bodyBytes, cB.proofs[1], H))
666+ then 1
667+ else 0
668+ let cG = if (sigVerify(cB.bodyBytes, cB.proofs[2], I))
669+ then 1
670+ else 0
671+ (((cE + cF) + cG) >= 2)
672+ }
673+ let D = cB
674+ if ($isInstanceOf(D, "InvokeScriptTransaction"))
675+ then {
676+ let cH = D
677+ let cI = if ((cH.dApp == this))
678+ then (cH.function == "takeIntoAccountExtraFunds")
679+ else false
680+ let cJ = if ((cH.dApp == this))
681+ then (cH.function == "enableFirstHarvest")
682+ else false
683+ let cK = if (if ((cH.dApp == R))
684+ then if (if (if ((cH.function == "lockNeutrino"))
685+ then (size(cH.payments) == 1)
686+ else false)
687+ then if ((cH.payments[0].assetId == N))
688+ then true
689+ else (cH.payments[0].assetId == O)
690+ else false)
691+ then true
692+ else if ((cH.function == "unlockNeutrino"))
693+ then (size(cH.payments) == 0)
694+ else false
695+ else false)
696+ then true
697+ else if ((cH.dApp == S))
698+ then if (if (if ((cH.function == "startStaking"))
699+ then (size(cH.payments) == 1)
700+ else false)
701+ then (cH.payments[0].assetId == Q)
702+ else false)
703+ then true
704+ else if ((cH.function == "stopStaking"))
705+ then (size(cH.payments) == 0)
706+ else false
707+ else false
708+ let cL = if (if (if ((cH.dApp == T))
709+ then (cH.function == "exchange")
710+ else false)
711+ then (ae == N)
712+ else false)
713+ then true
714+ else if (if ((af == N))
715+ then (size(cH.payments) == 1)
716+ else false)
717+ then (cH.payments[0].assetId == N)
718+ else false
719+ let cM = if (if (if ((cH.dApp == U))
720+ then (cH.function == "exchange")
721+ else false)
722+ then (ae == O)
723+ else false)
724+ then true
725+ else if (if ((af == O))
726+ then (size(cH.payments) == 1)
727+ else false)
728+ then (cH.payments[0].assetId == N)
729+ else false
730+ let cN = if (if (if (sigVerify(cB.bodyBytes, cB.proofs[0], G))
731+ then true
732+ else sigVerify(cB.bodyBytes, cB.proofs[0], H))
733+ then true
734+ else sigVerify(cB.bodyBytes, cB.proofs[0], I))
735+ then true
736+ else sigVerify(cB.bodyBytes, cB.proofs[0], K)
737+ if (if (if (if (if (if (cI)
738+ then true
739+ else cJ)
740+ then true
741+ else cK)
742+ then true
743+ else cL)
744+ then true
745+ else cM)
746+ then cN
747+ else false)
748+ then true
749+ else cD
750+ }
751+ else cD
752+ }
753+

github/deemru/w8io/873ac7e 
45.60 ms