tx · 8ZhGXueFCRpcpmKFN2sRCCBhNskVpqqyFUbMTuymoCH1

3N1DKtRdvNzipWeZiDbEFCRYxGZ76iqrhS1:  -0.05000000 Waves

2022.05.19 14:35 [2058497] smart account 3N1DKtRdvNzipWeZiDbEFCRYxGZ76iqrhS1 > SELF 0.00000000 Waves

{ "type": 13, "id": "8ZhGXueFCRpcpmKFN2sRCCBhNskVpqqyFUbMTuymoCH1", "fee": 5000000, "feeAssetId": null, "timestamp": 1652960113001, "version": 2, "chainId": 84, "sender": "3N1DKtRdvNzipWeZiDbEFCRYxGZ76iqrhS1", "senderPublicKey": "H6xi3hzbfgsNKAndcJRBjBFE7rgp25iHTGrzb1aWSjkj", "proofs": [ "QiqRn8ttYeSNQr3su1qYa5oKoGFqZwV3NP14dmfTYWoGzpnUTaaq9Jor3YbBHhAVDNJqHroX4v18KhmCrwT89Ez" ], "script": "base64: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", "height": 2058497, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7KvAgwWC7mcmQJjeECY45FN2d86RFQPYGGonW8DVTXG7 Next: 66Dn6ymqeNrfYCi27Y4JNUSQJzNcbqtpA7KVPwYbCpmU Diff:
OldNewDifferences
2020 else if (isStopped)
2121 then throw("smart contract is on lock")
2222 else {
23- let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
23+ let tkStaked = valueOrElse(getInteger(this, keyStaked), 1)
2424 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
2525 let updateState = IntegerEntry(keyStaked, (tkStaked + i.payments[0].amount))
2626 if ((updateState == updateState))
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
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 {
23- let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
23+ let tkStaked = valueOrElse(getInteger(this, keyStaked), 1)
2424 let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
2525 let updateState = IntegerEntry(keyStaked, (tkStaked + i.payments[0].amount))
2626 if ((updateState == updateState))
2727 then {
2828 let totalIssued = match assetInfo(lpTCI) {
2929 case asset: Asset =>
3030 asset.quantity
3131 case _ =>
3232 throw("Can't find asset")
3333 }
3434 let forOne = fraction(totalIssued, 100000000, tkStaked)
3535 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

github/deemru/w8io/c3f4982 
37.10 ms