tx · 2pgCnEQX4xYNZtMhkmhkVHm2kcq6dYypgqHYWFcsyeZF

3Mvze35RhgMCjGrqEnhQLjgtVUJVh8c2svx:  -0.00300000 Waves

2022.08.08 17:29 [2175598] smart account 3Mvze35RhgMCjGrqEnhQLjgtVUJVh8c2svx > SELF 0.00000000 Waves

{ "type": 13, "id": "2pgCnEQX4xYNZtMhkmhkVHm2kcq6dYypgqHYWFcsyeZF", "fee": 300000, "feeAssetId": null, "timestamp": 1659968939798, "version": 2, "chainId": 84, "sender": "3Mvze35RhgMCjGrqEnhQLjgtVUJVh8c2svx", "senderPublicKey": "FaGCYpFFVYNb9NxCR9EFdCHGGGD8V18xsvJZEW9Ch8ac", "proofs": [ "21XUZnJEUVv71N2y1xxutdu41bTBNymdXKcPRfipLfRvPHuaX7MYb81Tsc4H75VmpgzSrsxTQMN9fuURqRzo8HPz" ], "script": "base64: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", "height": 2175598, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: CBxHHhqeGCUjCd1srzz2JWgvCnSg9PBNTJm6xgCFj6f8 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let eggAssetId = base58'G1r2bKT6wwoScJ9k213SGoaQVjwZs16TLRhuYowNy77f'
5+
6+let collectorAddress = base58'3Mvze35RhgMCjGrqEnhQLjgtVUJVh8c2svx'
7+
8+let delay = 1440
9+
10+let maxExchange = 1000000000
11+
12+let exchangeRate = 2
13+
14+let waveDecimals = 8
15+
16+let tokenDecimals = 8
17+
18+func tryGetInteger (key) = {
19+ let val = match getInteger(this, key) {
20+ case b: Int =>
21+ b
22+ case _ =>
23+ 0
24+ }
25+ val
26+ }
27+
28+
29+func tryGetString (key) = {
30+ let val = match getString(this, key) {
31+ case b: String =>
32+ b
33+ case _ =>
34+ ""
35+ }
36+ val
37+ }
38+
39+
40+func tryGetBoolean (key) = match getBoolean(this, key) {
41+ case b: Boolean =>
42+ b
43+ case _ =>
44+ false
45+}
46+
47+
48+@Callable(i)
49+func exchangeToken (amount) = {
50+ let transactionId = toBase58String(i.transactionId)
51+ let totalExchangedAmount = (amount / exchangeRate)
52+ let lastTransferedDay = tryGetInteger((("receiver_" + toString(i.originCaller)) + "_lastDay"))
53+ let totalAmountInDay = tryGetInteger((("receiver_" + toString(i.originCaller)) + "_totalAmountInDay"))
54+ if ((height > (lastTransferedDay + delay)))
55+ then if ((totalAmountInDay > maxExchange))
56+ then throw("Max exchange limit reached. Please try after 24 hours.")
57+ else if (((totalAmountInDay + amount) > maxExchange))
58+ then throw("Max exchange crossed. Please try with lower value.")
59+ 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)]
60+ 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)]
61+ }
62+
63+
64+@Verifier(tx)
65+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
66+

github/deemru/w8io/169f3d6 
23.28 ms