tx · 9GrynihozqznSXvKDtmJQhwdsNKDuXHYs7PiZnp6pY5G 3MpKPZvyZWgxARq3ebKHQi4VqtSpWLCkEno: -0.00200000 Waves 2024.10.03 20:50 [3310991] smart account 3MpKPZvyZWgxARq3ebKHQi4VqtSpWLCkEno > SELF 0.00000000 Waves
{ "type": 13, "id": "9GrynihozqznSXvKDtmJQhwdsNKDuXHYs7PiZnp6pY5G", "fee": 200000, "feeAssetId": null, "timestamp": 1727977853954, "version": 2, "chainId": 84, "sender": "3MpKPZvyZWgxARq3ebKHQi4VqtSpWLCkEno", "senderPublicKey": "EMxbUYHwA924mwxPC19TCbqWVt2Wmp8bGGhdGvSb4omD", "proofs": [ "4g9UPWXRVmUYLVYtNDzLzf5STcDN9og9gtXP7sF3SV3zPuWhXPm1mkYvGx376QmirgtWBNYDjJ7GbamFY5Vzcyaj" ], "script": "base64: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", "height": 3310991, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func writeConstString (key,value) = if (!(isDefined(getString(this, key)))) | |
5 | + | then StringEntry(key, value) | |
6 | + | else throw(("already initialized: " + key)) | |
7 | + | ||
8 | + | ||
9 | + | func writeInt (key,value) = if ((0 > value)) | |
10 | + | then throw(((("writing negative value " + toString(value)) + " for key ") + key)) | |
11 | + | else IntegerEntry(key, value) | |
12 | + | ||
13 | + | ||
14 | + | let configAddressStore = "config" | |
15 | + | ||
16 | + | let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "userdata: no config")), "userdata: invalid config address") | |
17 | + | ||
18 | + | let voting = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_voting"), "no contract_voting")), "invalid contract_voting") | |
19 | + | ||
20 | + | @Callable(i) | |
21 | + | func write (key,value) = if ((i.caller != voting)) | |
22 | + | then throw("denied") | |
23 | + | else [IntegerEntry(key, value)] | |
24 | + | ||
25 | + | ||
26 | + | ||
27 | + | @Callable(i) | |
28 | + | func changeBy (key,delta) = if ((i.caller != voting)) | |
29 | + | then throw("denied") | |
30 | + | else [writeInt(key, (valueOrElse(getInteger(key), 0) + delta))] | |
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | @Callable(i) | |
35 | + | func delete (key) = if ((i.caller != voting)) | |
36 | + | then throw("denied") | |
37 | + | else [DeleteEntry(key)] | |
38 | + | ||
39 | + | ||
40 | + | ||
41 | + | @Callable(i) | |
42 | + | func init (config) = [writeConstString(configAddressStore, config)] | |
43 | + | ||
44 | + | ||
45 | + | @Verifier(tx) | |
46 | + | func verify () = { | |
47 | + | let id = toBase58String(tx.id) | |
48 | + | (height >= getIntegerValue(this, ((("proposal_allow_broadcast_" + toString(this)) + "_") + id))) | |
49 | + | } | |
50 | + |
github/deemru/w8io/026f985 10.56 ms ◑