tx · 3JRyeQ4vWLBw2PTKG1MXc1MCzuW3Nsh8KqoNXbpuxANr

3N1DKtRdvNzipWeZiDbEFCRYxGZ76iqrhS1:  -0.04000000 Waves

2022.05.25 10:16 [2066891] smart account 3N1DKtRdvNzipWeZiDbEFCRYxGZ76iqrhS1 > SELF 0.00000000 Waves

{ "type": 13, "id": "3JRyeQ4vWLBw2PTKG1MXc1MCzuW3Nsh8KqoNXbpuxANr", "fee": 4000000, "feeAssetId": null, "timestamp": 1653463070950, "version": 2, "chainId": 84, "sender": "3N1DKtRdvNzipWeZiDbEFCRYxGZ76iqrhS1", "senderPublicKey": "H6xi3hzbfgsNKAndcJRBjBFE7rgp25iHTGrzb1aWSjkj", "proofs": [ "q1DdjCpseTRLtQAJ8RchiujFE2VnDrJvLQApWFNuWZ9ZWLCPBDAEiz7BJv2yss1RkhhjfRr1f3CfHMK6DwH2r21" ], "script": "base64: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", "height": 2066891, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Cdb7cX1vQQULpNMHggVLzf7crKoyVvLx9tdyuynjHJr7 Next: BuPDVJ18zGZgnAVMQMUpjphQZrjYygQCTnLC5b8zMwT5 Diff:
OldNewDifferences
99
1010 let keyStaked = "STAKED_LP"
1111
12-let keyCompound = "From_Compound"
12+let keyCompound = "COMPOUND"
1313
1414 @Callable(i)
1515 func stake () = {
2020 else if (isStopped)
2121 then throw("smart contract is on lock")
2222 else {
23- let tkStaked = valueOrElse(getInteger(this, keyStaked), 100000000)
23+ let tkStaked = valueOrElse(getInteger(this, keyStaked), pmtAmount)
2424 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
25- let updateState = IntegerEntry(keyStaked, (tkStaked + i.payments[0].amount))
25+ let updateState = IntegerEntry(keyStaked, pmtAmount)
2626 if ((updateState == updateState))
27- 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)
36- let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
37- if ((LPstake == LPstake))
38- then {
39- let LPIssue = Reissue(lpTCI, toIssue, true)
40- let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
27+ then if ((updateState == updateState))
28+ then {
29+ let totalIssued = match assetInfo(lpTCI) {
30+ case asset: Asset =>
31+ asset.quantity
32+ case _ =>
33+ throw("Can't find asset")
34+ }
35+ let forOne = fraction(totalIssued, 100000000, tkStaked)
36+ let toIssue = fraction(pmtAmount, forOne, 100000000)
37+ let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
38+ if ((LPstake == LPstake))
39+ then {
40+ let LPIssue = Reissue(lpTCI, toIssue, true)
41+ let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
4142 [LPIssue, transfer, updateState]
42- }
43- else throw("Strict value is not equal to itself.")
44- }
43+ }
44+ else throw("Strict value is not equal to itself.")
45+ }
46+ else throw("Strict value is not equal to itself.")
4547 else throw("Strict value is not equal to itself.")
4648 }
4749 }
7173
7274
7375 @Callable(i)
74-func default () = [DeleteEntry("keyStaked")]
76+func default () = if ((i.caller.bytes == base58'3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH'))
77+ then [IntegerEntry(keyStaked, 0)]
78+ else throw("Can't invoke this function!")
7579
7680
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let token = base58'Fm4qczu6Pepz8KUhh3Heb6LeTVfpSMX5vvNgw3x764CS'
55
66 let lpTCI = base58'DKuHxDzSRjVW5MUhnHqPZDeztYcXvEzpAYNNLDWtb39c'
77
88 let isStopped = false
99
1010 let keyStaked = "STAKED_LP"
1111
12-let keyCompound = "From_Compound"
12+let keyCompound = "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 {
23- let tkStaked = valueOrElse(getInteger(this, keyStaked), 100000000)
23+ let tkStaked = valueOrElse(getInteger(this, keyStaked), pmtAmount)
2424 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
25- let updateState = IntegerEntry(keyStaked, (tkStaked + i.payments[0].amount))
25+ let updateState = IntegerEntry(keyStaked, pmtAmount)
2626 if ((updateState == updateState))
27- 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)
36- let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
37- if ((LPstake == LPstake))
38- then {
39- let LPIssue = Reissue(lpTCI, toIssue, true)
40- let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
27+ then if ((updateState == updateState))
28+ then {
29+ let totalIssued = match assetInfo(lpTCI) {
30+ case asset: Asset =>
31+ asset.quantity
32+ case _ =>
33+ throw("Can't find asset")
34+ }
35+ let forOne = fraction(totalIssued, 100000000, tkStaked)
36+ let toIssue = fraction(pmtAmount, forOne, 100000000)
37+ let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
38+ if ((LPstake == LPstake))
39+ then {
40+ let LPIssue = Reissue(lpTCI, toIssue, true)
41+ let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
4142 [LPIssue, transfer, updateState]
42- }
43- else throw("Strict value is not equal to itself.")
44- }
43+ }
44+ else throw("Strict value is not equal to itself.")
45+ }
46+ else throw("Strict value is not equal to itself.")
4547 else throw("Strict value is not equal to itself.")
4648 }
4749 }
4850
4951
5052
5153 @Callable(i)
5254 func compound () = {
5355 let compound = value(i.payments[0])
5456 let ca = compound.amount
5557 if ((compound.assetId != token))
5658 then throw("attach USDTUSDNLP tokens only")
5759 else {
5860 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
5961 let totalStaked = valueOrElse(getInteger(this, keyStaked), 0)
6062 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
6163 if ((stakeC == stakeC))
6264 then {
6365 let updateState = IntegerEntry(keyStaked, (totalStaked + ca))
6466 let tc = IntegerEntry(keyCompound, (fromCompound + ca))
6567 [updateState, tc]
6668 }
6769 else throw("Strict value is not equal to itself.")
6870 }
6971 }
7072
7173
7274
7375 @Callable(i)
74-func default () = [DeleteEntry("keyStaked")]
76+func default () = if ((i.caller.bytes == base58'3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH'))
77+ then [IntegerEntry(keyStaked, 0)]
78+ else throw("Can't invoke this function!")
7579
7680

github/deemru/w8io/169f3d6 
30.53 ms