tx · EZ2XS3At8DUxcYMDxigutYKYcs7NxdE3ApMeu7Bhs5rv

3Mq63YubY7UKJEobhDuXfsnXaPDJZT1fDhx:  -0.01000000 Waves

2021.12.29 11:04 [1855245] smart account 3Mq63YubY7UKJEobhDuXfsnXaPDJZT1fDhx > SELF 0.00000000 Waves

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

github/deemru/w8io/169f3d6 
48.16 ms