tx · dMLjbkmZnzYnawCidJSNLeXrV647NcM8oqbVF7QcwrS

3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx:  -0.01500000 Waves

2022.06.22 18:06 [2107758] smart account 3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx > SELF 0.00000000 Waves

{ "type": 13, "id": "dMLjbkmZnzYnawCidJSNLeXrV647NcM8oqbVF7QcwrS", "fee": 1500000, "feeAssetId": null, "timestamp": 1655910474043, "version": 2, "chainId": 84, "sender": "3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx", "senderPublicKey": "5cWdpE4X7mfNkLmxJ389ws6qGZof4fwydqMcqPexhJ7w", "proofs": [ "2Wn9bbj8NKbH4wWRsUBPPL9m6MTvvg2kWxAqUdreezbNBJk3nDxeK8Ywd67mte5aPvPo9uSfY5CVtqA8swnWo1iZ" ], "script": "base64:AAIFAAAAAAAAAE0IAhIHCgUICAgBARIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAkSBQoDCAgBEgUKAwEIARIECgIIAQAAACQAAAAADGxvY2tpbmdTdG9yZQUAAAAEdGhpcwAAAAAMc3Rha2luZ1N0b3JlAgAAAAhfUmVzZXJ2ZQAAAAARbWluaW11bUxvY2tBbW91bnQCAAAADl9NaW5Mb2NrQW1vdW50AAAAABFtYXhpbXVtTG9ja0Ftb3VudAIAAAAOX01heExvY2tBbW91bnQAAAAACWFzc2V0TGlzdAUAAAADbmlsAAAAABF1bmxvY2tFbGlnaWJpbGl0eQIAAAAcX0VsaWdpYmxlX3RvX3VubG9ja19hdF9ibG9jawAAAAAMbG9ja2VkQW1vdW50AgAAAA5fQW1vdW50X2xvY2tlZAAAAAALbG9ja2VkQXNzZXQCAAAADV9Bc3NldF9sb2NrZWQAAAAABHVzZXICAAAABV9Vc2VyAAAAAApBUFlfQW1vdW50AgAAAAtfQVBZX2Ftb3VudAAAAAARdG90YWxMb2NrZWRBTW91bnQCAAAAFF9Ub3RhbF9Mb2NrZWRfQW1vdW50AAAAAA1sb2NraW5nUGVyaW9kAgAAAAxfRGF5c19sb2NrZWQAAAAACmVudHJ5SW5kZXgCAAAADF9FbnRyeV9JbmRleAAAAAAOYWxyZWFkeUNsYWltZWQCAAAAEF9BbHJlYWR5X0NsYWltZWQAAAAABWFkbWluAgAAAAZhZG1pbl8AAAAAC0Jsb2NrUGVyRGF5AAAAAAAAAAWgAAAAABR0aGlydHlEYXlzTG9ja1BlcmlvZAAAAAAAAAAAHgAAAAATc2l4dHlEYXlzTG9ja1BlcmlvZAAAAAAAAAAAPAAAAAAUbmluZXR5RGF5c0xvY2tQZXJpb2QAAAAAAAAAAFoAAAAAEG9uZURheUxvY2twZXJpb2QAAAAAAAAAAAEBAAAABGdldEkAAAABAAAAA2tleQkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAABGdldFMAAAABAAAAA2tleQkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkBAAAABWdldElWAAAAAQAAAANrZXkJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAEdGhp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dW50AAAAFkFzc2V0TWF4aW11bUxvY2tBbW91bnQEAAAABWNoZWNrCQEAAAAJYWRtaW5Pbmx5AAAAAQUAAAABaQMJAAAAAAAAAgUAAAAFY2hlY2sFAAAABWNoZWNrBAAAAA1hU3Rha2luZ1N0b3JlCQABLAAAAAIFAAAAC0Fzc2V0VGlja2VyBQAAAAxzdGFraW5nU3RvcmUEAAAAEmFNaW5pbXVtTG9ja0Ftb3VudAkAASwAAAACBQAAAAtBc3NldFRpY2tlcgUAAAARbWluaW11bUxvY2tBbW91bnQEAAAAEmFNYXhpbXVtTG9ja0Ftb3VudAkAASwAAAACBQAAAAtBc3NldFRpY2tlcgUAAAARbWF4aW11bUxvY2tBbW91bnQEAAAAC2NoZWNrTWluTWF4AwkAAGYAAAACBQAAABZBc3NldE1heGltdW1Mb2NrQW1vdW50BQAAABZBc3NldE1pbmltdW1Mb2NrQW1vdW50CQAETAAAAAIJAQAAABF3cml0ZUNvbnN0SW50ZWdlcgAAAAIFAAAAEmFNaW5pbXVtTG9ja0Ftb3VudAUAAAAWQXNzZXRNaW5pbXVtTG9ja0Ftb3VudAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAABJhTWF4aW11bUxvY2tBbW91bnQFAAAAFkFzc2V0TWF4aW11bUxvY2tBbW91bnQFAAAAA25pbAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAABJhTWluaW11bUxvY2tBbW91bnQFAAAAFkFzc2V0TWF4aW11bUxvY2tBbW91bnQJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAASYU1heGltdW1Mb2NrQW1vdW50BQAAABZBc3NldE1pbmltdW1Mb2NrQW1vdW50BQAAAANuaWwJAAROAAAAAgkABEwAAAACCQEAAAAQd3JpdGVDb25zdFN0cmluZwAAAAIFAAAAC0Fzc2V0VGlja2VyBQAAAAdBc3NldElECQAETAAAAAIJAQAAABB3cml0ZUNvbnN0U3RyaW5nAAAAAgUAAAANYVN0YWtpbmdTdG9yZQUAAAAMQXNzZXRSZXNlcnZlBQAAAANuaWwFAAAAC2NoZWNrTWluTWF4CQAAAgAAAAECAAAA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aGVja3MEAAAACWFkbWluQWRkcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAACm5ld0FkZHJlc3MCAAAAD2ludmFsaWQgYWRkcmVzcwQAAAADZGVsCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAVhZG1pbgMJAAAAAAAAAgUAAAADZGVsBQAAAANkZWwJAARMAAAAAgkBAAAAEHdyaXRlQ29uc3RTdHJpbmcAAAACBQAAAAVhZG1pbgkABCUAAAABBQAAAAlhZG1pbkFkZHIFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAF3VwZGF0ZU90aGVyQWRtaW5BZGRyZXNzAAAAAQAAAApuZXdBZGRyZXNzBAAAAAZjaGVja3MJAQAAAAlhZG1pbk9ubHkAAAABBQAAAAFpAwkAAAAAAAACBQAAAAZjaGVja3MFAAAABmNoZWNrcwQAAAAJYWRtaW5BZGRyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAKbmV3QWRkcmVzcwIAAAAPaW52YWxpZCBhZGRyZXNzBAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAApvdGhlckFkbWluCQABLAAAAAIFAAAABWFkbWluBQAAAAZjYWxsZXIEAAAAD2NoZWNrT2xkQWRkcmVzcwkBAAAADnRocm93T3JSZXR1cm5TAAAAAgkBAAAABGdldFMAAAABBQAAAApvdGhlckFkbWluAgAAABlubyBwcmV2aW91cyBhZGRyZXNzIGZvdW5kAwkAAAAAAAACBQAAAA9jaGVja09sZEFkZHJlc3MFAAAAD2NoZWNrT2xkQWRkcmVzcwQAAAAKZGVsQWRkcmVzcwkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAKb3RoZXJBZG1pbgMJAAAAAAAAAgUAAAAKZGVsQWRkcmVzcwUAAAAKZGVsQWRkcmVzcwkABEwAAAACCQEAAAAQd3JpdGVDb25zdFN0cmluZwAAAAIFAAAACm90aGVyQWRtaW4JAAQlAAAAAQUAAAAJYWRtaW5BZGRyBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAQcmVtb3ZlT3RoZXJBZG1pbgAAAAEAAAAHYWRkcmVzcwQAAAAGY2hlY2tzCQEAAAAJYWRtaW5Pbmx5AAAAAQUAAAABaQMJAAAAAAAAAgUAAAAGY2hlY2tzBQAAAAZjaGVja3MEAAAACWFkbWluQWRkcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAAB2FkZHJlc3MCAAAAD2ludmFsaWQgYWRkcmVzcwQAAAAMb3RoZXJBZGRyZXNzCQABLAAAAAIFAAAABWFkbWluCQAEJQAAAAEFAAAACWFkbWluQWRkcgQAAAAIZGVsQWRtaW4JAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAADG90aGVyQWRkcmVzcwMJAAAAAAAAAgUAAAAIZGVsQWRtaW4FAAAACGRlbEFkbWluBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABF1cGRhdGVDb25maWdWYWx1ZQAAAAIAAAADa2V5AAAABGRhdGEEAAAABmNoZWNrcwkBAAAACWFkbWluT25seQAAAAEFAAAAAWkDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzBAAAAANkZWwJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAA2tleQMJAAAAAAAAAgUAAAADZGVsBQAAAANkZWwJAARMAAAAAgkBAAAAEHdyaXRlQ29uZmlnVmFsdWUAAAACBQAAAANrZXkFAAAABGRhdGEFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAE19nZXREYXlzTGVmdFRvQ2xhaW0AAAADAAAAC3VzZXJBZGRyZXNzAAAAC0Fzc2V0VGlja2VyAAAACkVudHJ5SW5kZXgEAAAABmNoZWNrMAkBAAAACWFkbWluT25seQAAAAEFAAAAAWkDCQAAAAAAAAIFAAAABmNoZWNrMAUAAAAGY2hlY2swBAAAAAZjaGVjazEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABBQAAAAt1c2VyQWRkcmVzcwIAAAAPaW52YWxpZCBhZGRyZXNzAwkAAAAAAAACBQAAAAZjaGVjazEFAAAABmNoZWNrMQQAAAALdUVudHJ5SW5kZXgJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAAV8FAAAAC0Fzc2V0VGlja2VyAgAAAAFfCQABpAAAAAEFAAAACkVudHJ5SW5kZXgEAAAAEnVVbmxvY2tFbGlnaWJpbGl0eQkAASwAAAACCQABLAAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAAt1RW50cnlJbmRleAUAAAARdW5sb2NrRWxpZ2liaWxpdHkEAAAAC3VCbG9ja3NMZWZ0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAQAAAARnZXRJAAAAAQUAAAASdVVubG9ja0VsaWdpYmlsaXR5CQABLAAAAAICAAAADW5vIGVudHJ5IGZvciAFAAAAC3VzZXJBZGRyZXNzBAAAAA11QmxvY2tzVG9EYXlzCQEAAAAMYmxvY2tzVG9EYXlzAAAAAQkAAGUAAAACBQAAAAt1QmxvY2tzTGVmdAUAAAAGaGVpZ2h0CQAFFAAAAAIFAAAAA25pbAUAAAANdUJsb2Nrc1RvRGF5cwkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAABExvY2sAAAADAAAACkxvY2tQZXJpb2QAAAALQXNzZXRUaWNrZXIAAAAKRW50cnlJbmRleAQAAAAGY2hlY2sxCQEAAAAHdGhyb3dJZgAAAAIJAQAAAAIhPQAAAAIAAAAAAAAAAAEJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMCAAAAHmF0dGFjaCBhbW91bnQgeW91IHdhbnQgdG8gbG9jawMJAAAAAAAAAgUAAAAGY2hlY2sxBQAAAAZjaGVjazEEAAAACmFzc2V0VmFsdWUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAIAAAAhbm8gYXNzZXRJZCBmb3IgdGhlIGF0dGFjaGVkIGFzc2V0BAAAAAVhc3NldAkAAlgAAAABBQAAAAphc3NldFZhbHVlBAAAAAZjaGVjazIJAQAAAAd0aHJvd0lmAAAAAgkBAAAAAiE9AAAAAgkBAAAABGdldFMAAAABBQAAAAtBc3NldFRpY2tlcgUAAAAFYXNzZXQCAAAAE2Fzc2V0IG5vdCBzdXBwb3J0ZWQDCQAAAAAAAAIFAAAABmNoZWNrMgUAAAAGY2hlY2syBAAAAApsb2NrUGVyaW9kBQAAAApMb2NrUGVyaW9kBAAAAAZ1c2VySWQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANYW1vdW50VG9TdGFrZQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAAAptaW5Ub1N0YWtlCQEAAAAOdGhyb3dPclJldHVybkkAAAACCQEAAAAEZ2V0SQAAAAEJAAEsAAAAAgUAAAALQXNzZXRUaWNrZXIFAAAAEW1pbmltdW1Mb2NrQW1vdW50AgAAADVpbnRlcm5hbCBlcnJvcjogbWluaW11bSBzdGFja2luZyBhbW91bnQgbm90IHNwZWNpZmllZAQAAAAKbWF4VG9TdGFrZQkBAAAADnRocm93T3JSZXR1cm5JAAAAAgkBAAAABGdldEkAAAABCQABLAAAAAIFAAAAC0Fzc2V0VGlja2VyBQAAABFtYXhpbXVtTG9ja0Ftb3VudAIAAAA0aW50ZXJuYWwgZXJyb3I6IG1heGltdW0gc3Rha2luZyBhbW91bnQgbm90IHNwZWNpZmllZAQAAAAGY2hlY2szCQEAAAAHdGhy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", "height": 2107758, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7Pf15rR2nQWUWupEEJdFiGrmDMuAr9eKaaKNB7uKAXy4 Next: uK99eSZYjTexR4eBrUtZbSj1RQYAFXeutpkkXatwBLM Diff:
OldNewDifferences
9393 func J (K) = if ((K != q))
9494 then if ((K != r))
9595 then if ((K != s))
96- then if ((K != t))
97- then throw("invalid locking period")
98- else (((K + 1) * p) + height)
99- else (((K + 1) * p) + height)
100- else (((K + 1) * p) + height)
101- else (((K + 1) * p) + height)
96+ then throw("invalid locking period")
97+ else (((K + 2) * p) + height)
98+ else (((K + 2) * p) + height)
99+ else (((K + 2) * p) + height)
102100
103101
104102 func L (M) = if ((0 >= M))
105103 then 0
106104 else {
107- let N = pow(10, 0, 3, 0, 0, CEILING)
108- let O = fraction(M, N, p)
109- O
105+ let N = (M / p)
106+ N
110107 }
111108
112109
113-func P (v,H) = if (!(isDefined(w(v))))
110+func O (v,H) = if (!(isDefined(w(v))))
114111 then I(v, H)
115112 else throw(("already initialized: " + v))
116113
117114
118-func Q (v,H) = if (!(isDefined(w(v))))
115+func P (v,H) = if (!(isDefined(w(v))))
119116 then G(v, H)
120117 else throw(("already initialized: " + v))
121118
122119
123-func R (S) = {
124- let T = toBase58String(S.caller.bytes)
125- let U = (o + T)
120+func Q (R) = {
121+ let S = toBase58String(R.caller.bytes)
122+ let T = (o + S)
126123 let E = w(o)
127124 if ($isInstanceOf(E, "String"))
128125 then {
129- let V = E
130- if ((T != w(o)))
126+ let U = E
127+ if ((S != w(o)))
131128 then throw("unauthorized")
132129 else true
133130 }
134131 else {
135- let W = w(U)
136- if ($isInstanceOf(W, "String"))
132+ let V = w(T)
133+ if ($isInstanceOf(V, "String"))
137134 then {
138- let X = W
139- if ((T != w(U)))
135+ let W = V
136+ if ((S != w(T)))
140137 then throw("unauthorized")
141138 else true
142139 }
145142 }
146143
147144
148-func Y (v,Z) = {
149- let E = Z
145+func X (v,Y) = {
146+ let E = Y
150147 if ($isInstanceOf(E, "String"))
151148 then {
152- let Z = E
153- P(v, Z)
149+ let Y = E
150+ O(v, Y)
154151 }
155152 else if ($isInstanceOf(E, "Int"))
156153 then {
157- let Z = E
158- Q(v, Z)
154+ let Y = E
155+ P(v, Y)
159156 }
160157 else throw("unsupported config type")
161158 }
162159
163160
164-func aa (v) = {
165- let ab = u(v)
166- if (isDefined(ab))
167- then (value(ab) + 1)
161+func Z (v) = {
162+ let aa = u(v)
163+ if (isDefined(aa))
164+ then (value(aa) + 1)
168165 else 0
169166 }
170167
171168
172-@Callable(S)
173-func addAsset (ac,ad,ae,af,ag) = {
174- let ah = R(S)
175- if ((ah == ah))
169+@Callable(R)
170+func addAsset (ab,ac,ad,ae,af) = {
171+ let ag = Q(R)
172+ if ((ag == ag))
176173 then {
177- let ai = (ac + b)
178- let aj = (ac + c)
179- let ak = (ac + d)
180- let al = if ((ag > af))
181- then [Q(aj, af), Q(ak, ag)]
182- else [Q(aj, ag), Q(ak, af)]
183- ([P(ac, ad), P(ai, ae)] ++ al)
174+ let ah = (ab + b)
175+ let ai = (ab + c)
176+ let aj = (ab + d)
177+ let ak = if ((af > ae))
178+ then [P(ai, ae), P(aj, af)]
179+ else [P(ai, af), P(aj, ae)]
180+ ([O(ab, ac), O(ah, ad)] ++ ak)
184181 }
185182 else throw("Strict value is not equal to itself.")
186183 }
187184
188185
189186
190-@Callable(S)
191-func deleteAsset (ac) = {
192- let ah = R(S)
193- if ((ah == ah))
187+@Callable(R)
188+func deleteAsset (ab) = {
189+ let ag = Q(R)
190+ if ((ag == ag))
194191 then {
195- let am = F(w(ac), (("asset with ticker " + ac) + " not found"))
196- if ((am == am))
197- then [DeleteEntry(ac), DeleteEntry((ac + c)), DeleteEntry((ac + d)), DeleteEntry((ac + b))]
192+ let al = F(w(ab), (("asset with ticker " + ab) + " not found"))
193+ if ((al == al))
194+ then [DeleteEntry(ab), DeleteEntry((ab + c)), DeleteEntry((ab + d)), DeleteEntry((ab + b))]
198195 else throw("Strict value is not equal to itself.")
199196 }
200197 else throw("Strict value is not equal to itself.")
202199
203200
204201
205-@Callable(S)
206-func _getAssetIdByTicker (ac) = {
207- let ah = R(S)
208- if ((ah == ah))
202+@Callable(R)
203+func _getAssetIdByTicker (ab) = {
204+ let ag = Q(R)
205+ if ((ag == ag))
209206 then {
210- let V = F(w(ac), "asset not found")
211- $Tuple2(nil, V)
207+ let U = F(w(ab), "asset not found")
208+ $Tuple2(nil, U)
212209 }
213210 else throw("Strict value is not equal to itself.")
214211 }
215212
216213
217214
218-@Callable(S)
219-func init (an) = {
220- let ao = valueOrErrorMessage(addressFromString(an), "invalid address")
221-[P(o, toString(ao))]
215+@Callable(R)
216+func init (am) = {
217+ let an = valueOrErrorMessage(addressFromString(am), "invalid address")
218+[O(o, toString(an))]
222219 }
223220
224221
225222
226-@Callable(S)
223+@Callable(R)
227224 func _deleteEntry (v) = {
228- let ah = R(S)
229- if ((ah == ah))
225+ let ag = Q(R)
226+ if ((ag == ag))
230227 then [DeleteEntry(v)]
231228 else throw("Strict value is not equal to itself.")
232229 }
233230
234231
235232
236-@Callable(S)
237-func addAdmin (an) = {
238- let ah = R(S)
239- if ((ah == ah))
233+@Callable(R)
234+func addAdmin (am) = {
235+ let ag = Q(R)
236+ if ((ag == ag))
240237 then {
241- let ao = valueOrErrorMessage(addressFromString(an), "invalid address")
242- let ap = (o + toString(ao))
243-[P(ap, an)]
238+ let an = valueOrErrorMessage(addressFromString(am), "invalid address")
239+ let ao = (o + toString(an))
240+[O(ao, am)]
244241 }
245242 else throw("Strict value is not equal to itself.")
246243 }
247244
248245
249246
250-@Callable(S)
251-func changeMainAdmin (aq) = {
252- let ar = R(S)
253- if ((ar == ar))
247+@Callable(R)
248+func changeMainAdmin (ap) = {
249+ let aq = Q(R)
250+ if ((aq == aq))
254251 then {
255- let ao = valueOrErrorMessage(addressFromString(aq), "invalid address")
256- let as = DeleteEntry(o)
257- if ((as == as))
258- then [P(o, toString(ao))]
252+ let an = valueOrErrorMessage(addressFromString(ap), "invalid address")
253+ let ar = DeleteEntry(o)
254+ if ((ar == ar))
255+ then [O(o, toString(an))]
259256 else throw("Strict value is not equal to itself.")
260257 }
261258 else throw("Strict value is not equal to itself.")
263260
264261
265262
266-@Callable(S)
267-func updateOtherAdminAddress (aq) = {
268- let ar = R(S)
269- if ((ar == ar))
263+@Callable(R)
264+func updateOtherAdminAddress (ap) = {
265+ let aq = Q(R)
266+ if ((aq == aq))
270267 then {
271- let ao = valueOrErrorMessage(addressFromString(aq), "invalid address")
272- let at = toString(S.caller)
273- let U = (o + at)
274- let au = F(w(U), "no previous address found")
275- if ((au == au))
268+ let an = valueOrErrorMessage(addressFromString(ap), "invalid address")
269+ let as = toString(R.caller)
270+ let T = (o + as)
271+ let at = F(w(T), "no previous address found")
272+ if ((at == at))
276273 then {
277- let av = DeleteEntry(U)
278- if ((av == av))
279- then [P(U, toString(ao))]
274+ let au = DeleteEntry(T)
275+ if ((au == au))
276+ then [O(T, toString(an))]
280277 else throw("Strict value is not equal to itself.")
281278 }
282279 else throw("Strict value is not equal to itself.")
286283
287284
288285
289-@Callable(S)
290-func removeOtherAdmin (aw) = {
291- let ar = R(S)
292- if ((ar == ar))
286+@Callable(R)
287+func removeOtherAdmin (av) = {
288+ let aq = Q(R)
289+ if ((aq == aq))
293290 then {
294- let ao = valueOrErrorMessage(addressFromString(aw), "invalid address")
295- let ax = (o + toString(ao))
296- let ay = DeleteEntry(ax)
297- if ((ay == ay))
291+ let an = valueOrErrorMessage(addressFromString(av), "invalid address")
292+ let aw = (o + toString(an))
293+ let ax = DeleteEntry(aw)
294+ if ((ax == ax))
298295 then nil
299296 else throw("Strict value is not equal to itself.")
300297 }
303300
304301
305302
306-@Callable(S)
307-func updateConfigValue (v,Z) = {
308- let ar = R(S)
309- if ((ar == ar))
303+@Callable(R)
304+func updateConfigValue (v,Y) = {
305+ let aq = Q(R)
306+ if ((aq == aq))
310307 then {
311- let as = DeleteEntry(v)
312- if ((as == as))
313- then [Y(v, Z)]
308+ let ar = DeleteEntry(v)
309+ if ((ar == ar))
310+ then [X(v, Y)]
314311 else throw("Strict value is not equal to itself.")
315312 }
316313 else throw("Strict value is not equal to itself.")
318315
319316
320317
321-@Callable(S)
322-func _getDaysLeftToClaim (az,ac,aA) = {
323- let aB = R(S)
324- if ((aB == aB))
318+@Callable(R)
319+func _getDaysLeftToClaim (ay,ab,az) = {
320+ let aA = Q(R)
321+ if ((aA == aA))
325322 then {
326- let aC = valueOrErrorMessage(addressFromString(az), "invalid address")
327- if ((aC == aC))
323+ let aB = valueOrErrorMessage(addressFromString(ay), "invalid address")
324+ if ((aB == aB))
328325 then {
329- let aD = ((("_" + ac) + "_") + toString(aA))
330- let aE = ((az + aD) + f)
331- let aF = valueOrErrorMessage(u(aE), ("no entry for " + az))
332- let aG = L((aF - height))
333- $Tuple2(nil, aG)
326+ let aC = ((("_" + ab) + "_") + toString(az))
327+ let aD = ((ay + aC) + f)
328+ let aE = valueOrErrorMessage(u(aD), ("no entry for " + ay))
329+ let aF = L((aE - height))
330+ $Tuple2(nil, aF)
334331 }
335332 else throw("Strict value is not equal to itself.")
336333 }
339336
340337
341338
342-@Callable(S)
343-func Lock (aH,ac,aA) = {
344- let aC = z((1 != size(S.payments)), "attach amount you want to lock")
345- if ((aC == aC))
339+@Callable(R)
340+func Lock (aG,ab,az) = {
341+ let aB = z((1 != size(R.payments)), "attach amount you want to lock")
342+ if ((aB == aB))
346343 then {
347- let aI = valueOrErrorMessage(S.payments[0].assetId, "no assetId for the attached asset")
348- let aJ = toBase58String(aI)
349- let aK = z((w(ac) != aJ), "asset not supported")
350- if ((aK == aK))
344+ let aH = valueOrErrorMessage(R.payments[0].assetId, "no assetId for the attached asset")
345+ let aI = toBase58String(aH)
346+ let aJ = z((w(ab) != aI), "asset not supported")
347+ if ((aJ == aJ))
351348 then {
352- let aL = aH
353- let aM = toBase58String(S.caller.bytes)
354- let aN = S.payments[0].amount
355- let aO = C(u((ac + c)), "internal error: minimum stacking amount not specified")
356- let aP = C(u((ac + d)), "internal error: maximum staking amount not specified")
357- let aQ = z(if ((aO > aN))
349+ let aK = aG
350+ let aL = toBase58String(R.caller.bytes)
351+ let aM = R.payments[0].amount
352+ let aN = C(u((ab + c)), "internal error: minimum stacking amount not specified")
353+ let aO = C(u((ab + d)), "internal error: maximum staking amount not specified")
354+ let aP = z(if ((aN > aM))
358355 then true
359- else (aN > aP), "staking amount is out of range")
360- if ((aQ == aQ))
356+ else (aM > aO), "staking amount is out of range")
357+ if ((aP == aP))
361358 then {
362- let aR = (aM + k)
363- let aS = if (!(isDefined(u(aR))))
359+ let aQ = (aL + k)
360+ let aR = if (!(isDefined(u(aQ))))
364361 then 0
365- else (aN + value(u(aR)))
366- let aT = z((aS > aP), "you have maxed out your quota")
367- if ((aT == aT))
362+ else (aM + value(u(aQ)))
363+ let aS = z((aR > aO), "you have maxed out your quota")
364+ if ((aS == aS))
368365 then {
369- let aU = toString(aA)
370- let aV = ((("_" + ac) + "_") + aU)
371- let aW = (aM + aV)
372- let aX = ((aM + aV) + i)
373- let aY = ((aM + aV) + h)
374- let aZ = ((aM + aV) + l)
375- let ba = ((aM + aV) + g)
376- let bb = ((aM + aV) + j)
377- let aE = ((aM + aV) + f)
378- let bc = ((aM + aV) + n)
379- let bd = invoke(Address(fromBase58String(y(o))), "getAPYAmount", [aM, ac, aA], nil)
380- let be = {
381- let E = bd
366+ let aT = toString(az)
367+ let aU = ((("_" + ab) + "_") + aT)
368+ let aV = (aL + aU)
369+ let aW = ((aL + aU) + i)
370+ let aX = ((aL + aU) + h)
371+ let aY = ((aL + aU) + l)
372+ let aZ = ((aL + aU) + g)
373+ let ba = ((aL + aU) + j)
374+ let aD = ((aL + aU) + f)
375+ let bb = ((aL + aU) + n)
376+ let bc = invoke(Address(fromBase58String(y(o))), "getAPYAmount", [aL, ab, az], nil)
377+ let bd = {
378+ let E = bc
382379 if ($isInstanceOf(E, "Int"))
383380 then {
384- let bf = E
385- bf
381+ let be = E
382+ be
386383 }
387- else throw(("could not get the APY amount for " + aM))
384+ else throw(("could not get the APY amount for " + aL))
388385 }
389-[Q(aW, aA), P(aX, aM), P(aY, aJ), Q(aZ, aL), Q(ba, S.payments[0].amount), Q(aR, aS), Q(aE, J(aH)), Q(bb, be), BooleanEntry(bc, false)]
386+[P(aV, az), O(aW, aL), O(aX, aI), P(aY, aK), P(aZ, R.payments[0].amount), P(aQ, aR), P(aD, J(aG)), P(ba, bd), BooleanEntry(bb, false)]
390387 }
391388 else throw("Strict value is not equal to itself.")
392389 }
399396
400397
401398
402-@Callable(S)
403-func Claim (ac,aA) = {
404- let aM = toString(S.caller)
405- let aJ = valueOrErrorMessage(w(ac), "invalid asset")
406- if ((aJ == aJ))
399+@Callable(R)
400+func Claim (ab,az) = {
401+ let aL = toString(R.caller)
402+ let aI = valueOrErrorMessage(w(ab), "invalid asset")
403+ if ((aI == aI))
407404 then {
408- let aV = ((("_" + ac) + "_") + toString(aA))
409- let bg = valueOrErrorMessage(w(((aM + aV) + i)), ("no entry found for user " + aM))
410- if ((bg == bg))
405+ let aU = ((("_" + ab) + "_") + toString(az))
406+ let bf = valueOrErrorMessage(w(((aL + aU) + i)), ("no entry found for user " + aL))
407+ if ((bf == bf))
411408 then {
412- let bh = valueOrErrorMessage(w(((aM + aV) + h)), "asset not locked by user")
413- let bi = ((aM + aV) + n)
414- let aB = z((valueOrErrorMessage(getBoolean(bi), "cannot ascertain claimability") == true), (("user + " + aM) + " already claimed"))
415- if ((aB == aB))
409+ let bg = valueOrErrorMessage(w(((aL + aU) + h)), "asset not locked by user")
410+ let bh = ((aL + aU) + n)
411+ let aA = z((valueOrErrorMessage(getBoolean(bh), "cannot ascertain claimability") == true), (("user + " + aL) + " already claimed"))
412+ if ((aA == aA))
416413 then {
417- let ba = x(((aM + aV) + g))
418- let bj = addressFromStringValue(F(w((ac + b)), "internal error: no reserve found"))
419- let bk = x(((aM + aV) + j))
420- let bl = x(((aM + aV) + f))
421- let M = if ((0 >= (bl - height)))
414+ let aZ = x(((aL + aU) + g))
415+ let bi = addressFromStringValue(F(w((ab + b)), "internal error: no reserve found"))
416+ let bj = x(((aL + aU) + j))
417+ let bk = x(((aL + aU) + f))
418+ let M = if ((0 >= (bk - height)))
422419 then 0
423- else (bl - height)
424- let bm = L(M)
425- let aC = z((bl > height), (toString(bm) + "/1000 days left to claim"))
426- if ((aC == aC))
420+ else (bk - height)
421+ let bl = L(M)
422+ let aB = z((bk > height), (toString(bl) + " days left to claim"))
423+ if ((aB == aB))
427424 then {
428- let bn = invoke(bj, "transferInterest", [aM, bk, fromBase58String(bh)], nil)
429- if ((bn == bn))
430- then [ScriptTransfer(addressFromStringValue(aM), ba, fromBase58String(bh)), BooleanEntry(bi, true)]
425+ let bm = invoke(bi, "transferInterest", [aL, bj, fromBase58String(bg)], nil)
426+ if ((bm == bm))
427+ then [ScriptTransfer(addressFromStringValue(aL), aZ, fromBase58String(bg)), BooleanEntry(bh, true)]
431428 else throw("Strict value is not equal to itself.")
432429 }
433430 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = this
55
66 let b = "_Reserve"
77
88 let c = "_MinLockAmount"
99
1010 let d = "_MaxLockAmount"
1111
1212 let e = nil
1313
1414 let f = "_Eligible_to_unlock_at_block"
1515
1616 let g = "_Amount_locked"
1717
1818 let h = "_Asset_locked"
1919
2020 let i = "_User"
2121
2222 let j = "_APY_amount"
2323
2424 let k = "_Total_Locked_Amount"
2525
2626 let l = "_Days_locked"
2727
2828 let m = "_Entry_Index"
2929
3030 let n = "_Already_Claimed"
3131
3232 let o = "admin_"
3333
3434 let p = 1440
3535
3636 let q = 30
3737
3838 let r = 60
3939
4040 let s = 90
4141
4242 let t = 1
4343
4444 func u (v) = getInteger(this, v)
4545
4646
4747 func w (v) = getString(this, v)
4848
4949
5050 func x (v) = value(getInteger(this, v))
5151
5252
5353 func y (v) = value(getString(this, v))
5454
5555
5656 func z (A,B) = if (A)
5757 then throw(B)
5858 else true
5959
6060
6161 func C (D,B) = {
6262 let E = D
6363 if ($isInstanceOf(E, "Int"))
6464 then {
6565 let D = E
6666 D
6767 }
6868 else throw(B)
6969 }
7070
7171
7272 func F (D,B) = {
7373 let E = D
7474 if ($isInstanceOf(E, "String"))
7575 then {
7676 let D = E
7777 D
7878 }
7979 else throw(B)
8080 }
8181
8282
8383 func G (v,H) = if ((0 > H))
8484 then throw(((("writing negative value " + toString(H)) + " for key ") + v))
8585 else IntegerEntry(v, H)
8686
8787
8888 func I (v,H) = if ((" " == H))
8989 then throw(("writing an empty string " + H))
9090 else StringEntry(v, H)
9191
9292
9393 func J (K) = if ((K != q))
9494 then if ((K != r))
9595 then if ((K != s))
96- then if ((K != t))
97- then throw("invalid locking period")
98- else (((K + 1) * p) + height)
99- else (((K + 1) * p) + height)
100- else (((K + 1) * p) + height)
101- else (((K + 1) * p) + height)
96+ then throw("invalid locking period")
97+ else (((K + 2) * p) + height)
98+ else (((K + 2) * p) + height)
99+ else (((K + 2) * p) + height)
102100
103101
104102 func L (M) = if ((0 >= M))
105103 then 0
106104 else {
107- let N = pow(10, 0, 3, 0, 0, CEILING)
108- let O = fraction(M, N, p)
109- O
105+ let N = (M / p)
106+ N
110107 }
111108
112109
113-func P (v,H) = if (!(isDefined(w(v))))
110+func O (v,H) = if (!(isDefined(w(v))))
114111 then I(v, H)
115112 else throw(("already initialized: " + v))
116113
117114
118-func Q (v,H) = if (!(isDefined(w(v))))
115+func P (v,H) = if (!(isDefined(w(v))))
119116 then G(v, H)
120117 else throw(("already initialized: " + v))
121118
122119
123-func R (S) = {
124- let T = toBase58String(S.caller.bytes)
125- let U = (o + T)
120+func Q (R) = {
121+ let S = toBase58String(R.caller.bytes)
122+ let T = (o + S)
126123 let E = w(o)
127124 if ($isInstanceOf(E, "String"))
128125 then {
129- let V = E
130- if ((T != w(o)))
126+ let U = E
127+ if ((S != w(o)))
131128 then throw("unauthorized")
132129 else true
133130 }
134131 else {
135- let W = w(U)
136- if ($isInstanceOf(W, "String"))
132+ let V = w(T)
133+ if ($isInstanceOf(V, "String"))
137134 then {
138- let X = W
139- if ((T != w(U)))
135+ let W = V
136+ if ((S != w(T)))
140137 then throw("unauthorized")
141138 else true
142139 }
143140 else throw("unauthorizd")
144141 }
145142 }
146143
147144
148-func Y (v,Z) = {
149- let E = Z
145+func X (v,Y) = {
146+ let E = Y
150147 if ($isInstanceOf(E, "String"))
151148 then {
152- let Z = E
153- P(v, Z)
149+ let Y = E
150+ O(v, Y)
154151 }
155152 else if ($isInstanceOf(E, "Int"))
156153 then {
157- let Z = E
158- Q(v, Z)
154+ let Y = E
155+ P(v, Y)
159156 }
160157 else throw("unsupported config type")
161158 }
162159
163160
164-func aa (v) = {
165- let ab = u(v)
166- if (isDefined(ab))
167- then (value(ab) + 1)
161+func Z (v) = {
162+ let aa = u(v)
163+ if (isDefined(aa))
164+ then (value(aa) + 1)
168165 else 0
169166 }
170167
171168
172-@Callable(S)
173-func addAsset (ac,ad,ae,af,ag) = {
174- let ah = R(S)
175- if ((ah == ah))
169+@Callable(R)
170+func addAsset (ab,ac,ad,ae,af) = {
171+ let ag = Q(R)
172+ if ((ag == ag))
176173 then {
177- let ai = (ac + b)
178- let aj = (ac + c)
179- let ak = (ac + d)
180- let al = if ((ag > af))
181- then [Q(aj, af), Q(ak, ag)]
182- else [Q(aj, ag), Q(ak, af)]
183- ([P(ac, ad), P(ai, ae)] ++ al)
174+ let ah = (ab + b)
175+ let ai = (ab + c)
176+ let aj = (ab + d)
177+ let ak = if ((af > ae))
178+ then [P(ai, ae), P(aj, af)]
179+ else [P(ai, af), P(aj, ae)]
180+ ([O(ab, ac), O(ah, ad)] ++ ak)
184181 }
185182 else throw("Strict value is not equal to itself.")
186183 }
187184
188185
189186
190-@Callable(S)
191-func deleteAsset (ac) = {
192- let ah = R(S)
193- if ((ah == ah))
187+@Callable(R)
188+func deleteAsset (ab) = {
189+ let ag = Q(R)
190+ if ((ag == ag))
194191 then {
195- let am = F(w(ac), (("asset with ticker " + ac) + " not found"))
196- if ((am == am))
197- then [DeleteEntry(ac), DeleteEntry((ac + c)), DeleteEntry((ac + d)), DeleteEntry((ac + b))]
192+ let al = F(w(ab), (("asset with ticker " + ab) + " not found"))
193+ if ((al == al))
194+ then [DeleteEntry(ab), DeleteEntry((ab + c)), DeleteEntry((ab + d)), DeleteEntry((ab + b))]
198195 else throw("Strict value is not equal to itself.")
199196 }
200197 else throw("Strict value is not equal to itself.")
201198 }
202199
203200
204201
205-@Callable(S)
206-func _getAssetIdByTicker (ac) = {
207- let ah = R(S)
208- if ((ah == ah))
202+@Callable(R)
203+func _getAssetIdByTicker (ab) = {
204+ let ag = Q(R)
205+ if ((ag == ag))
209206 then {
210- let V = F(w(ac), "asset not found")
211- $Tuple2(nil, V)
207+ let U = F(w(ab), "asset not found")
208+ $Tuple2(nil, U)
212209 }
213210 else throw("Strict value is not equal to itself.")
214211 }
215212
216213
217214
218-@Callable(S)
219-func init (an) = {
220- let ao = valueOrErrorMessage(addressFromString(an), "invalid address")
221-[P(o, toString(ao))]
215+@Callable(R)
216+func init (am) = {
217+ let an = valueOrErrorMessage(addressFromString(am), "invalid address")
218+[O(o, toString(an))]
222219 }
223220
224221
225222
226-@Callable(S)
223+@Callable(R)
227224 func _deleteEntry (v) = {
228- let ah = R(S)
229- if ((ah == ah))
225+ let ag = Q(R)
226+ if ((ag == ag))
230227 then [DeleteEntry(v)]
231228 else throw("Strict value is not equal to itself.")
232229 }
233230
234231
235232
236-@Callable(S)
237-func addAdmin (an) = {
238- let ah = R(S)
239- if ((ah == ah))
233+@Callable(R)
234+func addAdmin (am) = {
235+ let ag = Q(R)
236+ if ((ag == ag))
240237 then {
241- let ao = valueOrErrorMessage(addressFromString(an), "invalid address")
242- let ap = (o + toString(ao))
243-[P(ap, an)]
238+ let an = valueOrErrorMessage(addressFromString(am), "invalid address")
239+ let ao = (o + toString(an))
240+[O(ao, am)]
244241 }
245242 else throw("Strict value is not equal to itself.")
246243 }
247244
248245
249246
250-@Callable(S)
251-func changeMainAdmin (aq) = {
252- let ar = R(S)
253- if ((ar == ar))
247+@Callable(R)
248+func changeMainAdmin (ap) = {
249+ let aq = Q(R)
250+ if ((aq == aq))
254251 then {
255- let ao = valueOrErrorMessage(addressFromString(aq), "invalid address")
256- let as = DeleteEntry(o)
257- if ((as == as))
258- then [P(o, toString(ao))]
252+ let an = valueOrErrorMessage(addressFromString(ap), "invalid address")
253+ let ar = DeleteEntry(o)
254+ if ((ar == ar))
255+ then [O(o, toString(an))]
259256 else throw("Strict value is not equal to itself.")
260257 }
261258 else throw("Strict value is not equal to itself.")
262259 }
263260
264261
265262
266-@Callable(S)
267-func updateOtherAdminAddress (aq) = {
268- let ar = R(S)
269- if ((ar == ar))
263+@Callable(R)
264+func updateOtherAdminAddress (ap) = {
265+ let aq = Q(R)
266+ if ((aq == aq))
270267 then {
271- let ao = valueOrErrorMessage(addressFromString(aq), "invalid address")
272- let at = toString(S.caller)
273- let U = (o + at)
274- let au = F(w(U), "no previous address found")
275- if ((au == au))
268+ let an = valueOrErrorMessage(addressFromString(ap), "invalid address")
269+ let as = toString(R.caller)
270+ let T = (o + as)
271+ let at = F(w(T), "no previous address found")
272+ if ((at == at))
276273 then {
277- let av = DeleteEntry(U)
278- if ((av == av))
279- then [P(U, toString(ao))]
274+ let au = DeleteEntry(T)
275+ if ((au == au))
276+ then [O(T, toString(an))]
280277 else throw("Strict value is not equal to itself.")
281278 }
282279 else throw("Strict value is not equal to itself.")
283280 }
284281 else throw("Strict value is not equal to itself.")
285282 }
286283
287284
288285
289-@Callable(S)
290-func removeOtherAdmin (aw) = {
291- let ar = R(S)
292- if ((ar == ar))
286+@Callable(R)
287+func removeOtherAdmin (av) = {
288+ let aq = Q(R)
289+ if ((aq == aq))
293290 then {
294- let ao = valueOrErrorMessage(addressFromString(aw), "invalid address")
295- let ax = (o + toString(ao))
296- let ay = DeleteEntry(ax)
297- if ((ay == ay))
291+ let an = valueOrErrorMessage(addressFromString(av), "invalid address")
292+ let aw = (o + toString(an))
293+ let ax = DeleteEntry(aw)
294+ if ((ax == ax))
298295 then nil
299296 else throw("Strict value is not equal to itself.")
300297 }
301298 else throw("Strict value is not equal to itself.")
302299 }
303300
304301
305302
306-@Callable(S)
307-func updateConfigValue (v,Z) = {
308- let ar = R(S)
309- if ((ar == ar))
303+@Callable(R)
304+func updateConfigValue (v,Y) = {
305+ let aq = Q(R)
306+ if ((aq == aq))
310307 then {
311- let as = DeleteEntry(v)
312- if ((as == as))
313- then [Y(v, Z)]
308+ let ar = DeleteEntry(v)
309+ if ((ar == ar))
310+ then [X(v, Y)]
314311 else throw("Strict value is not equal to itself.")
315312 }
316313 else throw("Strict value is not equal to itself.")
317314 }
318315
319316
320317
321-@Callable(S)
322-func _getDaysLeftToClaim (az,ac,aA) = {
323- let aB = R(S)
324- if ((aB == aB))
318+@Callable(R)
319+func _getDaysLeftToClaim (ay,ab,az) = {
320+ let aA = Q(R)
321+ if ((aA == aA))
325322 then {
326- let aC = valueOrErrorMessage(addressFromString(az), "invalid address")
327- if ((aC == aC))
323+ let aB = valueOrErrorMessage(addressFromString(ay), "invalid address")
324+ if ((aB == aB))
328325 then {
329- let aD = ((("_" + ac) + "_") + toString(aA))
330- let aE = ((az + aD) + f)
331- let aF = valueOrErrorMessage(u(aE), ("no entry for " + az))
332- let aG = L((aF - height))
333- $Tuple2(nil, aG)
326+ let aC = ((("_" + ab) + "_") + toString(az))
327+ let aD = ((ay + aC) + f)
328+ let aE = valueOrErrorMessage(u(aD), ("no entry for " + ay))
329+ let aF = L((aE - height))
330+ $Tuple2(nil, aF)
334331 }
335332 else throw("Strict value is not equal to itself.")
336333 }
337334 else throw("Strict value is not equal to itself.")
338335 }
339336
340337
341338
342-@Callable(S)
343-func Lock (aH,ac,aA) = {
344- let aC = z((1 != size(S.payments)), "attach amount you want to lock")
345- if ((aC == aC))
339+@Callable(R)
340+func Lock (aG,ab,az) = {
341+ let aB = z((1 != size(R.payments)), "attach amount you want to lock")
342+ if ((aB == aB))
346343 then {
347- let aI = valueOrErrorMessage(S.payments[0].assetId, "no assetId for the attached asset")
348- let aJ = toBase58String(aI)
349- let aK = z((w(ac) != aJ), "asset not supported")
350- if ((aK == aK))
344+ let aH = valueOrErrorMessage(R.payments[0].assetId, "no assetId for the attached asset")
345+ let aI = toBase58String(aH)
346+ let aJ = z((w(ab) != aI), "asset not supported")
347+ if ((aJ == aJ))
351348 then {
352- let aL = aH
353- let aM = toBase58String(S.caller.bytes)
354- let aN = S.payments[0].amount
355- let aO = C(u((ac + c)), "internal error: minimum stacking amount not specified")
356- let aP = C(u((ac + d)), "internal error: maximum staking amount not specified")
357- let aQ = z(if ((aO > aN))
349+ let aK = aG
350+ let aL = toBase58String(R.caller.bytes)
351+ let aM = R.payments[0].amount
352+ let aN = C(u((ab + c)), "internal error: minimum stacking amount not specified")
353+ let aO = C(u((ab + d)), "internal error: maximum staking amount not specified")
354+ let aP = z(if ((aN > aM))
358355 then true
359- else (aN > aP), "staking amount is out of range")
360- if ((aQ == aQ))
356+ else (aM > aO), "staking amount is out of range")
357+ if ((aP == aP))
361358 then {
362- let aR = (aM + k)
363- let aS = if (!(isDefined(u(aR))))
359+ let aQ = (aL + k)
360+ let aR = if (!(isDefined(u(aQ))))
364361 then 0
365- else (aN + value(u(aR)))
366- let aT = z((aS > aP), "you have maxed out your quota")
367- if ((aT == aT))
362+ else (aM + value(u(aQ)))
363+ let aS = z((aR > aO), "you have maxed out your quota")
364+ if ((aS == aS))
368365 then {
369- let aU = toString(aA)
370- let aV = ((("_" + ac) + "_") + aU)
371- let aW = (aM + aV)
372- let aX = ((aM + aV) + i)
373- let aY = ((aM + aV) + h)
374- let aZ = ((aM + aV) + l)
375- let ba = ((aM + aV) + g)
376- let bb = ((aM + aV) + j)
377- let aE = ((aM + aV) + f)
378- let bc = ((aM + aV) + n)
379- let bd = invoke(Address(fromBase58String(y(o))), "getAPYAmount", [aM, ac, aA], nil)
380- let be = {
381- let E = bd
366+ let aT = toString(az)
367+ let aU = ((("_" + ab) + "_") + aT)
368+ let aV = (aL + aU)
369+ let aW = ((aL + aU) + i)
370+ let aX = ((aL + aU) + h)
371+ let aY = ((aL + aU) + l)
372+ let aZ = ((aL + aU) + g)
373+ let ba = ((aL + aU) + j)
374+ let aD = ((aL + aU) + f)
375+ let bb = ((aL + aU) + n)
376+ let bc = invoke(Address(fromBase58String(y(o))), "getAPYAmount", [aL, ab, az], nil)
377+ let bd = {
378+ let E = bc
382379 if ($isInstanceOf(E, "Int"))
383380 then {
384- let bf = E
385- bf
381+ let be = E
382+ be
386383 }
387- else throw(("could not get the APY amount for " + aM))
384+ else throw(("could not get the APY amount for " + aL))
388385 }
389-[Q(aW, aA), P(aX, aM), P(aY, aJ), Q(aZ, aL), Q(ba, S.payments[0].amount), Q(aR, aS), Q(aE, J(aH)), Q(bb, be), BooleanEntry(bc, false)]
386+[P(aV, az), O(aW, aL), O(aX, aI), P(aY, aK), P(aZ, R.payments[0].amount), P(aQ, aR), P(aD, J(aG)), P(ba, bd), BooleanEntry(bb, false)]
390387 }
391388 else throw("Strict value is not equal to itself.")
392389 }
393390 else throw("Strict value is not equal to itself.")
394391 }
395392 else throw("Strict value is not equal to itself.")
396393 }
397394 else throw("Strict value is not equal to itself.")
398395 }
399396
400397
401398
402-@Callable(S)
403-func Claim (ac,aA) = {
404- let aM = toString(S.caller)
405- let aJ = valueOrErrorMessage(w(ac), "invalid asset")
406- if ((aJ == aJ))
399+@Callable(R)
400+func Claim (ab,az) = {
401+ let aL = toString(R.caller)
402+ let aI = valueOrErrorMessage(w(ab), "invalid asset")
403+ if ((aI == aI))
407404 then {
408- let aV = ((("_" + ac) + "_") + toString(aA))
409- let bg = valueOrErrorMessage(w(((aM + aV) + i)), ("no entry found for user " + aM))
410- if ((bg == bg))
405+ let aU = ((("_" + ab) + "_") + toString(az))
406+ let bf = valueOrErrorMessage(w(((aL + aU) + i)), ("no entry found for user " + aL))
407+ if ((bf == bf))
411408 then {
412- let bh = valueOrErrorMessage(w(((aM + aV) + h)), "asset not locked by user")
413- let bi = ((aM + aV) + n)
414- let aB = z((valueOrErrorMessage(getBoolean(bi), "cannot ascertain claimability") == true), (("user + " + aM) + " already claimed"))
415- if ((aB == aB))
409+ let bg = valueOrErrorMessage(w(((aL + aU) + h)), "asset not locked by user")
410+ let bh = ((aL + aU) + n)
411+ let aA = z((valueOrErrorMessage(getBoolean(bh), "cannot ascertain claimability") == true), (("user + " + aL) + " already claimed"))
412+ if ((aA == aA))
416413 then {
417- let ba = x(((aM + aV) + g))
418- let bj = addressFromStringValue(F(w((ac + b)), "internal error: no reserve found"))
419- let bk = x(((aM + aV) + j))
420- let bl = x(((aM + aV) + f))
421- let M = if ((0 >= (bl - height)))
414+ let aZ = x(((aL + aU) + g))
415+ let bi = addressFromStringValue(F(w((ab + b)), "internal error: no reserve found"))
416+ let bj = x(((aL + aU) + j))
417+ let bk = x(((aL + aU) + f))
418+ let M = if ((0 >= (bk - height)))
422419 then 0
423- else (bl - height)
424- let bm = L(M)
425- let aC = z((bl > height), (toString(bm) + "/1000 days left to claim"))
426- if ((aC == aC))
420+ else (bk - height)
421+ let bl = L(M)
422+ let aB = z((bk > height), (toString(bl) + " days left to claim"))
423+ if ((aB == aB))
427424 then {
428- let bn = invoke(bj, "transferInterest", [aM, bk, fromBase58String(bh)], nil)
429- if ((bn == bn))
430- then [ScriptTransfer(addressFromStringValue(aM), ba, fromBase58String(bh)), BooleanEntry(bi, true)]
425+ let bm = invoke(bi, "transferInterest", [aL, bj, fromBase58String(bg)], nil)
426+ if ((bm == bm))
427+ then [ScriptTransfer(addressFromStringValue(aL), aZ, fromBase58String(bg)), BooleanEntry(bh, true)]
431428 else throw("Strict value is not equal to itself.")
432429 }
433430 else throw("Strict value is not equal to itself.")
434431 }
435432 else throw("Strict value is not equal to itself.")
436433 }
437434 else throw("Strict value is not equal to itself.")
438435 }
439436 else throw("Strict value is not equal to itself.")
440437 }
441438
442439

github/deemru/w8io/c3f4982 
119.33 ms