tx · HiWbEhNGWCqyK7SVX5cuZmodVFz9D7xJcErmVAVNm9Hh 3N6zsHoJ1d5MGewb6SzocKf9hqY2YRv2X9F: -0.05000000 Waves 2023.10.06 14:50 [2786722] smart account 3N6zsHoJ1d5MGewb6SzocKf9hqY2YRv2X9F > SELF 0.00000000 Waves
{ "type": 13, "id": "HiWbEhNGWCqyK7SVX5cuZmodVFz9D7xJcErmVAVNm9Hh", "fee": 5000000, "feeAssetId": null, "timestamp": 1696593034362, "version": 1, "sender": "3N6zsHoJ1d5MGewb6SzocKf9hqY2YRv2X9F", "senderPublicKey": "4vKLYiETjKhWQjgL2HxhS5cAy69esyZaVbGU5NRbcP2b", "proofs": [ "4vc1EGn6Sa9TRQdokuEbgAxcfiGLMWhiu1WUmQTQEWLt1g2UqY1oNG5xknaQ2saPAvBq3JgPR4jtwwAkYHRjjoyv" ], "script": "base64:AAIFAAAAAAAAACEIAhIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgAAAAsAQAAAAd0aHJvd0lmAAAAAgAAAAljb25kaXRpb24AAAAFZXJyb3IDBQAAAAljb25kaXRpb24JAAACAAAAAQUAAAAFZXJyb3IGAQAAAAh3cml0ZUludAAAAAIAAAADa2V5AAAABXZhbHVlAwkAAGYAAAACAAAAAAAAAAAABQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABd3cml0aW5nIG5lZ2F0aXZlIHZhbHVlIAkAAaQAAAABBQAAAAV2YWx1ZQIAAAAJIGZvciBrZXkgBQAAAANrZXkJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAANrZXkFAAAABXZhbHVlAQAAABB3cml0ZUNvbnN0U3RyaW5nAAAAAgAAAANrZXkAAAAFdmFsdWUDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAADa2V5BQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAICAAAAFWFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUAAAADa2V5AQAAAA13cml0ZUNvbnN0SW50AAAAAgAAAANrZXkAAAAFdmFsdWUDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUJAAACAAAAAQkAASwAAAACAgAAABBhbHJlYWR5IGV4aXN0czogBQAAAANrZXkBAAAACGNoYW5nZUJ5AAAAAgAAAANrZXkAAAAFdmFsdWUJAQAAAAh3cml0ZUludAAAAAIFAAAAA2tleQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQAAAAAAAAAAAAUAAAAFdmFsdWUBAAAABWFzSW50AAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQJAAACAAAAAQIAAAAZd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAAAAAASY29uZmlnQWRkcmVzc1N0b3JlAgAAAAZjb25maWcAAAAADWNvbmZpZ0FkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAASY29uZmlnQWRkcmVzc1N0b3JlAgAAABpjaGlsZHJlbi52b3Rpbmc6IG5vIGNvbmZpZwIAAAAWaW52YWxpZCBjb25maWcgYWRkcmVzcwAAAAAGSEVJR0hUBQAAAAZoZWlnaHQBAAAABmFkdmlzZQAAAAAJAAEsAAAAAgIAAAAIaGVpZ2h0OiAJAAGkAAAAAQUAAAAGSEVJR0hUAAAAAARCQVNFAAAAAAAAAAPoAQAAAAlvcEFsbG93ZWQAAAABAAAAAm9wBAAAAAFhCQAD/AAAAAQFAAAADWNvbmZpZ0FkZHJlc3MCAAAACW9wQWxsb3dlZAkABEwAAAACBQAAAAJvcAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAWEFAAAAAWEGCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAAQY2hpbGRyZW5Db250cmFjdAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAA1jb25maWdBZGRyZXNzAgAAABFjb250cmFjdF9jaGlsZHJlbgIAAAAUbm8gY29udHJhY3RfY2hpbGRyZW4CAAAAGWludmFsaWQgY29udHJhY3RfY2hpbGRyZW4AAAAAFHZvdGluZ1Jlc3VsdENvbnRyYWN0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAADWNvbmZpZ0FkZHJlc3MCAAAAFmNvbnRyYWN0X3ZvdGluZ19yZXN1bHQCAAAAGW5vIGNvbnRyYWN0X3ZvdGluZ19y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c2FsX21pbl9wb3dlcl9yZXF1aXJlZAUAAAAFY2hpbGQBAAAAEXZvdGluZ1N0YXJ0T2Zmc2V0AAAAAQAAAAVjaGlsZAkBAAAACHNldHRpbmdzAAAAAgIAAAAbcHJvcG9zYWxfdm90aW5nc3RhcnRfb2Zmc2V0BQAAAAVjaGlsZAEAAAAPdm90aW5nRW5kT2Zmc2V0AAAAAQAAAAVjaGlsZAkBAAAACHNldHRpbmdzAAAAAgIAAAAZcHJvcG9zYWxfdm90aW5nZW5kX29mZnNldAUAAAAFY2hpbGQBAAAACXVzZXJQb3dlcgAAAAIAAAAFY2hpbGQAAAAEdXNlcgkBAAAABWFzSW50AAAAAQkAA/wAAAAEBQAAABBjaGlsZHJlbkNvbnRyYWN0AgAAAAl1c2VyUG93ZXIJAARMAAAAAgUAAAAFY2hpbGQJAARMAAAAAgUAAAAEdXNlcgUAAAADbmlsBQAAAANuaWwBAAAADWlzUGFydGljaXBhbnQAAAABAAAABXBvd2VyAwkAAAAAAAACBQAAAAVwb3dlcgAAAAAAAAAAAAkAAAIAAAABAgAAACV5b3UgYXJlIG5vdCBhIHBhcnRpY2lwYW50IG9mIHRoaXMgZGFvBQAAAANuaWwBAAAADnByb3Bvc2FsRXhpc3RzAAAAAQAAAAR0eElkBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAQAAABNwcm9wb3NhbEhlaWdodFN0b3JlAAAAAQUAAAAEdHhJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAVzdGFydAUAAAAHJG1hdGNoMAYHAQAAABBwcm9wb3NhbE9uVm90aW5nAAAAAQAAAAR0eElkBAAAAAtub25FeGlzdEVycgIAAAAWcHJvcG9zYWwgZG9lc24ndCBleGlzdAMJAQAAAAEhAAAAAQkBAAAADnByb3Bvc2FsRXhpc3RzAAAAAQUAAAAEdHhJZAkAAAIAAAABBQAAAAtub25FeGlzdEVycgQAAAALdm90aW5nU3RhcnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAYcHJvcG9zYWxWb3RpbmdTdGFydFN0b3JlAAAAAQUAAAAEdHhJZAUAAAALbm9uRXhpc3RFcnIEAAAA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IGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQAAAA5hZHZpc2VQcm9wb3NhbAAAAAEAAAAEdHhJZAQAAAAFY2hpbGQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCIAAAABCQEAAAAScHJvcG9zYWxDaGlsZFN0b3JlAAAAAQUAAAAEdHhJZAIAAAAPY2hpbGQgbm90IGZvdW5kBAAAAA5wcm9wb3NhbEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABNwcm9wb3NhbEhlaWdodFN0b3JlAAAAAQUAAAAEdHhJZAIAAAALbm8gcHJvcG9zYWwEAAAAC3ZvdGluZ1N0YXJ0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAGHByb3Bvc2FsVm90aW5nU3RhcnRTdG9yZQAAAAEFAAAABHR4SWQCAAAAC25vIHByb3Bvc2FsBAAAAAl2b3RpbmdFbmQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAWcHJvcG9zYWxWb3RpbmdFbmRTdG9yZQAAAAEFAAAABHR4SWQCAAAAC25vIHByb3Bvc2FsBAAAAAh2b3Rlc1llcwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAVcHJvcG9zYWxUb3RhbFllc1N0b3JlAAAAAQUAAAAEdHhJZAAAAAAAAAAAAAQAAAAHdm90ZXNObwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAUcHJvcG9zYWxUb3RhbE5vU3RvcmUAAAABBQAAAAR0eElkAAAAAAAAAAAABAAAAA50b3RhbFBvd2VyU25hcAkBAAAAEHRvdGFsUG93ZXJTdGFrZWQAAAABBQAAAAVjaGlsZAMJAAAAAAAAAgUAAAAOdG90YWxQb3dlclNuYXAFAAAADnRvdGFsUG93ZXJTbmFwBAAAAAp0b3RhbFZvdGVzCQAAZAAAAAIFAAAACHZvdGVzWWVzBQAAAAd2b3Rlc05vBAAAAAloYXNRdW9ydW0DCQAAZgAAAAIFAAAACnRvdGFsVm90ZXMAAAAAAAAAAAAJAABnAAAAAgkAAGkAAAACCQAAaAAAAAIFAAAACnRvdGFsVm90ZXMFAAAABEJBU0UFAAAADnRvdGFsUG93ZXJTbmFwCQEAAAALcXVvcnVtUmF0aW8AAAABBQAAAAVjaGlsZAcEAAAACWhhc1Bhc3NlZAMJAABmAAAAAgUAAAAKdG90YWxWb3RlcwAAAAAAAAAAAAkAAGcAAAACCQAAaQAAAAIJAABoAAAAAgUAAAAIdm90ZXNZZXMFAAAABEJBU0UFAAAACnRvdGFsVm90ZXMJAQAAAAtwYXNzZWRSYXRpbwAAAAEFAAAABWNoaWxkBwQAAAASaW5CbG9ja2NoYWluSGVpZ2h0CQEAAAALdmFsdWVPckVsc2UAAAACCQAD6QAAAAEJAAJZAAAAAQUAAAAEdHhJZAAAAAAAAAAAAAQAAAAGc3RhdHVzAwkAAGYAAAACBQAAAAt2b3RpbmdTdGFydAUAAAAGSEVJR0hUAgAAAApkaXNjdXNzaW9uAwkAAGcAAAACBQAAAAl2b3RpbmdFbmQFAAAABkhFSUdIVAIAAAAGdm90aW5nAwkBAAAAASEAAAABBQAAAAloYXNRdW9ydW0CAAAACG5vUXVvcnVtAwkBAAAAASEAAAABBQAAAAloYXNQYXNzZWQCAAAADHZvdGluZ0ZhaWxlZAMJAABmAAAAAgUAAAASaW5CbG9ja2NoYWluSGVpZ2h0AAAAAAAAAAAAAgAAAAxpbkJsb2NrY2hhaW4CAAAADHdhaXRpbmdGb3JUeAQAAAAPYnJvYWRjYXN0SGVpZ2h0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAFHZvdGluZ1Jlc3VsdENvbnRyYWN0CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABlwcm9wb3NhbF9hbGxvd19icm9hZGNhc3RfBQAAAAVjaGlsZAIAAAABXwUAAAAEdHhJZAD//////////wkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1wcm9wb3NhbF9pZDogBQAAAAR0eElkAgAAABMsIHByb3Bvc2FsX3N0YXR1czogBQAAAAZzdGF0dXMCAAAADywgcHJvcG9zYWxfYnk6IAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMJAQAAAA9wcm9wb3NhbEJ5U3RvcmUAAAABBQAAAAR0eElkAgAAAAtubyBwcm9wb3NhbAIAAAATLCBwcm9wb3NhbF9oZWlnaHQ6IAkAAaQAAAABBQAAAA5wcm9wb3NhbEhlaWdodAIAAAAVLCBwcm9wb3NhbF90eGhlaWdodDogCQABpAAAAAEFAAAAEmluQmxvY2tjaGFpbkhlaWdodAIAAAAYLCBwcm9wb3NhbF92b3RpbmdzdGFydDogCQABpAAAAAEFAAAAC3ZvdGluZ1N0YXJ0AgAAABYsIHByb3Bvc2FsX3ZvdGluZ2VuZDogCQABpAAAAAEFAAAACXZvdGluZ0VuZAIAAAASLCBwcm9wb3NhbF9wb3dlcjogCQABpAAAAAEFAAAADnRvdGFsUG93ZXJTbmFwAgAAAAwsIHZvdGVfeWVzOiAJAAGkAAAAAQUAAAAIdm90ZXNZZXMCAAAACywgdm90ZV9ubzogCQABpAAAAAEFAAAAB3ZvdGVzTm8CAAAAHCwgcHJvcG9zYWxfYWxsb3dfYnJvYWRjYXN0OiAJAAGlAAAAAQMJAQAAAAIhPQAAAAIFAAAAD2Jyb2FkY2FzdEhlaWdodAD//////////wkAAGcAAAACBQAAAAZIRUlHSFQFAAAAD2Jyb2FkY2FzdEhlaWdodAcCAAAAIywgcHJvcG9zYWxfYWxsb3dfYnJvYWRjYXN0X2hlaWdodDogCQABpAAAAAEFAAAAD2Jyb2FkY2FzdEhlaWdodAIAAAAaLCBwcm9wb3NhbF92b3Rpbmdfc3VjY2VlZDoJAAGlAAAAAQkBAAAAAiE9AAAAAgUAAAAPYnJvYWRjYXN0SGVpZ2h0AP//////////CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEAAAAPYnJvYWRjYXN0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", "chainId": 84, "height": 2786722, "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 a (b,c) = if (b) | |
5 | + | then throw(c) | |
6 | + | else true | |
7 | + | ||
8 | + | ||
9 | + | func d (e,f) = if ((0 > f)) | |
10 | + | then throw(((("writing negative value " + toString(f)) + " for key ") + e)) | |
11 | + | else IntegerEntry(e, f) | |
12 | + | ||
13 | + | ||
14 | + | func g (e,f) = if (!(isDefined(getString(this, e)))) | |
15 | + | then StringEntry(e, f) | |
16 | + | else throw(("already initialized: " + e)) | |
17 | + | ||
18 | + | ||
19 | + | func h (e,f) = if (!(isDefined(getInteger(this, e)))) | |
20 | + | then IntegerEntry(e, f) | |
21 | + | else throw(("already exists: " + e)) | |
22 | + | ||
23 | + | ||
24 | + | func i (e,f) = d(e, (valueOrElse(getInteger(this, e), 0) + f)) | |
25 | + | ||
26 | + | ||
27 | + | func j (f) = { | |
28 | + | let k = f | |
29 | + | if ($isInstanceOf(k, "Int")) | |
30 | + | then { | |
31 | + | let l = k | |
32 | + | l | |
33 | + | } | |
34 | + | else throw("wrong type, expected: Int") | |
35 | + | } | |
36 | + | ||
37 | + | ||
38 | + | let m = "config" | |
39 | + | ||
40 | + | let n = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, m), "children.voting: no config")), "invalid config address") | |
41 | + | ||
42 | + | let o = height | |
43 | + | ||
44 | + | func p () = ("height: " + toString(o)) | |
45 | + | ||
46 | + | ||
47 | + | let q = 1000 | |
48 | + | ||
49 | + | func r (s) = { | |
50 | + | let t = invoke(n, "opAllowed", [s], nil) | |
51 | + | if ((t == t)) | |
52 | + | then true | |
53 | + | else throw("Strict value is not equal to itself.") | |
54 | + | } | |
55 | + | ||
56 | + | ||
57 | + | let u = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n, "contract_children"), "no contract_children")), "invalid contract_children") | |
58 | + | ||
59 | + | let v = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n, "contract_voting_result"), "no contract_voting_result")), "invalid contract_voting_result") | |
60 | + | ||
61 | + | func w (x) = ("proposal_child_" + x) | |
62 | + | ||
63 | + | ||
64 | + | func y (x) = ("proposal_height_" + x) | |
65 | + | ||
66 | + | ||
67 | + | func z (x) = ("proposal_votingstart_" + x) | |
68 | + | ||
69 | + | ||
70 | + | func A (x) = ("proposal_votingend_" + x) | |
71 | + | ||
72 | + | ||
73 | + | func B (x) = ("proposal_by_" + x) | |
74 | + | ||
75 | + | ||
76 | + | func C (x) = ("proposal_yes_" + x) | |
77 | + | ||
78 | + | ||
79 | + | func D (x) = ("proposal_no_" + x) | |
80 | + | ||
81 | + | ||
82 | + | func E (F,x) = ((("user_proposal_yes_" + F) + "_") + x) | |
83 | + | ||
84 | + | ||
85 | + | func G (F,x) = ((("user_proposal_no_" + F) + "_") + x) | |
86 | + | ||
87 | + | ||
88 | + | func H (F) = ("propose_lastheight_" + F) | |
89 | + | ||
90 | + | ||
91 | + | func I (F,x) = valueOrElse(getInteger(this, E(F, x)), 0) | |
92 | + | ||
93 | + | ||
94 | + | func J (F,x) = valueOrElse(getInteger(this, G(F, x)), 0) | |
95 | + | ||
96 | + | ||
97 | + | func K (F) = valueOrElse(getInteger(this, H(F)), -1) | |
98 | + | ||
99 | + | ||
100 | + | let L = toString(this) | |
101 | + | ||
102 | + | func M (e,N) = valueOrElse(getInteger(((e + "_") + N)), valueOrErrorMessage(getInteger(n, ((L + "_") + e)), (e + " is not defined"))) | |
103 | + | ||
104 | + | ||
105 | + | func O (N) = M("user_propose_delay", N) | |
106 | + | ||
107 | + | ||
108 | + | func P (N) = M("proposal_quorum_ratio", N) | |
109 | + | ||
110 | + | ||
111 | + | func Q (N) = M("proposal_passed_ratio", N) | |
112 | + | ||
113 | + | ||
114 | + | func R (N) = M("proposal_min_power_required", N) | |
115 | + | ||
116 | + | ||
117 | + | func S (N) = M("proposal_votingstart_offset", N) | |
118 | + | ||
119 | + | ||
120 | + | func T (N) = M("proposal_votingend_offset", N) | |
121 | + | ||
122 | + | ||
123 | + | func U (N,F) = j(invoke(u, "userPower", [N, F], nil)) | |
124 | + | ||
125 | + | ||
126 | + | func V (W) = if ((W == 0)) | |
127 | + | then throw("you are not a participant of this dao") | |
128 | + | else nil | |
129 | + | ||
130 | + | ||
131 | + | func X (Y) = { | |
132 | + | let k = getInteger(this, y(Y)) | |
133 | + | if ($isInstanceOf(k, "Int")) | |
134 | + | then { | |
135 | + | let Z = k | |
136 | + | true | |
137 | + | } | |
138 | + | else false | |
139 | + | } | |
140 | + | ||
141 | + | ||
142 | + | func aa (Y) = { | |
143 | + | let ab = "proposal doesn't exist" | |
144 | + | if (!(X(Y))) | |
145 | + | then throw(ab) | |
146 | + | else { | |
147 | + | let ac = valueOrErrorMessage(getInteger(this, z(Y)), ab) | |
148 | + | let ad = valueOrErrorMessage(getInteger(this, A(Y)), ab) | |
149 | + | if ((ac > o)) | |
150 | + | then throw(((("voting not started yet, discussion is in progress, voting will start at block " + toString(ac)) + ", now it's ") + toString(o))) | |
151 | + | else if ((o > ad)) | |
152 | + | then throw(((("voting ended at block " + toString(ad)) + ", now it's ") + toString(o))) | |
153 | + | else true | |
154 | + | } | |
155 | + | } | |
156 | + | ||
157 | + | ||
158 | + | func ae (Y) = { | |
159 | + | let ab = "proposal doesn't exist" | |
160 | + | if (!(X(Y))) | |
161 | + | then throw(ab) | |
162 | + | else { | |
163 | + | let ac = valueOrErrorMessage(getInteger(this, z(Y)), ab) | |
164 | + | if ((o >= ac)) | |
165 | + | then throw("voting start is already happened") | |
166 | + | else true | |
167 | + | } | |
168 | + | } | |
169 | + | ||
170 | + | ||
171 | + | func af (N) = j(invoke(u, "totalPower", [N], nil)) | |
172 | + | ||
173 | + | ||
174 | + | func ag (N,Y,ah,ai) = { | |
175 | + | let aj = (valueOrElse(getInteger(C(Y)), 0) + ah) | |
176 | + | let ak = (valueOrElse(getInteger(D(Y)), 0) + ai) | |
177 | + | let al = valueOrErrorMessage(getInteger(y(Y)), "proposal not registered") | |
178 | + | let am = af(N) | |
179 | + | if ((am == am)) | |
180 | + | then { | |
181 | + | let an = P(N) | |
182 | + | let ao = Q(N) | |
183 | + | let ap = (aj + ak) | |
184 | + | let aq = (((ap * q) / am) >= an) | |
185 | + | let ar = (((aj * q) / ap) >= ao) | |
186 | + | if (aq) | |
187 | + | then ar | |
188 | + | else false | |
189 | + | } | |
190 | + | else throw("Strict value is not equal to itself.") | |
191 | + | } | |
192 | + | ||
193 | + | ||
194 | + | func as (Y) = { | |
195 | + | let N = valueOrErrorMessage(getString(w(Y)), "child not found") | |
196 | + | let al = valueOrErrorMessage(getInteger(this, y(Y)), "no proposal") | |
197 | + | let ac = valueOrErrorMessage(getInteger(this, z(Y)), "no proposal") | |
198 | + | let ad = valueOrErrorMessage(getInteger(this, A(Y)), "no proposal") | |
199 | + | let aj = valueOrElse(getInteger(this, C(Y)), 0) | |
200 | + | let ak = valueOrElse(getInteger(this, D(Y)), 0) | |
201 | + | let at = af(N) | |
202 | + | if ((at == at)) | |
203 | + | then { | |
204 | + | let ap = (aj + ak) | |
205 | + | let aq = if ((ap > 0)) | |
206 | + | then (((ap * q) / at) >= P(N)) | |
207 | + | else false | |
208 | + | let ar = if ((ap > 0)) | |
209 | + | then (((aj * q) / ap) >= Q(N)) | |
210 | + | else false | |
211 | + | let au = valueOrElse(transactionHeightById(fromBase58String(Y)), 0) | |
212 | + | let av = if ((ac > o)) | |
213 | + | then "discussion" | |
214 | + | else if ((ad >= o)) | |
215 | + | then "voting" | |
216 | + | else if (!(aq)) | |
217 | + | then "noQuorum" | |
218 | + | else if (!(ar)) | |
219 | + | then "votingFailed" | |
220 | + | else if ((au > 0)) | |
221 | + | then "inBlockchain" | |
222 | + | else "waitingForTx" | |
223 | + | let aw = valueOrElse(getInteger(v, ((("proposal_allow_broadcast_" + N) + "_") + Y)), -1) | |
224 | + | ((((((((((((((((((((((((("proposal_id: " + Y) + ", proposal_status: ") + av) + ", proposal_by: ") + valueOrErrorMessage(getString(this, B(Y)), "no proposal")) + ", proposal_height: ") + toString(al)) + ", proposal_txheight: ") + toString(au)) + ", proposal_votingstart: ") + toString(ac)) + ", proposal_votingend: ") + toString(ad)) + ", proposal_power: ") + toString(at)) + ", vote_yes: ") + toString(aj)) + ", vote_no: ") + toString(ak)) + ", proposal_allow_broadcast: ") + toString(if ((aw != -1)) | |
225 | + | then (o >= aw) | |
226 | + | else false)) + ", proposal_allow_broadcast_height: ") + toString(aw)) + ", proposal_voting_succeed:") + toString((aw != -1))) | |
227 | + | } | |
228 | + | else throw("Strict value is not equal to itself.") | |
229 | + | } | |
230 | + | ||
231 | + | ||
232 | + | func aw (Y) = (getIntegerValue(A(Y)) + 1) | |
233 | + | ||
234 | + | ||
235 | + | @Callable(ax) | |
236 | + | func propose (N,Y) = { | |
237 | + | let ay = r("child_governance_propose_tx") | |
238 | + | if ((ay == ay)) | |
239 | + | then { | |
240 | + | let az = R(N) | |
241 | + | let F = toString(ax.caller) | |
242 | + | let aA = U(N, F) | |
243 | + | if ((aA == aA)) | |
244 | + | then if ((az > aA)) | |
245 | + | then throw((((("not enough staked power to make proposal." + " Minimum required = ") + toString(az)) + ", actual: = ") + toString(aA))) | |
246 | + | else { | |
247 | + | let aB = O(N) | |
248 | + | let aC = K(F) | |
249 | + | if (if ((aC > -1)) | |
250 | + | then ((aC + aB) > o) | |
251 | + | else false) | |
252 | + | then throw(((("can't propose too often, last proroposal height: " + toString(aC)) + ", blocks to wait: ") + toString(((aC + aB) - o)))) | |
253 | + | else [g(w(Y), N), h(y(Y), o), h(z(Y), (o + S(N))), h(A(Y), (o + T(N))), g(B(Y), F), d(H(F), o)] | |
254 | + | } | |
255 | + | else throw("Strict value is not equal to itself.") | |
256 | + | } | |
257 | + | else throw("Strict value is not equal to itself.") | |
258 | + | } | |
259 | + | ||
260 | + | ||
261 | + | ||
262 | + | @Callable(ax) | |
263 | + | func voteYes (Y) = { | |
264 | + | let ay = if (r("child_governance_vote_tx")) | |
265 | + | then aa(Y) | |
266 | + | else false | |
267 | + | if ((ay == ay)) | |
268 | + | then { | |
269 | + | let F = toString(ax.caller) | |
270 | + | if ((J(F, Y) > 0)) | |
271 | + | then throw("already voted against, please retract your vote first") | |
272 | + | else { | |
273 | + | let aD = I(F, Y) | |
274 | + | if ((aD > 0)) | |
275 | + | then throw("already voted") | |
276 | + | else { | |
277 | + | let N = valueOrErrorMessage(getString(w(Y)), "child not found") | |
278 | + | let W = U(N, F) | |
279 | + | if ((W == W)) | |
280 | + | then { | |
281 | + | let aE = V(W) | |
282 | + | if ((aE == aE)) | |
283 | + | then { | |
284 | + | let aF = ag(N, Y, W, 0) | |
285 | + | let aG = invoke(v, "setResult", [N, Y, aF, aw(Y)], nil) | |
286 | + | if ((aG == aG)) | |
287 | + | then [i(E(F, Y), W), i(C(Y), W)] | |
288 | + | else throw("Strict value is not equal to itself.") | |
289 | + | } | |
290 | + | else throw("Strict value is not equal to itself.") | |
291 | + | } | |
292 | + | else throw("Strict value is not equal to itself.") | |
293 | + | } | |
294 | + | } | |
295 | + | } | |
296 | + | else throw("Strict value is not equal to itself.") | |
297 | + | } | |
298 | + | ||
299 | + | ||
300 | + | ||
301 | + | @Callable(ax) | |
302 | + | func voteNo (Y) = { | |
303 | + | let ay = if (r("child_governance_vote_tx")) | |
304 | + | then aa(Y) | |
305 | + | else false | |
306 | + | if ((ay == ay)) | |
307 | + | then { | |
308 | + | let F = toString(ax.caller) | |
309 | + | if ((I(F, Y) > 0)) | |
310 | + | then throw("already voted for, please retract your vote first") | |
311 | + | else { | |
312 | + | let aH = J(F, Y) | |
313 | + | if ((aH > 0)) | |
314 | + | then throw("already voted") | |
315 | + | else { | |
316 | + | let N = valueOrErrorMessage(getString(w(Y)), "child not found") | |
317 | + | let W = U(N, F) | |
318 | + | if ((W == W)) | |
319 | + | then { | |
320 | + | let aE = V(W) | |
321 | + | if ((aE == aE)) | |
322 | + | then { | |
323 | + | let aF = ag(N, Y, 0, W) | |
324 | + | let aG = invoke(v, "setResult", [N, Y, aF, aw(Y)], nil) | |
325 | + | if ((aG == aG)) | |
326 | + | then [i(G(F, Y), W), i(D(Y), W)] | |
327 | + | else throw("Strict value is not equal to itself.") | |
328 | + | } | |
329 | + | else throw("Strict value is not equal to itself.") | |
330 | + | } | |
331 | + | else throw("Strict value is not equal to itself.") | |
332 | + | } | |
333 | + | } | |
334 | + | } | |
335 | + | else throw("Strict value is not equal to itself.") | |
336 | + | } | |
337 | + | ||
338 | + | ||
339 | + | ||
340 | + | @Callable(ax) | |
341 | + | func retract (Y) = { | |
342 | + | let ay = if (r("child_governance_retract_vote")) | |
343 | + | then aa(Y) | |
344 | + | else false | |
345 | + | if ((ay == ay)) | |
346 | + | then { | |
347 | + | let F = toString(ax.caller) | |
348 | + | let N = valueOrErrorMessage(getString(w(Y)), "child not found") | |
349 | + | let aD = -(I(F, Y)) | |
350 | + | let aH = -(J(F, Y)) | |
351 | + | let aF = ag(N, Y, aD, aH) | |
352 | + | let aG = invoke(v, "setResult", [N, Y, aF, aw(Y)], nil) | |
353 | + | if ((aG == aG)) | |
354 | + | then [i(C(Y), aD), i(D(Y), aH), DeleteEntry(E(F, Y)), DeleteEntry(G(F, Y))] | |
355 | + | else throw("Strict value is not equal to itself.") | |
356 | + | } | |
357 | + | else throw("Strict value is not equal to itself.") | |
358 | + | } | |
359 | + | ||
360 | + | ||
361 | + | ||
362 | + | @Callable(ax) | |
363 | + | func retractProposal (Y) = { | |
364 | + | let ay = if (r("child_governance_retract_proposal_tx")) | |
365 | + | then ae(Y) | |
366 | + | else false | |
367 | + | if ((ay == ay)) | |
368 | + | then { | |
369 | + | let aI = valueOrErrorMessage(getString(this, B(Y)), "proposal doesn't exist") | |
370 | + | let F = toString(ax.caller) | |
371 | + | if ((aI != F)) | |
372 | + | then throw("only owner can retract proposal") | |
373 | + | else [DeleteEntry(w(Y)), DeleteEntry(y(Y)), DeleteEntry(z(Y)), DeleteEntry(A(Y)), DeleteEntry(B(Y)), DeleteEntry(C(Y)), DeleteEntry(D(Y)), DeleteEntry(E(F, Y)), DeleteEntry(G(F, Y)), DeleteEntry(H(F))] | |
374 | + | } | |
375 | + | else throw("Strict value is not equal to itself.") | |
376 | + | } | |
377 | + | ||
378 | + | ||
379 | + | ||
380 | + | @Callable(ax) | |
381 | + | func init (aJ) = [g(m, aJ)] | |
382 | + | ||
383 | + |
github/deemru/w8io/026f985 29.57 ms ◑