tx · GqxiZvUbopFAbbv54qdQ9hqnQKcUVTtiDUKP3efjMUCU

3MzCWCkss2fjRaiVCTEA4zfyTpzFaxs5VyA:  -0.01000000 Waves

2022.05.19 11:08 [2058299] smart account 3MzCWCkss2fjRaiVCTEA4zfyTpzFaxs5VyA > SELF 0.00000000 Waves

{ "type": 13, "id": "GqxiZvUbopFAbbv54qdQ9hqnQKcUVTtiDUKP3efjMUCU", "fee": 1000000, "feeAssetId": null, "timestamp": 1652947705559, "version": 2, "chainId": 84, "sender": "3MzCWCkss2fjRaiVCTEA4zfyTpzFaxs5VyA", "senderPublicKey": "z5o7zTG1ie3WRiyx4d3EWWvpv2z8oXxLZMMKWK5zLgv", "proofs": [ "4L2Jyvht1A7FGFbqWf3FysbmYsd6QwNDVkKNAKjSithjudfxCYC1yB7n3KJyhQGxAWoPvFvFVebDhg1BA3ut3dVg" ], "script": "base64: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ZAUAAAAFdG9rZW4JAAACAAAAAQIAAAAdYXR0YWNoIFVTRFRVU0ROTFAgdG9rZW5zIG9ubHkEAAAADGZyb21Db21wb3VuZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAAtrZXlDb21wb3VuZAAAAAAAAAAAAAQAAAALdG90YWxTdGFrZWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAJa2V5U3Rha2VkAAAAAAAAAAAABAAAAAt1cGRhdGVTdGF0ZQkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtleVN0YWtlZAkAAGQAAAACBQAAAAt0b3RhbFN0YWtlZAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50AwkAAAAAAAACBQAAAAt1cGRhdGVTdGF0ZQUAAAALdXBkYXRlU3RhdGUEAAAAD3RvdGFsT2ZDb21wb3VuZAkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAC2tleUNvbXBvdW5kCQAAZAAAAAIFAAAADGZyb21Db21wb3VuZAUAAAAOY29tcG91bmRBbW91bnQDCQAAAAAAAAIFAAAAD3RvdGFsT2ZDb21wb3VuZAUAAAAPdG90YWxPZkNvbXBvdW5kCQAETAAAAAIFAAAAC3VwZGF0ZVN0YXRlCQAETAAAAAIFAAAAD3RvdGFsT2ZDb21wb3VuZAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAAA4zbVyg==", "height": 2058299, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none 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'CfuMrYwziJKBmkHsP4XoDscnaXoexxGMVtQraTJ67G3f'
7+
8+let dapp = base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'
9+
10+let isStopped = false
11+
12+let keyStaked = "STAKED_LP"
13+
14+let keyCompound = "From_Compound"
15+
16+@Callable(i)
17+func stake () = {
18+ let pmt = value(i.payments[0])
19+ let pmtAmount = pmt.amount
20+ if ((pmt.assetId != token))
21+ then throw("attach USDTUSDNLP tokens only")
22+ else if (isStopped)
23+ then throw("smart contract is on lock")
24+ else {
25+ let tkStaked = valueOrElse(getInteger(this, keyStaked), 0)
26+ let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
27+ let updateState = IntegerEntry(keyStaked, (tkStaked + i.payments[0].amount))
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 treasury = ((((tkStaked + assetBalance(this, token)) + pmtAmount) + fromCompound) - pmtAmount)
37+ let forOne = fraction(totalIssued, 100000000, treasury)
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)
44+[LPIssue, transfer, updateState]
45+ }
46+ else throw("Strict value is not equal to itself.")
47+ }
48+ else throw("Strict value is not equal to itself.")
49+ }
50+ }
51+
52+
53+
54+@Callable(i)
55+func compound () = {
56+ let compound = value(i.payments[0])
57+ let compoundAmount = compound.amount
58+ if ((compound.assetId != token))
59+ then throw("attach USDTUSDNLP tokens only")
60+ else {
61+ let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
62+ let totalStaked = valueOrElse(getInteger(this, keyStaked), 0)
63+ let updateState = IntegerEntry(keyStaked, (totalStaked + i.payments[0].amount))
64+ if ((updateState == updateState))
65+ then {
66+ let totalOfCompound = IntegerEntry(keyCompound, (fromCompound + compoundAmount))
67+ if ((totalOfCompound == totalOfCompound))
68+ then [updateState, totalOfCompound]
69+ else throw("Strict value is not equal to itself.")
70+ }
71+ else throw("Strict value is not equal to itself.")
72+ }
73+ }
74+
75+

github/deemru/w8io/3ef1775 
21.32 ms