tx · 2NFL6K3EzxQ4BrQwCbhJEJj3hfj53GWMgLkcdpAqZ8Ef

3MxSZ4FPq75Q3cQcf9VJkKFDJkeFpm5Ynm3:  -0.00700000 Waves

2022.07.10 10:33 [2133330] smart account 3MxSZ4FPq75Q3cQcf9VJkKFDJkeFpm5Ynm3 > SELF 0.00000000 Waves

{ "type": 13, "id": "2NFL6K3EzxQ4BrQwCbhJEJj3hfj53GWMgLkcdpAqZ8Ef", "fee": 700000, "feeAssetId": null, "timestamp": 1657438471966, "version": 2, "chainId": 84, "sender": "3MxSZ4FPq75Q3cQcf9VJkKFDJkeFpm5Ynm3", "senderPublicKey": "AdPVtTCVPZCuVF944iD1f5LJ9e4pjzpQ2rrxGEWt7Rbx", "proofs": [ "2sM253EWwNXzq2g5B6D1YUDnmXxTPwdeXzwZr38rG6n71Xcc7z1ECuaAnimnmU8ixeH1sE1kTHCqqLubki5iQZxc" ], "script": "base64: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", "height": 2133330, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HoxXNsq3ocoXKToVaq3SXRzpwq4JuNXHuegDQbAct35u Next: D74scMN5tesZcXBFARiYPfWVdUrg4rCV2eyY3su3Chv Diff:
OldNewDifferences
55
66 let collectorAddress = base58'3MpADDQFqadaCADNH9JDMQAGw9WEaMcymVU'
77
8-let delay = 2
8+let delay = 1440
99
10-let maxExchange = 1
10+let maxExchange = 10
1111
12-let exchangeRate = 1
12+let exchangeRate = 2
13+
14+let waveDecimals = 8
15+
16+let tokenDecimals = 8
1317
1418 func tryGetInteger (key) = {
1519 let val = match getInteger(this, key) {
4448 @Callable(i)
4549 func exchangeToken (amount) = {
4650 let transactionId = toBase58String(i.transactionId)
47- let totalExchangedAmount = (exchangeRate * amount)
51+ let totalExchangedAmount = (amount / exchangeRate)
4852 let lastTransferedDay = tryGetInteger((("receiver_" + toString(i.originCaller)) + "_lastDay"))
4953 let totalAmountInDay = tryGetInteger((("receiver_" + toString(i.originCaller)) + "_totalAmountInDay"))
5054 if ((height > (lastTransferedDay + delay)))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let eggAssetId = base58'2cf6jyVG19oHU79R8iHfqFEesjstr3e7nSYEUhb2WagB'
55
66 let collectorAddress = base58'3MpADDQFqadaCADNH9JDMQAGw9WEaMcymVU'
77
8-let delay = 2
8+let delay = 1440
99
10-let maxExchange = 1
10+let maxExchange = 10
1111
12-let exchangeRate = 1
12+let exchangeRate = 2
13+
14+let waveDecimals = 8
15+
16+let tokenDecimals = 8
1317
1418 func tryGetInteger (key) = {
1519 let val = match getInteger(this, key) {
1620 case b: Int =>
1721 b
1822 case _ =>
1923 0
2024 }
2125 val
2226 }
2327
2428
2529 func tryGetString (key) = {
2630 let val = match getString(this, key) {
2731 case b: String =>
2832 b
2933 case _ =>
3034 ""
3135 }
3236 val
3337 }
3438
3539
3640 func tryGetBoolean (key) = match getBoolean(this, key) {
3741 case b: Boolean =>
3842 b
3943 case _ =>
4044 false
4145 }
4246
4347
4448 @Callable(i)
4549 func exchangeToken (amount) = {
4650 let transactionId = toBase58String(i.transactionId)
47- let totalExchangedAmount = (exchangeRate * amount)
51+ let totalExchangedAmount = (amount / exchangeRate)
4852 let lastTransferedDay = tryGetInteger((("receiver_" + toString(i.originCaller)) + "_lastDay"))
4953 let totalAmountInDay = tryGetInteger((("receiver_" + toString(i.originCaller)) + "_totalAmountInDay"))
5054 if ((height > (lastTransferedDay + delay)))
5155 then if ((totalAmountInDay > maxExchange))
5256 then throw("Max exchange limit reached. Please try after 24 hours.")
5357 else if (((totalAmountInDay + amount) > maxExchange))
5458 then throw("Max exchange crossed. Please try with lower value.")
5559 else [IntegerEntry((("receiver_" + toString(i.originCaller)) + "_totalAmountInDay"), (totalAmountInDay + amount)), IntegerEntry((((("receiver_" + toString(i.originCaller)) + "_transactionId_") + transactionId) + "_waveAmount"), amount), IntegerEntry((((("receiver_" + toString(i.originCaller)) + "_transactionId_") + transactionId) + "_tokenAmount"), totalExchangedAmount), ScriptTransfer(Address(collectorAddress), amount, unit), ScriptTransfer(i.originCaller, totalExchangedAmount, eggAssetId)]
5660 else [IntegerEntry((("receiver_" + toString(i.originCaller)) + "_lastDay"), height), IntegerEntry((("receiver_" + toString(i.originCaller)) + "_totalAmountInDay"), amount), IntegerEntry((((("receiver_" + toString(i.originCaller)) + "_transactionId_") + transactionId) + "_waveAmount"), amount), IntegerEntry((((("receiver_" + toString(i.originCaller)) + "_transactionId_") + transactionId) + "_tokenAmount"), totalExchangedAmount), ScriptTransfer(Address(collectorAddress), amount, unit), ScriptTransfer(i.originCaller, totalExchangedAmount, eggAssetId)]
5761 }
5862
5963
6064 @Verifier(tx)
6165 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
6266

github/deemru/w8io/03bedc9 
22.14 ms