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:AAIFAAAAAAAAAA4IAhIAEgMKAQESAwoBAQAAAAEAAAAABnVzZG5JRAEAAAAgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQAAAADAAAAAWkBAAAAB2RlcG9zaXQAAAAABAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABmNhbGxlcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABnVzZG5JRAkAAAIAAAABAgAAAA1JbnZhbGlkIGFzc2V0BAAAAAlkZXBvc2l0ZWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZjYWxsZXICAAAACl9kZXBvc2l0ZWQAAAAAAAAAAAAEAAAAB29uU3Rha2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwIAAAAJX3RyZWFzdXJ5AAAAAAAAAAAABAAAAA1jYWxsZXJCYWxhbmNlCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAACl9kZXBvc2l0ZWQJAABkAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAACWRlcG9zaXRlZAQAAAAOdXBkYXRlVHJlYXN1cnkJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlfdHJlYXN1cnkJAABkAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAAB29uU3Rha2UJAARMAAAAAgUAAAANY2FsbGVyQmFsYW5jZQkABEwAAAACBQAAAA51cGRhdGVUcmVhc3VyeQUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAQAAAAZhbW91bnQEAAAABmNhbGxlcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADWNhbGxlckJhbGFuY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZjYWxsZXICAAAACl9kZXBvc2l0ZWQAAAAAAAAAAAADCQAAAAAAAAIFAAAADWNhbGxlckJhbGFuY2UAAAAAAAAAAAAJAAACAAAAAQIAAAATTm90aGluZyB0byB3aXRoZHJhdwMJAABmAAAAAgUAAAAGYW1vdW50BQAAAA1jYWxsZXJCYWxhbmNlCQAAAgAAAAECAAAALUVycm9yLCB0cnlpbmcgdG8gd2l0aGRyYXcgbW9yZSB0aGVuIGRlcG9zaXRlZAQAAAAPZnVuZHNJblRyZWFzdXJ5CQAEGgAAAAIFAAAABHRoaXMCAAAACV90cmVhc3VyeQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAACl9kZXBvc2l0ZWQJAABlAAAAAgUAAAANY2FsbGVyQmFsYW5jZQUAAAAGYW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAZ1c2RuSUQFAAAAA25pbAAAAAFpAQAAAAVjbGFpbQAAAAEAAAAGYW1vdW50BAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAd0b0NsYWltCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABmNhbGxlcgIAAAAIX3RvQ2xhaW0DCQAAZgAAAAIFAAAABmFtb3VudAUAAAAHdG9DbGFpbQkAAAIAAAABAgAAABNOb3QgZW5vdWdoIHRvIGNsYWltCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABmNhbGxlcgIAAAAIX3RvQ2xhaW0JAABlAAAAAgUAAAAHdG9DbGFpbQUAAAAGYW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAZ1c2RuSUQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5g9URiw==", "height": 2316868, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 3DB529yWpTqMzSUmx1n2cc74iZUkvvxzXhVGwyBCGxTv Full:
Old | New | Differences | |
---|---|---|---|
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/169f3d6 22.09 ms ◑![]()