tx · 8RChVL79K2UVaZyMd41NALgzb1LWj8rXk6o4qTPpoYys

3NAVJcqMw8AsPecAtd74CeNtAG2qRV2V1so:  -0.04000000 Waves

2022.05.20 12:35 [2059824] smart account 3NAVJcqMw8AsPecAtd74CeNtAG2qRV2V1so > SELF 0.00000000 Waves

{ "type": 13, "id": "8RChVL79K2UVaZyMd41NALgzb1LWj8rXk6o4qTPpoYys", "fee": 4000000, "feeAssetId": null, "timestamp": 1653039374903, "version": 2, "chainId": 84, "sender": "3NAVJcqMw8AsPecAtd74CeNtAG2qRV2V1so", "senderPublicKey": "EpvN8tsbEWeeqZSLaEVCda8PZfKa1JAF3ZFp7hRq1gWj", "proofs": [ "5kcHLsAWeCopRZALKbccdaHtNCibgV4rNoB6wSdLVUiaucUGKYdS7EVEp5rePPzqiDPjM79PSdfYNpYmgF4Nsyak" ], "script": "base64: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", "height": 2059824, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BuaDmbhd69kVqveDso2s3bWmKgo7912G87TnXXNAzZTK Next: 4CqBAu93LiicP54PWBApoXKzeTqZAJPGFTvgqYXn2LhR Diff:
OldNewDifferences
2424 else {
2525 let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
2626 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
27- let updateState = IntegerEntry(keyStaked, 0)
27+ let updateState = IntegerEntry(keyStaked, (((defV + tkStaked) + i.payments[0].amount) - defV))
2828 if ((updateState == updateState))
29- then {
30- let totalIssued = match assetInfo(lpTCI) {
31- case asset: Asset =>
32- asset.quantity
33- case _ =>
34- throw("Can't find asset")
35- }
36- let forOne = fraction(totalIssued, 100000000, tkStaked)
37- let toIssue = fraction(pmtAmount, forOne, 100000000)
38- let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
39- if ((LPstake == LPstake))
40- then {
41- let LPIssue = Reissue(lpTCI, toIssue, true)
42- let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
29+ then if ((updateState == updateState))
30+ then {
31+ let totalIssued = match assetInfo(lpTCI) {
32+ case asset: Asset =>
33+ asset.quantity
34+ case _ =>
35+ throw("Can't find asset")
36+ }
37+ let forOne = fraction(totalIssued, 100000000, tkStaked)
38+ let toIssue = fraction(pmtAmount, forOne, 100000000)
39+ let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
40+ if ((LPstake == LPstake))
41+ then {
42+ let LPIssue = Reissue(lpTCI, toIssue, true)
43+ let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
4344 [LPIssue, transfer, updateState]
44- }
45- else throw("Strict value is not equal to itself.")
46- }
45+ }
46+ else throw("Strict value is not equal to itself.")
47+ }
48+ else throw("Strict value is not equal to itself.")
4749 else throw("Strict value is not equal to itself.")
4850 }
4951 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let token = base58'Fm4qczu6Pepz8KUhh3Heb6LeTVfpSMX5vvNgw3x764CS'
55
66 let lpTCI = base58'6yMdFxB7ULdLQ8mMjkLtoQvTy9WFrBKoTRK5JXnwMPAb'
77
88 let isStopped = false
99
1010 let keyStaked = "STAKED_LP"
1111
1212 let keyCompound = "From_Compound"
1313
1414 let defV = 100000000
1515
1616 @Callable(i)
1717 func stake () = {
1818 let pmt = value(i.payments[0])
1919 let pmtAmount = pmt.amount
2020 if ((pmt.assetId != token))
2121 then throw("attach USDTUSDNLP tokens only")
2222 else if (isStopped)
2323 then throw("smart contract is on lock")
2424 else {
2525 let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
2626 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
27- let updateState = IntegerEntry(keyStaked, 0)
27+ let updateState = IntegerEntry(keyStaked, (((defV + tkStaked) + i.payments[0].amount) - defV))
2828 if ((updateState == updateState))
29- then {
30- let totalIssued = match assetInfo(lpTCI) {
31- case asset: Asset =>
32- asset.quantity
33- case _ =>
34- throw("Can't find asset")
35- }
36- let forOne = fraction(totalIssued, 100000000, tkStaked)
37- let toIssue = fraction(pmtAmount, forOne, 100000000)
38- let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
39- if ((LPstake == LPstake))
40- then {
41- let LPIssue = Reissue(lpTCI, toIssue, true)
42- let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
29+ then if ((updateState == updateState))
30+ then {
31+ let totalIssued = match assetInfo(lpTCI) {
32+ case asset: Asset =>
33+ asset.quantity
34+ case _ =>
35+ throw("Can't find asset")
36+ }
37+ let forOne = fraction(totalIssued, 100000000, tkStaked)
38+ let toIssue = fraction(pmtAmount, forOne, 100000000)
39+ let LPstake = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
40+ if ((LPstake == LPstake))
41+ then {
42+ let LPIssue = Reissue(lpTCI, toIssue, true)
43+ let transfer = ScriptTransfer(i.caller, toIssue, lpTCI)
4344 [LPIssue, transfer, updateState]
44- }
45- else throw("Strict value is not equal to itself.")
46- }
45+ }
46+ else throw("Strict value is not equal to itself.")
47+ }
48+ else throw("Strict value is not equal to itself.")
4749 else throw("Strict value is not equal to itself.")
4850 }
4951 }
5052
5153
5254
5355 @Callable(i)
5456 func compound () = {
5557 let compound = value(i.payments[0])
5658 let ca = compound.amount
5759 if ((compound.assetId != token))
5860 then throw("attach USDTUSDNLP tokens only")
5961 else {
6062 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
6163 let totalStaked = valueOrElse(getInteger(this, keyStaked), 0)
6264 let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
6365 if ((stakeC == stakeC))
6466 then {
6567 let updateState = IntegerEntry(keyStaked, (totalStaked + ca))
6668 let tc = IntegerEntry(keyCompound, (fromCompound + ca))
6769 [updateState, tc]
6870 }
6971 else throw("Strict value is not equal to itself.")
7072 }
7173 }
7274
7375
7476 @Verifier(tx)
7577 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7678

github/deemru/w8io/169f3d6 
33.99 ms