tx · AyanQcBhdLAQYQ1MjaB8ekNvzihaE7HMcSEtQoXM2Vog

3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t:  -0.04000000 Waves

2022.05.25 10:04 [2066877] smart account 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t > SELF 0.00000000 Waves

{ "type": 13, "id": "AyanQcBhdLAQYQ1MjaB8ekNvzihaE7HMcSEtQoXM2Vog", "fee": 4000000, "feeAssetId": null, "timestamp": 1653462309410, "version": 2, "chainId": 84, "sender": "3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t", "senderPublicKey": "Cn7Ky2YAx4p6dx8e7Mcb9rTQ2Z5TD9MrRbLA8AXDsumJ", "proofs": [ "3ppMdNDQjtfvmgdyAXCmLmoyukfcgyVizFosZnDFfUJ39DtmAVCvTVE9yfnxpdgEYaxfbruqBsBxEYTbZKjUB1iy" ], "script": "base64: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", "height": 2066877, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: EzQhUP2jKAuUHAL5bE2x3fwRWpNVb5P3FxgTETZEe5eG Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let token = base58'Fm4qczu6Pepz8KUhh3Heb6LeTVfpSMX5vvNgw3x764CS'
5+
6+let lpTCI = base58'DKuHxDzSRjVW5MUhnHqPZDeztYcXvEzpAYNNLDWtb39c'
7+
8+let isStopped = false
9+
10+let keyStaked = "STAKED_LP"
11+
12+let keyCompound = "COMPOUND"
13+
14+@Callable(i)
15+func stake () = {
16+ let pmt = value(i.payments[0])
17+ let pmtAmount = pmt.amount
18+ if ((pmt.assetId != token))
19+ then throw("attach USDTUSDNLP tokens only")
20+ else if (isStopped)
21+ then throw("smart contract is on lock")
22+ else {
23+ let updateState = IntegerEntry(keyStaked, pmtAmount)
24+ if ((updateState == updateState))
25+ then {
26+ let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
27+ let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
28+ 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)
43+[LPIssue, transfer]
44+ }
45+ else throw("Strict value is not equal to itself.")
46+ }
47+ else throw("Strict value is not equal to itself.")
48+ }
49+ else throw("Strict value is not equal to itself.")
50+ }
51+ }
52+
53+
54+
55+@Callable(i)
56+func compound () = {
57+ let compound = value(i.payments[0])
58+ let ca = compound.amount
59+ if ((compound.assetId != token))
60+ then throw("attach USDTUSDNLP tokens only")
61+ else {
62+ let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
63+ let totalStaked = valueOrElse(getInteger(this, keyStaked), 0)
64+ let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
65+ if ((stakeC == stakeC))
66+ then {
67+ let updateState = IntegerEntry(keyStaked, (totalStaked + ca))
68+ let tc = IntegerEntry(keyCompound, (fromCompound + ca))
69+[updateState, tc]
70+ }
71+ else throw("Strict value is not equal to itself.")
72+ }
73+ }
74+
75+
76+
77+@Callable(i)
78+func default () = if ((i.caller.bytes == this.bytes))
79+ then [IntegerEntry(keyStaked, 0)]
80+ else throw("Can't invoke this function!")
81+
82+
83+@Verifier(tx)
84+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
85+

github/deemru/w8io/3ef1775 
21.76 ms