tx · p15mvYQo8QptqeziCKKLGZLRMJtggNFWMzzsgLxQGuF

3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t:  -0.01400000 Waves

2022.05.26 10:23 [2068343] smart account 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t > SELF 0.00000000 Waves

{ "type": 13, "id": "p15mvYQo8QptqeziCKKLGZLRMJtggNFWMzzsgLxQGuF", "fee": 1400000, "feeAssetId": null, "timestamp": 1653549835494, "version": 2, "chainId": 84, "sender": "3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t", "senderPublicKey": "Cn7Ky2YAx4p6dx8e7Mcb9rTQ2Z5TD9MrRbLA8AXDsumJ", "proofs": [ "5FStRvz16eUbY38ENaX618M5CKSdXyvYUN5QCXDyuEgh3u8ZRUrrP8pirA8mVj1dxK29cdsP2wrZTNAUVGyaCRB" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAABQAAAAAFdG9rZW4BAAAAINtNgzVkRxuW758ML6DPfdV5nZLo4Zs1D8E/zHsCcCkLAAAAAAVscFRDSQEAAAAgtyPTIp/WRHNC7Q9+nU0mIiPuMOUG6xY6/k2xDUjYIFsAAAAACWlzU3RvcHBlZAcAAAAACWtleVN0YWtlZAIAAAAJU1RBS0VEX0xQAAAAAAtrZXlDb21wb3VuZAIAAAAIQ09NUE9VTkQAAAABAAAAAWkBAAAAB2RlZmF1bHQAAAAABAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAAmFtCAUAAAADcG10AAAABmFtb3VudAMJAABnAAAAAgAAAAAAAAAAAAUAAAACYW0JAAACAAAAAQIAAAAXTmVnYXRpdmUgb3IgemVybyBhbW91bnQDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABXRva2VuCQAAAgAAAAECAAAADUludmFsaWQgdG9rZW4EAAAAAWMJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVFlAJ5NrSynuvrGhDubcQLjPpI16DOu1DwIAAAAFc3Rha2UFAAAAA25pbAkABEwAAAACBQAAAANwbXQFAAAAA25pbAMJAAAAAAAAAgUAAAABYwUAAAABYwQAAAAHc2V0RGF0YQkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtleVN0YWtlZAUAAAACYW0JAARMAAAAAgUAAAAHc2V0RGF0YQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAC0o92G", "height": 2068343, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H5FwM8KhEXCv3Qyop2QvTfnNyVhVskAFY5pEnDpNJbZq Next: 6Hd7vkKp58BefPyNroyyapyrMGDQsWpBaBWUxhBLFKRj Diff:
OldNewDifferences
1212 let keyCompound = "COMPOUND"
1313
1414 @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")
15+func default () = {
16+ let pmt = i.payments[0]
17+ let am = pmt.amount
18+ if ((0 >= am))
19+ then throw("Negative or zero amount")
20+ else if ((pmt.assetId != token))
21+ then throw("Invalid token")
2222 else {
23- let tkStaked = valueOrElse(getInteger(this, keyStaked), pmtAmount)
24- let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
25- let updateState = IntegerEntry(keyStaked, pmtAmount)
26- if ((updateState == updateState))
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)
42-[LPIssue, transfer, updateState]
43- }
44- else throw("Strict value is not equal to itself.")
45- }
46- else throw("Strict value is not equal to itself.")
23+ let c = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
24+ if ((c == c))
25+ then {
26+ let setData = IntegerEntry(keyStaked, am)
27+[setData]
28+ }
4729 else throw("Strict value is not equal to itself.")
4830 }
4931 }
50-
51-
52-
53-@Callable(i)
54-func compound () = {
55- let compound = value(i.payments[0])
56- let ca = compound.amount
57- if ((compound.assetId != token))
58- then throw("attach USDTUSDNLP tokens only")
59- else {
60- let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
61- let totalStaked = valueOrElse(getInteger(this, keyStaked), 0)
62- let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
63- if ((stakeC == stakeC))
64- then {
65- let updateState = IntegerEntry(keyStaked, (totalStaked + ca))
66- let tc = IntegerEntry(keyCompound, (fromCompound + ca))
67-[updateState, tc]
68- }
69- else throw("Strict value is not equal to itself.")
70- }
71- }
72-
73-
74-
75-@Callable(i)
76-func default () = if ((i.caller.bytes == base58'3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH'))
77- then [IntegerEntry(keyStaked, 0)]
78- else throw("Can't invoke this function!")
7932
8033
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 = "COMPOUND"
1313
1414 @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")
15+func default () = {
16+ let pmt = i.payments[0]
17+ let am = pmt.amount
18+ if ((0 >= am))
19+ then throw("Negative or zero amount")
20+ else if ((pmt.assetId != token))
21+ then throw("Invalid token")
2222 else {
23- let tkStaked = valueOrElse(getInteger(this, keyStaked), pmtAmount)
24- let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
25- let updateState = IntegerEntry(keyStaked, pmtAmount)
26- if ((updateState == updateState))
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)
42-[LPIssue, transfer, updateState]
43- }
44- else throw("Strict value is not equal to itself.")
45- }
46- else throw("Strict value is not equal to itself.")
23+ let c = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [pmt])
24+ if ((c == c))
25+ then {
26+ let setData = IntegerEntry(keyStaked, am)
27+[setData]
28+ }
4729 else throw("Strict value is not equal to itself.")
4830 }
4931 }
50-
51-
52-
53-@Callable(i)
54-func compound () = {
55- let compound = value(i.payments[0])
56- let ca = compound.amount
57- if ((compound.assetId != token))
58- then throw("attach USDTUSDNLP tokens only")
59- else {
60- let fromCompound = valueOrElse(getInteger(this, keyCompound), 0)
61- let totalStaked = valueOrElse(getInteger(this, keyStaked), 0)
62- let stakeC = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [compound])
63- if ((stakeC == stakeC))
64- then {
65- let updateState = IntegerEntry(keyStaked, (totalStaked + ca))
66- let tc = IntegerEntry(keyCompound, (fromCompound + ca))
67-[updateState, tc]
68- }
69- else throw("Strict value is not equal to itself.")
70- }
71- }
72-
73-
74-
75-@Callable(i)
76-func default () = if ((i.caller.bytes == base58'3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH'))
77- then [IntegerEntry(keyStaked, 0)]
78- else throw("Can't invoke this function!")
7932
8033

github/deemru/w8io/3ef1775 
44.01 ms