tx · 87JgVCYvuAFx3rLYScWLgiqW9Ls6PzV4ntEzgMMvBMnE

3MwLW8P5yh5T2xML9QqFuVxkVkm9RXqnzXh:  -0.00900000 Waves

2022.12.02 19:30 [2342968] smart account 3MwLW8P5yh5T2xML9QqFuVxkVkm9RXqnzXh > SELF 0.00000000 Waves

{ "type": 13, "id": "87JgVCYvuAFx3rLYScWLgiqW9Ls6PzV4ntEzgMMvBMnE", "fee": 900000, "feeAssetId": null, "timestamp": 1669998611566, "version": 2, "chainId": 84, "sender": "3MwLW8P5yh5T2xML9QqFuVxkVkm9RXqnzXh", "senderPublicKey": "HscGVyJG5M3NMHWKfQbucCBsFLGPi8VmTxTAmcBbaWTa", "proofs": [ "xnVPEGpdZPHwgsCuumgdkdDwVLWAvibYy42YfPv6hFyBMSv4gH6ShgBkbLxtDwFx97KdKSGVMVjYtQwU5yKPm4T" ], "script": "base64:BgITCAISAwoBCBIDCgEIEgASAwoBARYABlNjYWxlNgDAhD0ABlNjYWxlOACAwtcvAAdTY2FsZTE2CQBoAgUGU2NhbGU4BQZTY2FsZTgACnZhbGlkYXRvcnMJAMwIAgIjM05BbXFHanhSQlJQb1JIWlVVcXZoaU5TNmF4bkdwaW5MSEMFA25pbAAPbW9uZXlCb3hBZGRyZXNzCQEHQWRkcmVzcwEBGgFUZKnP467xWXotJQOt2k8QiNBvrQpHH8SpAAdhc3NldElkAixISG1hRlFwVW9id0t4emp6NEVDYUJQdG9GNjlrdWpLd1UyY296YVV6VHNndgALcHV6emxlUG9vbHMJAMwIAgIjM042U3RKZGdtVGZBUnNSTm45WHQ1ckRZRXMzcHI0S0d5MXYFA25pbAEKZ2V0QmFsYW5jZQEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgRVbml0BAF4BQckbWF0Y2gwCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQkA8AcCBQR0aGlzCQEFdmFsdWUBBQdhc3NldElkAQl0cnlHZXRJbnQCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCaCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEJdHJ5R2V0U3RyAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFiBQckbWF0Y2gwBQFiAgABDmdldEFzc2V0U3RyaW5nAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJANgEAQUBYgIFV0FWRVMBG2dldFB1enpsZVBvb2xTdXBwbGllZEFtb3VudAEGcG9vbElkBAdiYWxhbmNlCQDwBwIJAQdBZGRyZXNzAQkA2QQBBQZwb29sSWQJANkEAQUHYXNzZXRJZAUHYmFsYW5jZQEWZ2V0VG90YWxTdXBwbGllZEFtb3VudAAEC2N1cnJlbnRQb29sCQEJdHJ5R2V0U3RyAgUEdGhpcwILY3VycmVudFBvb2wDCQAAAgULY3VycmVudFBvb2wCAAkAAgEJAKwCAgIZQ2Fubm90IGZpbmQgcG9vbCB3aXRoIGlkIAULY3VycmVudFBvb2wJARtnZXRQdXp6bGVQb29sU3VwcGxpZWRBbW91bnQBBQtjdXJyZW50UG9vbAEWd2l0aGRyYXdGcm9tUHV6emxlUG9vbAIGcG9vbElkBmFtb3VudAQLcG9vbEFkZHJlc3MJAQdBZGRyZXNzAQkA2QQBBQZwb29sSWQECndpdGhkcmF3VHgDCQBmAgUGYW1vdW50AAAJAPwHBAULcG9vbEFkZHJlc3MCCHdpdGhkcmF3CQDMCAIFB2Fzc2V0SWQJAMwIAgUGYW1vdW50BQNuaWwFA25pbAIAAwkAAAIFCndpdGhkcmF3VHgFCndpdGhkcmF3VHgFCndpdGhkcmF3VHgJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BDmNhbGN1bGF0ZVNSYXRlAAQObGFzdENoZWNrU1JhdGUJAQl0cnlHZXRJbnQCBQR0aGlzAhVnbG9iYWxfbGFzdENoZWNrU1JhdGUEDHN0YWtlZEFtb3VudAkBCXRyeUdldEludAIFBHRoaXMCDWdsb2JhbF9zdGFrZWQEEWxhc3RDaGVja1NBbW91bnV0CQBrAwUMc3Rha2VkQW1vdW50BQ5sYXN0Q2hlY2tTUmF0ZQUGU2NhbGU4AwkAAAIFEWxhc3RDaGVja1NBbW91bnV0AAAFBlNjYWxlOAQFc1JhdGUJAGsDBQ5sYXN0Q2hlY2tTUmF0ZQkBFmdldFRvdGFsU3VwcGxpZWRBbW91bnQABRFsYXN0Q2hlY2tTQW1vdW51dAMJAGYCBQZTY2FsZTgFBXNSYXRlBQZTY2FsZTgFBXNSYXRlAQdjYWxjRmVlAAQMc3Rha2VkQW1vdW50CQEJdHJ5R2V0SW50AgUEdGhpcwINZ2xvYmFsX3N0YWtlZAQJbGFzdFNSYXRlCQEJdHJ5R2V0SW50AgUEdGhpcwIVZ2xvYmFsX2xhc3RDaGVja1NSYXRlBAdzQW1vdW50CQBrAwUMc3Rha2VkQW1vdW50BQlsYXN0U1JhdGUFBlNjYWxlOAQNdG90YWxTdXBwbGllZAkBFmdldFRvdGFsU3VwcGxpZWRBbW91bnQABARkaWZmCQBlAgUNdG90YWxTdXBwbGllZAUHc0Ftb3VudAQDZmVlCQBrAwUEZGlmZgDAlrECBQZTY2FsZTgDCQBmAgUDZmVlAAAFA2ZlZQAAAQ9jaGFyZ2VGZWVSZXN1bHQABAtjdXJyZW50UG9vbAkBCXRyeUdldFN0cgIFBHRoaXMCC2N1cnJlbnRQb29sBANmZWUJAQdjYWxjRmVlAAMJAAACBQtjdXJyZW50UG9vbAIACQACAQkArAICAhlDYW5ub3QgZmluZCBwb29sIHdpdGggaWQgBQtjdXJyZW50UG9vbAQKd2l0aGRyYXdUeAkBFndpdGhkcmF3RnJvbVB1enpsZVBvb2wCBQtjdXJyZW50UG9vbAUDZmVlAwkAAAIFCndpdGhkcmF3VHgFCndpdGhkcmF3VHgECGNoYXJnZVR4CQD8BwQFD21vbmV5Qm94QWRkcmVzcwIHZGVwb3NpdAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQDZBAEFB2Fzc2V0SWQFA2ZlZQUDbmlsAwkAAAIFCGNoYXJnZVR4BQhjaGFyZ2VUeAUIY2hhcmdlVHgJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BDHJlY2FsY1Jlc3VsdAEMc3Rha2VkQ2hhbmdlBAxzdGFrZWRBbW91bnQJAQl0cnlHZXRJbnQCBQR0aGlzAg1nbG9iYWxfc3Rha2VkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg1nbG9iYWxfc3Rha2VkCQBkAgUMc3Rha2VkQW1vdW50BQxzdGFrZWRDaGFuZ2UJAMwIAgkBDEludGVnZXJFbnRyeQICFWdsb2JhbF9sYXN0Q2hlY2tTUmF0ZQkBDmNhbGN1bGF0ZVNSYXRlAAUDbmlsAQxzdXBwbHlSZXN1bHQBBnBvb2xJZAMJAAACCQDPCAIFC3B1enpsZVBvb2xzBQZwb29sSWQFBHVuaXQJAAIBCQCsAgICD1Vua25vd24gcG9vbElkIAUGcG9vbElkBAphc3NldEJ5dGVzCQDZBAEFB2Fzc2V0SWQEB2JhbGFuY2UJAQpnZXRCYWxhbmNlAQUKYXNzZXRCeXRlcwQDaW52CQD8BwQJAQdBZGRyZXNzAQkA2QQBBQZwb29sSWQCBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQphc3NldEJ5dGVzBQdiYWxhbmNlBQNuaWwDCQAAAgUDaW52BQNpbnYJAMwIAgkBC1N0cmluZ0VudHJ5AgILY3VycmVudFBvb2wFBnBvb2xJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQ53aXRoZHJhd1Jlc3VsdAAEC2N1cnJlbnRQb29sCQEJdHJ5R2V0U3RyAgUEdGhpcwILY3VycmVudFBvb2wDCQAAAgULY3VycmVudFBvb2wCAAkAAgEJAKwCAgIZQ2Fubm90IGZpbmQgcG9vbCB3aXRoIGlkIAULY3VycmVudFBvb2wEBmFtb3VudAkBG2dldFB1enpsZVBvb2xTdXBwbGllZEFtb3VudAEFC2N1cnJlbnRQb29sBAJ0eAkBFndpdGhkcmF3RnJvbVB1enpsZVBvb2wCBQtjdXJyZW50UG9vbAUGYW1vdW50AwkAAAIFAnR4BQJ0eAUCdHgJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BC3N0YWtlUmVzdWx0AgR1c2VyBmFtb3VudAQHc0Ftb3VudAkAawMFBmFtb3VudAUGU2NhbGU4CQEOY2FsY3VsYXRlU1JhdGUACQDOCAIJAQxyZWNhbGNSZXN1bHQBBQdzQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBHVzZXICB19zdGFrZWQJAGQCCQEJdHJ5R2V0SW50AgUEdGhpcwkArAICBQR1c2VyAgdfc3Rha2VkBQdzQW1vdW50BQNuaWwBDXVuc3Rha2VSZXN1bHQCBHVzZXIGYW1vdW50BAdzQW1vdW50CQBrAwUGYW1vdW50BQZTY2FsZTgJAQ5jYWxjdWxhdGVTUmF0ZQAECnVzZXJTdGFrZWQJAQl0cnlHZXRJbnQCBQR0aGlzCQCsAgIFBHVzZXICB19zdGFrZWQEDXVuc3Rha2VBbW91bnQDCQBmAgUHc0Ftb3VudAUKdXNlclN0YWtlZAUKdXNlclN0YWtlZAUHc0Ftb3VudAkAzggCCQEMcmVjYWxjUmVzdWx0AQkBAS0BBQ11bnN0YWtlQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBHVzZXICB19zdGFrZWQJAGUCBQp1c2VyU3Rha2VkBQ11bnN0YWtlQW1vdW50BQNuaWwEAWkBBGluaXQBBnBvb2xJZAQLY3VycmVudFBvb2wJAQl0cnlHZXRTdHICBQR0aGlzAgtjdXJyZW50UG9vbAMJAAACCQDPCAIFCnZhbGlkYXRvcnMJAKUIAQgFAWkGY2FsbGVyBQR1bml0CQACAQINQWNjZXNzIGRlbmllZAMJAAACBQtjdXJyZW50UG9vbAIACQDMCAIJAQtTdHJpbmdFbnRyeQICC2N1cnJlbnRQb29sBQZwb29sSWQFA25pbAUDbmlsAWkBCXJlYmFsYW5jZQEGcG9vbElkBAtjdXJyZW50UG9vbAkBCXRyeUdldFN0cgIFBHRoaXMCC2N1cnJlbnRQb29sAwkAAAIJAM8IAgUKdmFsaWRhdG9ycwkApQgBCAUBaQZjYWxsZXIFBHVuaXQJAAIBAg1BY2Nlc3MgZGVuaWVkAwkAAAIFC2N1cnJlbnRQb29sBQZwb29sSWQJAAIBCQCsAgICE0FscmVhZHkgc3VwcGxpZWQgdG8FC2N1cnJlbnRQb29sBAp3aXRoZHJhd1R4CQEOd2l0aGRyYXdSZXN1bHQAAwkAAAIFCndpdGhkcmF3VHgFCndpdGhkcmF3VHgJAM4IAgkBDHN1cHBseVJlc3VsdAEFBnBvb2xJZAkBDHJlY2FsY1Jlc3VsdAEAAAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVzdGFrZQAEBHVzZXIJAKUIAQgFAWkGY2FsbGVyBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAtjdXJyZW50UG9vbAkBCXRyeUdldFN0cgIFBHRoaXMCC2N1cnJlbnRQb29sBAtjaGFyZ2VGZWVUeAkBD2NoYXJnZUZlZVJlc3VsdAADCQAAAgULY2hhcmdlRmVlVHgFC2NoYXJnZUZlZVR4AwMJAGcCAAAFBmFtb3VudAYJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkA2QQBBQdhc3NldElkCQACAQIWaW52YWxpZCB0b2tlbiBhdHRhY2hlZAMJAAACBQtjdXJyZW50UG9vbAIACQACAQIUUG9vbCBub3QgaW5pdGlhbGl6ZWQJAM4IAgkBC3N0YWtlUmVzdWx0AgUEdXNlcgUGYW1vdW50CQEMc3VwcGx5UmVzdWx0AQULY3VycmVudFBvb2wJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHdW5zdGFrZQEGYW1vdW50BAR1c2VyCQClCAEIBQFpBmNhbGxlcgQLY3VycmVudFBvb2wJAQl0cnlHZXRTdHICBQR0aGlzAgtjdXJyZW50UG9vbAQCdHgJARZ3aXRoZHJhd0Zyb21QdXp6bGVQb29sAgULY3VycmVudFBvb2wFBmFtb3VudAMJAAACBQJ0eAUCdHgEDHN0YXRlQ2hhbmdlcwkAzggCCQENdW5zdGFrZVJlc3VsdAIFBHVzZXIFBmFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAkA2QQBBQdhc3NldElkBQNuaWwEC2NoYXJnZUZlZVR4CQEPY2hhcmdlRmVlUmVzdWx0AAMJAAACBQtjaGFyZ2VGZWVUeAULY2hhcmdlRmVlVHgFDHN0YXRlQ2hhbmdlcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXnU7eCh", "height": 2342968, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2k6WvzLhEbW6LhgTTxsyFLMx6ME7tgJibc9t3o9qLTSc Next: 8dMknpFnq3hhBJm6PSRVRyHKB74f6XueAkzEsKRUD67x Diff:
OldNewDifferences
8888 let A = k(this, "global_lastCheckSRate")
8989 let B = k(this, "global_staked")
9090 let C = fraction(B, A, b)
91- let D = t()
9291 if ((C == 0))
9392 then b
9493 else {
95- let E = D
96- let F = fraction(A, E, C)
97- if ((b > F))
94+ let D = fraction(A, t(), C)
95+ if ((b > D))
9896 then b
99- else F
97+ else D
10098 }
10199 }
102100
103101
104-func G () = {
102+func E () = {
105103 let B = k(this, "global_staked")
106- let H = k(this, "global_lastCheckSRate")
107- let I = (t() - fraction(B, H, b))
104+ let F = k(this, "global_lastCheckSRate")
105+ let G = fraction(B, F, b)
106+ let H = t()
107+ let I = (H - G)
108108 let J = fraction(I, 5000000, b)
109109 if ((J > 0))
110110 then J
114114
115115 func K () = {
116116 let u = o(this, "currentPool")
117- let J = G()
117+ let J = E()
118118 if ((u == ""))
119119 then throw(("Cannot find pool with id " + u))
120120 else {
164164
165165
166166 func T (U,w) = {
167- let V = fraction(w, b, z())
168- (M(V) ++ [IntegerEntry((U + "_staked"), (k(this, (U + "_staked")) + V))])
167+ let G = fraction(w, b, z())
168+ (M(G) ++ [IntegerEntry((U + "_staked"), (k(this, (U + "_staked")) + G))])
169169 }
170170
171171
172-func W (U,w) = {
173- let V = fraction(w, b, z())
174- let X = k(this, (U + "_staked"))
175- let Y = if ((V > X))
176- then X
177- else V
178- (M(-(Y)) ++ [IntegerEntry((U + "_staked"), (X - Y))])
172+func V (U,w) = {
173+ let G = fraction(w, b, z())
174+ let W = k(this, (U + "_staked"))
175+ let X = if ((G > W))
176+ then W
177+ else G
178+ (M(-(X)) ++ [IntegerEntry((U + "_staked"), (W - X))])
179179 }
180180
181181
182-@Callable(Z)
182+@Callable(Y)
183183 func init (r) = {
184184 let u = o(this, "currentPool")
185- if ((indexOf(d, toString(Z.caller)) == unit))
185+ if ((indexOf(d, toString(Y.caller)) == unit))
186186 then throw("Access denied")
187187 else if ((u == ""))
188188 then [StringEntry("currentPool", r)]
191191
192192
193193
194-@Callable(Z)
194+@Callable(Y)
195195 func rebalance (r) = {
196196 let u = o(this, "currentPool")
197- if ((indexOf(d, toString(Z.caller)) == unit))
197+ if ((indexOf(d, toString(Y.caller)) == unit))
198198 then throw("Access denied")
199199 else if ((u == r))
200200 then throw(("Already supplied to" + u))
208208
209209
210210
211-@Callable(Z)
211+@Callable(Y)
212212 func stake () = {
213- let U = toString(Z.caller)
214- let w = Z.payments[0].amount
213+ let U = toString(Y.caller)
214+ let w = Y.payments[0].amount
215215 let u = o(this, "currentPool")
216- let aa = K()
217- if ((aa == aa))
216+ let Z = K()
217+ if ((Z == Z))
218218 then if (if ((0 >= w))
219219 then true
220- else (Z.payments[0].assetId != fromBase58String(f)))
220+ else (Y.payments[0].assetId != fromBase58String(f)))
221221 then throw("invalid token attached")
222222 else if ((u == ""))
223223 then throw("Pool not initialized")
227227
228228
229229
230-@Callable(Z)
230+@Callable(Y)
231231 func unstake (w) = {
232- let U = toString(Z.caller)
232+ let U = toString(Y.caller)
233233 let u = o(this, "currentPool")
234- let aa = K()
235- if ((aa == aa))
234+ let S = v(u, w)
235+ if ((S == S))
236236 then {
237- let S = v(u, w)
238- if ((S == S))
239- then (W(U, w) ++ [ScriptTransfer(Z.caller, w, fromBase58String(f))])
237+ let aa = (V(U, w) ++ [ScriptTransfer(Y.caller, w, fromBase58String(f))])
238+ let Z = K()
239+ if ((Z == Z))
240+ then aa
240241 else throw("Strict value is not equal to itself.")
241242 }
242243 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000000
55
66 let b = 100000000
77
88 let c = (b * b)
99
1010 let d = ["3NAmqGjxRBRPoRHZUUqvhiNS6axnGpinLHC"]
1111
1212 let e = Address(base58'3My6LmrRSRvJ73T14oT5k53SGPavGFoacWc')
1313
1414 let f = "HHmaFQpUobwKxzjz4ECaBPtoF69kujKwU2cozaUzTsgv"
1515
1616 let g = ["3N6StJdgmTfARsRNn9Xt5rDYEs3pr4KGy1v"]
1717
1818 func h (f) = {
1919 let i = f
2020 if ($isInstanceOf(i, "Unit"))
2121 then {
2222 let j = i
2323 wavesBalance(this).available
2424 }
2525 else assetBalance(this, value(f))
2626 }
2727
2828
2929 func k (l,m) = {
3030 let i = getInteger(l, m)
3131 if ($isInstanceOf(i, "Int"))
3232 then {
3333 let n = i
3434 n
3535 }
3636 else 0
3737 }
3838
3939
4040 func o (l,m) = {
4141 let i = getString(l, m)
4242 if ($isInstanceOf(i, "String"))
4343 then {
4444 let n = i
4545 n
4646 }
4747 else ""
4848 }
4949
5050
5151 func p (f) = {
5252 let i = f
5353 if ($isInstanceOf(i, "ByteVector"))
5454 then {
5555 let n = i
5656 toBase58String(n)
5757 }
5858 else "WAVES"
5959 }
6060
6161
6262 func q (r) = {
6363 let s = assetBalance(Address(fromBase58String(r)), fromBase58String(f))
6464 s
6565 }
6666
6767
6868 func t () = {
6969 let u = o(this, "currentPool")
7070 if ((u == ""))
7171 then throw(("Cannot find pool with id " + u))
7272 else q(u)
7373 }
7474
7575
7676 func v (r,w) = {
7777 let x = Address(fromBase58String(r))
7878 let y = if ((w > 0))
7979 then invoke(x, "withdraw", [f, w], nil)
8080 else ""
8181 if ((y == y))
8282 then y
8383 else throw("Strict value is not equal to itself.")
8484 }
8585
8686
8787 func z () = {
8888 let A = k(this, "global_lastCheckSRate")
8989 let B = k(this, "global_staked")
9090 let C = fraction(B, A, b)
91- let D = t()
9291 if ((C == 0))
9392 then b
9493 else {
95- let E = D
96- let F = fraction(A, E, C)
97- if ((b > F))
94+ let D = fraction(A, t(), C)
95+ if ((b > D))
9896 then b
99- else F
97+ else D
10098 }
10199 }
102100
103101
104-func G () = {
102+func E () = {
105103 let B = k(this, "global_staked")
106- let H = k(this, "global_lastCheckSRate")
107- let I = (t() - fraction(B, H, b))
104+ let F = k(this, "global_lastCheckSRate")
105+ let G = fraction(B, F, b)
106+ let H = t()
107+ let I = (H - G)
108108 let J = fraction(I, 5000000, b)
109109 if ((J > 0))
110110 then J
111111 else 0
112112 }
113113
114114
115115 func K () = {
116116 let u = o(this, "currentPool")
117- let J = G()
117+ let J = E()
118118 if ((u == ""))
119119 then throw(("Cannot find pool with id " + u))
120120 else {
121121 let y = v(u, J)
122122 if ((y == y))
123123 then {
124124 let L = invoke(e, "deposit", nil, [AttachedPayment(fromBase58String(f), J)])
125125 if ((L == L))
126126 then L
127127 else throw("Strict value is not equal to itself.")
128128 }
129129 else throw("Strict value is not equal to itself.")
130130 }
131131 }
132132
133133
134134 func M (N) = {
135135 let B = k(this, "global_staked")
136136 [IntegerEntry("global_staked", (B + N)), IntegerEntry("global_lastCheckSRate", z())]
137137 }
138138
139139
140140 func O (r) = if ((indexOf(g, r) == unit))
141141 then throw(("Unknown poolId " + r))
142142 else {
143143 let P = fromBase58String(f)
144144 let s = h(P)
145145 let Q = invoke(Address(fromBase58String(r)), "supply", nil, [AttachedPayment(P, s)])
146146 if ((Q == Q))
147147 then [StringEntry("currentPool", r)]
148148 else throw("Strict value is not equal to itself.")
149149 }
150150
151151
152152 func R () = {
153153 let u = o(this, "currentPool")
154154 if ((u == ""))
155155 then throw(("Cannot find pool with id " + u))
156156 else {
157157 let w = q(u)
158158 let S = v(u, w)
159159 if ((S == S))
160160 then S
161161 else throw("Strict value is not equal to itself.")
162162 }
163163 }
164164
165165
166166 func T (U,w) = {
167- let V = fraction(w, b, z())
168- (M(V) ++ [IntegerEntry((U + "_staked"), (k(this, (U + "_staked")) + V))])
167+ let G = fraction(w, b, z())
168+ (M(G) ++ [IntegerEntry((U + "_staked"), (k(this, (U + "_staked")) + G))])
169169 }
170170
171171
172-func W (U,w) = {
173- let V = fraction(w, b, z())
174- let X = k(this, (U + "_staked"))
175- let Y = if ((V > X))
176- then X
177- else V
178- (M(-(Y)) ++ [IntegerEntry((U + "_staked"), (X - Y))])
172+func V (U,w) = {
173+ let G = fraction(w, b, z())
174+ let W = k(this, (U + "_staked"))
175+ let X = if ((G > W))
176+ then W
177+ else G
178+ (M(-(X)) ++ [IntegerEntry((U + "_staked"), (W - X))])
179179 }
180180
181181
182-@Callable(Z)
182+@Callable(Y)
183183 func init (r) = {
184184 let u = o(this, "currentPool")
185- if ((indexOf(d, toString(Z.caller)) == unit))
185+ if ((indexOf(d, toString(Y.caller)) == unit))
186186 then throw("Access denied")
187187 else if ((u == ""))
188188 then [StringEntry("currentPool", r)]
189189 else nil
190190 }
191191
192192
193193
194-@Callable(Z)
194+@Callable(Y)
195195 func rebalance (r) = {
196196 let u = o(this, "currentPool")
197- if ((indexOf(d, toString(Z.caller)) == unit))
197+ if ((indexOf(d, toString(Y.caller)) == unit))
198198 then throw("Access denied")
199199 else if ((u == r))
200200 then throw(("Already supplied to" + u))
201201 else {
202202 let y = R()
203203 if ((y == y))
204204 then (O(r) ++ M(0))
205205 else throw("Strict value is not equal to itself.")
206206 }
207207 }
208208
209209
210210
211-@Callable(Z)
211+@Callable(Y)
212212 func stake () = {
213- let U = toString(Z.caller)
214- let w = Z.payments[0].amount
213+ let U = toString(Y.caller)
214+ let w = Y.payments[0].amount
215215 let u = o(this, "currentPool")
216- let aa = K()
217- if ((aa == aa))
216+ let Z = K()
217+ if ((Z == Z))
218218 then if (if ((0 >= w))
219219 then true
220- else (Z.payments[0].assetId != fromBase58String(f)))
220+ else (Y.payments[0].assetId != fromBase58String(f)))
221221 then throw("invalid token attached")
222222 else if ((u == ""))
223223 then throw("Pool not initialized")
224224 else (T(U, w) ++ O(u))
225225 else throw("Strict value is not equal to itself.")
226226 }
227227
228228
229229
230-@Callable(Z)
230+@Callable(Y)
231231 func unstake (w) = {
232- let U = toString(Z.caller)
232+ let U = toString(Y.caller)
233233 let u = o(this, "currentPool")
234- let aa = K()
235- if ((aa == aa))
234+ let S = v(u, w)
235+ if ((S == S))
236236 then {
237- let S = v(u, w)
238- if ((S == S))
239- then (W(U, w) ++ [ScriptTransfer(Z.caller, w, fromBase58String(f))])
237+ let aa = (V(U, w) ++ [ScriptTransfer(Y.caller, w, fromBase58String(f))])
238+ let Z = K()
239+ if ((Z == Z))
240+ then aa
240241 else throw("Strict value is not equal to itself.")
241242 }
242243 else throw("Strict value is not equal to itself.")
243244 }
244245
245246
246247 @Verifier(S)
247248 func ab () = sigVerify(S.bodyBytes, S.proofs[0], S.senderPublicKey)
248249

github/deemru/w8io/169f3d6 
48.76 ms