tx · Dp2CpBN8HNfczfKoqiQ4jyh9rLJtwa5jnqTKhJpoZovF

3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t:  -0.01400000 Waves

2022.05.27 10:30 [2069780] smart account 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t > SELF 0.00000000 Waves

{ "type": 13, "id": "Dp2CpBN8HNfczfKoqiQ4jyh9rLJtwa5jnqTKhJpoZovF", "fee": 1400000, "feeAssetId": null, "timestamp": 1653636638168, "version": 2, "chainId": 84, "sender": "3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t", "senderPublicKey": "Cn7Ky2YAx4p6dx8e7Mcb9rTQ2Z5TD9MrRbLA8AXDsumJ", "proofs": [ "1ujUdVkQvekiJ2RGBGjWaAkzUW7dwFkcG92L1BzrZGXEWbyVagTqMPF56gPAMkvjCQF7hWt8hmQ8S3pqVrgNydk" ], "script": "base64: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", "height": 2069780, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2yvs7h94JprVLZpYmyDDR84DAABDifeyfyTQpK6ezs5Z Next: DySdbdf8wTxKfh6G6sqmAEKyqqbYverrtg5VnzG7jsnp Diff:
OldNewDifferences
2121 then throw("smart contract is on lock")
2222 else {
2323 let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
24+ let totalIssued = match assetInfo(lpTCI) {
25+ case asset: Asset =>
26+ asset.quantity
27+ case _ =>
28+ throw("Can't find asset")
29+ }
2430 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
31+ let forOne = fraction(totalIssued, 100000000, tkStaked)
32+ let toIssue = fraction(pmtAmount, forOne, 100000000)
2533 let updateState = IntegerEntry(keyStaked, (tkStaked + pmtAmount))
2634 if ((updateState == updateState))
2735 then {
28- let totalIssued = match assetInfo(lpTCI) {
29- case asset: Asset =>
30- asset.quantity
31- case _ =>
32- throw("Can't find asset")
33- }
34- let forOne = fraction(totalIssued, 100000000, tkStaked)
35- let toIssue = fraction(pmtAmount, forOne, 100000000)
3636 let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
3737 if ((LPstake == LPstake))
3838 then {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let token = base58'Fm4qczu6Pepz8KUhh3Heb6LeTVfpSMX5vvNgw3x764CS'
55
66 let lpTCI = base58'FpG53PqcPPUmMwjHd2SQrpLPMXYHUBpdoM1ynBbMzsAk'
77
88 let isStopped = false
99
1010 let keyStaked = "STAKED_LP"
1111
1212 let keyCompound = "From_Compound"
1313
1414 @Callable(i)
1515 func stake () = {
1616 let pmt = value(i.payments[0])
1717 let pmtAmount = pmt.amount
1818 if ((pmt.assetId != token))
1919 then throw("attach USDTUSDNLP tokens only")
2020 else if (isStopped)
2121 then throw("smart contract is on lock")
2222 else {
2323 let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
24+ let totalIssued = match assetInfo(lpTCI) {
25+ case asset: Asset =>
26+ asset.quantity
27+ case _ =>
28+ throw("Can't find asset")
29+ }
2430 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
31+ let forOne = fraction(totalIssued, 100000000, tkStaked)
32+ let toIssue = fraction(pmtAmount, forOne, 100000000)
2533 let updateState = IntegerEntry(keyStaked, (tkStaked + pmtAmount))
2634 if ((updateState == updateState))
2735 then {
28- let totalIssued = match assetInfo(lpTCI) {
29- case asset: Asset =>
30- asset.quantity
31- case _ =>
32- throw("Can't find asset")
33- }
34- let forOne = fraction(totalIssued, 100000000, tkStaked)
35- let toIssue = fraction(pmtAmount, forOne, 100000000)
3636 let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
3737 if ((LPstake == LPstake))
3838 then {
3939 let LPIssue = Reissue(lpTCI, toIssue, true)
4040 let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
4141 [LPIssue, transfer, updateState]
4242 }
4343 else throw("Strict value is not equal to itself.")
4444 }
4545 else throw("Strict value is not equal to itself.")
4646 }
4747 }
4848
4949
5050
5151 @Callable(i)
5252 func compound () = {
5353 let compound = value(i.payments[0])
5454 let ca = compound.amount
5555 if ((compound.assetId != token))
5656 then throw("attach USDTUSDNLP tokens only")
5757 else {
5858 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
5959 let totalStaked = valueOrElse(getInteger(this, keyStaked), 0)
6060 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
6161 if ((stakeC == stakeC))
6262 then {
6363 let updateState = IntegerEntry(keyStaked, (totalStaked + ca))
6464 let tc = IntegerEntry(keyCompound, (fromCompound + ca))
6565 [updateState, tc]
6666 }
6767 else throw("Strict value is not equal to itself.")
6868 }
6969 }
7070
7171
7272
7373 @Callable(i)
7474 func init () = {
7575 let pm = i.payments[0]
7676 let am = pm.amount
7777 if ((pm.assetId != token))
7878 then throw("Unexpected token")
7979 else {
8080 let s = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pm])
8181 if ((s == s))
8282 then {
8383 let upd = IntegerEntry(keyStaked, am)
8484 let updK = IntegerEntry(keyCompound, 0)
8585 [upd]
8686 }
8787 else throw("Strict value is not equal to itself.")
8888 }
8989 }
9090
9191
9292 @Verifier(tx)
9393 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
9494

github/deemru/w8io/3ef1775 
31.76 ms