tx · DYbqVtFAW5A2vr5GJ366ycSqC8cjMP4CfyiYDCHpZ4LU

3NDCnJ6AgvaBE3TTBNBkmfWcbmy4FnZ7iac:  -0.01000000 Waves

2022.11.14 16:33 [2316868] smart account 3NDCnJ6AgvaBE3TTBNBkmfWcbmy4FnZ7iac > SELF 0.00000000 Waves

{ "type": 13, "id": "DYbqVtFAW5A2vr5GJ366ycSqC8cjMP4CfyiYDCHpZ4LU", "fee": 1000000, "feeAssetId": null, "timestamp": 1668432790796, "version": 2, "chainId": 84, "sender": "3NDCnJ6AgvaBE3TTBNBkmfWcbmy4FnZ7iac", "senderPublicKey": "9gfryzRx9ZC2H2WN2cTpDESBuQQATaJy1r35NEQXsmqZ", "proofs": [ "TR5Be3m2vxZ44GgNgPtdHUkuehkmBRtb7yh8JgEVyNXoMjh7JowZBfPs7D7UJ8XxRxzZJhcBDazDnZqMkSXndAd" ], "script": "base64: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", "height": 2316868, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 3DB529yWpTqMzSUmx1n2cc74iZUkvvxzXhVGwyBCGxTv Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let usdnID = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
5+
6+@Callable(i)
7+func deposit () = {
8+ let pmt = i.payments[0]
9+ let caller = toString(i.caller)
10+ if ((pmt.assetId != usdnID))
11+ then throw("Invalid asset")
12+ else {
13+ let deposited = valueOrElse(getInteger(this, (caller + "_deposited")), 0)
14+ let onStake = valueOrElse(getInteger(this, "_treasury"), 0)
15+ let callerBalance = IntegerEntry((caller + "_deposited"), (pmt.amount + deposited))
16+ let updateTreasury = IntegerEntry("_treasury", (pmt.amount + onStake))
17+[callerBalance, updateTreasury]
18+ }
19+ }
20+
21+
22+
23+@Callable(i)
24+func withdraw (amount) = {
25+ let caller = toString(i.caller)
26+ let callerBalance = valueOrElse(getInteger(this, (caller + "_deposited")), 0)
27+ if ((callerBalance == 0))
28+ then throw("Nothing to withdraw")
29+ else if ((amount > callerBalance))
30+ then throw("Error, trying to withdraw more then deposited")
31+ else {
32+ let fundsInTreasury = getInteger(this, "_treasury")
33+[IntegerEntry((caller + "_deposited"), (callerBalance - amount)), ScriptTransfer(i.caller, amount, usdnID)]
34+ }
35+ }
36+
37+
38+
39+@Callable(i)
40+func claim (amount) = {
41+ let caller = toString(i.caller)
42+ let toClaim = getIntegerValue(this, (caller + "_toClaim"))
43+ if ((amount > toClaim))
44+ then throw("Not enough to claim")
45+ else [IntegerEntry((caller + "_toClaim"), (toClaim - amount)), ScriptTransfer(i.caller, amount, usdnID)]
46+ }
47+
48+
49+@Verifier(tx)
50+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
51+

github/deemru/w8io/873ac7e 
23.59 ms