tx · B9ai4yFoDP2ZeBMZqVTernmmfmbyv2hxWHFyHYTi3paW

3N8n6BtTBKRZBoPuMzaPBH9FyJhfv9xDFJH:  -0.01700000 Waves

2022.07.12 15:26 [2136507] smart account 3N8n6BtTBKRZBoPuMzaPBH9FyJhfv9xDFJH > SELF 0.00000000 Waves

{ "type": 13, "id": "B9ai4yFoDP2ZeBMZqVTernmmfmbyv2hxWHFyHYTi3paW", "fee": 1700000, "feeAssetId": null, "timestamp": 1657628874687, "version": 2, "chainId": 84, "sender": "3N8n6BtTBKRZBoPuMzaPBH9FyJhfv9xDFJH", "senderPublicKey": "4hcnYaYoB2XaCzyJ7wfePpG7EfTd6st6aCAhkskJ9cQ5", "proofs": [ "4devfXamrxpsFkC1q7SW4p8J4noVqTCUpNCvqpyVXwwA3oB8zcC9YcPoE7gZjnyTJwEzRCvssKGWD5G6HF3SuRhc" ], "script": "base64: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", "height": 2136507, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GdLzyVURca9Gv6i57jA1vuQNkdMUhNJ6j5dvoGY4fD2p Next: 8v4rP1U7bWWFZpr3pPtTvZgzFhaAd6mUym715Gd6HGUS Diff:
OldNewDifferences
253253 func compoundWXUSDNLP () = {
254254 let compound = value(i.payments[0])
255255 let ca = compound.amount
256- if ((i.caller.bytes != oracle))
256+ if ((i.caller.bytes == oracle))
257257 then throw("You are the only authorized to call this func")
258258 else {
259259 let fromCompound = valueOrElse(getInteger(this, keywxUsdnCompound), 0)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let usdnUsdt = base58'Fm4qczu6Pepz8KUhh3Heb6LeTVfpSMX5vvNgw3x764CS'
55
66 let usdnUsdtLPTCI = base58'i1snzKxSEZVokh9TWj8hTJQEDBsocnL2hRWsSbsMPK7'
77
88 let wxUsdnLP = base58'2sEBVcyDFK2LupCf7MeA4vzHhGK4DC1WjbKGQCLYDqib'
99
1010 let wxUsdnLPTCI = base58'DNy6WBfhPE4y82RonGdHhZEunNotEDzmNfrBomWnsyGi'
1111
1212 let wavesUsdnLp = base58'FLdC14nUVRyiSYjVrMo3X4g8rXQjLbNRaGAyQAm8V68V'
1313
1414 let wavesUsdnLPTCI = base58'EGQiqw8jLjg6SVLUeeqMLjk3EjhEVHtjkJ6w46HyFfep'
1515
1616 let ethUsdnLP = base58'9ZkS8GoUWn69QhgF1RsRtS9CFtc7ZbDNX5N238Jmqjdr'
1717
1818 let ethUsdnLPTCI = base58'GCvR4BmCSjncVEEwr9psvhN5mctdNTGPs8Xp4b2oQNFZ'
1919
2020 let btcUsdnLP = base58'2RmyyZ39ZoPoTWksM6urmjgx9mB8ksP8Ru6ba8u89mZm'
2121
2222 let btcUsdnLPTCI = base58'4jarprgmcev38EU5p2duJAznZSLUxZ831jCT2vf95Hey'
2323
2424 let oracle = base58'3NAVBWBnqieKa3CdN39MAhToyTHShYxX1gB'
2525
2626 let isStopped = false
2727
2828 let keyUsdtUsdn = "STAKED_LP"
2929
3030 let keyUsdtUsdnCompound = "From_Compound"
3131
3232 let keywxUsdnCompound = "WX_USDN_compound"
3333
3434 let keyWXUSDN = "WX_USDN"
3535
3636 let keyWAVESUSDN = "WAVES_USDN"
3737
3838 let keyWavesCompound = "WAVES_USDN_COMPOUND"
3939
4040 let keyBtcUsdn = "BTC_USDN"
4141
4242 let keyBtcUsdnCompound = "BTC_USDN_COMPOUND"
4343
4444 let keyEthUsdn = "ETH_USDN"
4545
4646 let keyEthUsdnCompound = "ETH_USDN_COMPOUND"
4747
4848 @Callable(i)
4949 func depositBtcUsdnLP () = {
5050 let pmt = value(i.payments[0])
5151 let pmtAmount = pmt.amount
5252 if ((pmt.assetId != btcUsdnLP))
5353 then throw("attach BTCUSDNLP tokens only")
5454 else if (isStopped)
5555 then throw("smart contract is on lock")
5656 else {
5757 let tkStaked = valueOrElse(getInteger(this, keyBtcUsdn), 0)
5858 let totalIssued = match assetInfo(btcUsdnLPTCI) {
5959 case asset: Asset =>
6060 asset.quantity
6161 case _ =>
6262 throw("Can't find asset")
6363 }
6464 let one = fraction((totalIssued - assetBalance(this, btcUsdnLPTCI)), 100000000, tkStaked)
6565 let toIssue = fraction(pmtAmount, one, 100000000)
6666 let updateState = IntegerEntry(keyBtcUsdn, (tkStaked + pmtAmount))
6767 let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
6868 if ((LPstake == LPstake))
6969 then {
7070 let LPIssue = Reissue(btcUsdnLPTCI, toIssue, true)
7171 let transfer = ScriptTransfer(i.caller, toIssue, btcUsdnLPTCI)
7272 [LPIssue, transfer, updateState]
7373 }
7474 else throw("Strict value is not equal to itself.")
7575 }
7676 }
7777
7878
7979
8080 @Callable(i)
8181 func depositWavesUsdnLP () = {
8282 let pmt = value(i.payments[0])
8383 let pmtAmount = pmt.amount
8484 if ((pmt.assetId != wavesUsdnLp))
8585 then throw("attach WAVESUSDNLP tokens only")
8686 else if (isStopped)
8787 then throw("smart contract is on lock")
8888 else {
8989 let tkStaked = valueOrElse(getInteger(this, keyWAVESUSDN), 0)
9090 let totalIssued = match assetInfo(wavesUsdnLPTCI) {
9191 case asset: Asset =>
9292 asset.quantity
9393 case _ =>
9494 throw("Can't find asset")
9595 }
9696 let one = fraction(totalIssued, 100000000, tkStaked)
9797 let toIssue = fraction(pmtAmount, one, 100000000)
9898 let updateState = IntegerEntry(keyWAVESUSDN, (tkStaked + pmtAmount))
9999 let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
100100 if ((LPstake == LPstake))
101101 then {
102102 let LPIssue = Reissue(wavesUsdnLPTCI, toIssue, true)
103103 let transfer = ScriptTransfer(i.caller, toIssue, wavesUsdnLPTCI)
104104 [LPIssue, transfer, updateState]
105105 }
106106 else throw("Strict value is not equal to itself.")
107107 }
108108 }
109109
110110
111111
112112 @Callable(i)
113113 func depositWxUsdnLP () = {
114114 let pmt = value(i.payments[0])
115115 let pmtAmount = pmt.amount
116116 if ((pmt.assetId != wxUsdnLP))
117117 then throw("attach WXUSDNLP tokens only")
118118 else if (isStopped)
119119 then throw("smart contract is on lock")
120120 else {
121121 let tkStaked = valueOrElse(getInteger(this, keyWXUSDN), 0)
122122 let totalIssued = match assetInfo(wxUsdnLPTCI) {
123123 case asset: Asset =>
124124 asset.quantity
125125 case _ =>
126126 throw("Can't find asset")
127127 }
128128 let one = fraction(totalIssued, 100000000, tkStaked)
129129 let toIssue = fraction(pmtAmount, one, 100000000)
130130 let updateState = IntegerEntry(keyWXUSDN, (tkStaked + pmtAmount))
131131 let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
132132 if ((LPstake == LPstake))
133133 then {
134134 let LPIssue = Reissue(wxUsdnLPTCI, toIssue, true)
135135 let transfer = ScriptTransfer(i.caller, toIssue, wxUsdnLPTCI)
136136 [LPIssue, transfer, updateState]
137137 }
138138 else throw("Strict value is not equal to itself.")
139139 }
140140 }
141141
142142
143143
144144 @Callable(i)
145145 func depositUsdtUsdnLP () = {
146146 let pmt = value(i.payments[0])
147147 let pmtAmount = pmt.amount
148148 if ((pmt.assetId != usdnUsdt))
149149 then throw("attach USDTUSDNLP tokens only")
150150 else if (isStopped)
151151 then throw("smart contract is on lock")
152152 else {
153153 let tkStaked = valueOrElse(getInteger(this, keyUsdtUsdn), 0)
154154 let totalIssued = match assetInfo(usdnUsdtLPTCI) {
155155 case asset: Asset =>
156156 asset.quantity
157157 case _ =>
158158 throw("Can't find asset")
159159 }
160160 let one = fraction(totalIssued, 100000000, tkStaked)
161161 let toIssue = fraction(pmtAmount, one, 100000000)
162162 let updateState = IntegerEntry(keyUsdtUsdn, (tkStaked + pmtAmount))
163163 let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
164164 if ((LPstake == LPstake))
165165 then {
166166 let LPIssue = Reissue(usdnUsdtLPTCI, toIssue, true)
167167 let transfer = ScriptTransfer(i.caller, toIssue, usdnUsdtLPTCI)
168168 [LPIssue, transfer, updateState]
169169 }
170170 else throw("Strict value is not equal to itself.")
171171 }
172172 }
173173
174174
175175
176176 @Callable(i)
177177 func depositEthUsdnLP () = {
178178 let pmt = value(i.payments[0])
179179 let pmtAmount = pmt.amount
180180 if ((pmt.assetId != ethUsdnLP))
181181 then throw("attach ETHUSDNLP tokens only")
182182 else if (isStopped)
183183 then throw("smart contract is on lock")
184184 else {
185185 let tkStaked = valueOrElse(getInteger(this, keyEthUsdn), 0)
186186 let totalIssued = match assetInfo(ethUsdnLPTCI) {
187187 case asset: Asset =>
188188 asset.quantity
189189 case _ =>
190190 throw("Can't find asset")
191191 }
192192 let one = fraction((totalIssued - assetBalance(this, btcUsdnLPTCI)), 100000000, tkStaked)
193193 let toIssue = fraction(pmtAmount, one, 100000000)
194194 let updateState = IntegerEntry(keyEthUsdn, (tkStaked + pmtAmount))
195195 let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
196196 if ((LPstake == LPstake))
197197 then {
198198 let LPIssue = Reissue(ethUsdnLPTCI, toIssue, true)
199199 let transfer = ScriptTransfer(i.caller, toIssue, ethUsdnLPTCI)
200200 [LPIssue, transfer, updateState]
201201 }
202202 else throw("Strict value is not equal to itself.")
203203 }
204204 }
205205
206206
207207
208208 @Callable(i)
209209 func compoundBTCUSDNLP () = {
210210 let compound = value(i.payments[0])
211211 let ca = compound.amount
212212 if ((compound.assetId != btcUsdnLP))
213213 then throw("attach BTCUSDNLP tokens only")
214214 else {
215215 let fromCompound = valueOrElse(getInteger(this, keyBtcUsdnCompound), 0)
216216 let totalStaked = valueOrElse(getInteger(this, keyBtcUsdn), 0)
217217 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
218218 if ((stakeC == stakeC))
219219 then {
220220 let updateState = IntegerEntry(keyBtcUsdn, (totalStaked + ca))
221221 let tc = IntegerEntry(keyBtcUsdnCompound, (fromCompound + ca))
222222 [updateState, tc]
223223 }
224224 else throw("Strict value is not equal to itself.")
225225 }
226226 }
227227
228228
229229
230230 @Callable(i)
231231 func compoundETHUSDNLP () = {
232232 let compound = value(i.payments[0])
233233 let ca = compound.amount
234234 if ((compound.assetId != ethUsdnLP))
235235 then throw("attach ETHUSDNLP tokens only")
236236 else {
237237 let fromCompound = valueOrElse(getInteger(this, keyEthUsdnCompound), 0)
238238 let totalStaked = valueOrElse(getInteger(this, keyEthUsdn), 0)
239239 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
240240 if ((stakeC == stakeC))
241241 then {
242242 let updateState = IntegerEntry(keyEthUsdn, (totalStaked + ca))
243243 let tc = IntegerEntry(keyEthUsdnCompound, (fromCompound + ca))
244244 [updateState, tc]
245245 }
246246 else throw("Strict value is not equal to itself.")
247247 }
248248 }
249249
250250
251251
252252 @Callable(i)
253253 func compoundWXUSDNLP () = {
254254 let compound = value(i.payments[0])
255255 let ca = compound.amount
256- if ((i.caller.bytes != oracle))
256+ if ((i.caller.bytes == oracle))
257257 then throw("You are the only authorized to call this func")
258258 else {
259259 let fromCompound = valueOrElse(getInteger(this, keywxUsdnCompound), 0)
260260 let totalStaked = valueOrElse(getInteger(this, keyWXUSDN), 0)
261261 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
262262 if ((stakeC == stakeC))
263263 then {
264264 let updateState = IntegerEntry(keyWXUSDN, (totalStaked + ca))
265265 let tc = IntegerEntry(keywxUsdnCompound, (fromCompound + ca))
266266 [updateState, tc]
267267 }
268268 else throw("Strict value is not equal to itself.")
269269 }
270270 }
271271
272272
273273
274274 @Callable(i)
275275 func compoundUSDTUSDNLP () = {
276276 let compound = value(i.payments[0])
277277 let ca = compound.amount
278278 if ((compound.assetId != usdnUsdt))
279279 then throw("attach USDTUSDNLP tokens only")
280280 else {
281281 let fromCompound = valueOrElse(getInteger(this, keyUsdtUsdnCompound), 0)
282282 let totalStaked = valueOrElse(getInteger(this, keyUsdtUsdn), 0)
283283 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
284284 if ((stakeC == stakeC))
285285 then {
286286 let updateState = IntegerEntry(keyUsdtUsdn, (totalStaked + ca))
287287 let tc = IntegerEntry(keyUsdtUsdnCompound, (fromCompound + ca))
288288 [updateState, tc]
289289 }
290290 else throw("Strict value is not equal to itself.")
291291 }
292292 }
293293
294294
295295
296296 @Callable(i)
297297 func compoundWAVESUSDNLP () = {
298298 let compound = value(i.payments[0])
299299 let ca = compound.amount
300300 if ((compound.assetId != wavesUsdnLp))
301301 then throw("attach WAVESUSDNLP tokens only")
302302 else {
303303 let fromCompound = valueOrElse(getInteger(this, keyWavesCompound), 0)
304304 let totalStaked = valueOrElse(getInteger(this, keyWAVESUSDN), 0)
305305 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
306306 if ((stakeC == stakeC))
307307 then {
308308 let updateState = IntegerEntry(keyWAVESUSDN, (totalStaked + ca))
309309 let tc = IntegerEntry(keyWavesCompound, (fromCompound + ca))
310310 [updateState, tc]
311311 }
312312 else throw("Strict value is not equal to itself.")
313313 }
314314 }
315315
316316
317317
318318 @Callable(i)
319319 func initWX () = {
320320 let pm = value(i.payments[0])
321321 let am = pm.amount
322322 if ((pm.assetId != wxUsdnLP))
323323 then throw("Unexpected token")
324324 else {
325325 let s = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pm])
326326 if ((s == s))
327327 then {
328328 let upd = IntegerEntry(keyWXUSDN, am)
329329 let updK = IntegerEntry(keywxUsdnCompound, 0)
330330 [upd, updK]
331331 }
332332 else throw("Strict value is not equal to itself.")
333333 }
334334 }
335335
336336
337337
338338 @Callable(i)
339339 func initWAVES () = {
340340 let pm = value(i.payments[0])
341341 let am = pm.amount
342342 if ((pm.assetId != wavesUsdnLp))
343343 then throw("Unexpected token")
344344 else {
345345 let s = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pm])
346346 if ((s == s))
347347 then {
348348 let upd = IntegerEntry(keyWAVESUSDN, am)
349349 let updK = IntegerEntry(keyWavesCompound, 0)
350350 [upd, updK]
351351 }
352352 else throw("Strict value is not equal to itself.")
353353 }
354354 }
355355
356356
357357
358358 @Callable(i)
359359 func initETH () = {
360360 let pm = value(i.payments[0])
361361 let am = pm.amount
362362 if ((pm.assetId != ethUsdnLP))
363363 then throw("Unexpected token")
364364 else {
365365 let s = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pm])
366366 if ((s == s))
367367 then {
368368 let upd = IntegerEntry(keyEthUsdn, am)
369369 let updK = IntegerEntry(keyEthUsdnCompound, 0)
370370 let issue = Reissue(ethUsdnLPTCI, am, true)
371371 let send = ScriptTransfer(i.caller, am, ethUsdnLPTCI)
372372 [upd, updK, issue, send]
373373 }
374374 else throw("Strict value is not equal to itself.")
375375 }
376376 }
377377
378378
379379
380380 @Callable(i)
381381 func initBTC () = {
382382 let pm = value(i.payments[0])
383383 let am = pm.amount
384384 if ((pm.assetId != btcUsdnLP))
385385 then throw("Unexpected token")
386386 else {
387387 let s = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pm])
388388 if ((s == s))
389389 then {
390390 let upd = IntegerEntry(keyBtcUsdn, am)
391391 let updK = IntegerEntry(keyBtcUsdnCompound, 0)
392392 let LPIssue = Reissue(btcUsdnLPTCI, am, true)
393393 let tr = ScriptTransfer(i.caller, am, btcUsdnLPTCI)
394394 [upd, updK, LPIssue, tr]
395395 }
396396 else throw("Strict value is not equal to itself.")
397397 }
398398 }
399399
400400
401401 @Verifier(tx)
402402 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
403403

github/deemru/w8io/3ef1775 
61.97 ms