tx · AxVs3xLNcXpZMkMjjZ9xRNsv15inbN7U35yud9b8CebT 3N3VMsFoPfZpyjxotAPCvURt3rFJ4WB8qQ9: -0.05000000 Waves 2023.10.06 13:40 [2786651] smart account 3N3VMsFoPfZpyjxotAPCvURt3rFJ4WB8qQ9 > SELF 0.00000000 Waves
{ "type": 13, "id": "AxVs3xLNcXpZMkMjjZ9xRNsv15inbN7U35yud9b8CebT", "fee": 5000000, "feeAssetId": null, "timestamp": 1696588910407, "version": 1, "sender": "3N3VMsFoPfZpyjxotAPCvURt3rFJ4WB8qQ9", "senderPublicKey": "F3kMCLGQZ4FXbUbpfpZcFNp3z9CUEie5nX3CaC35jETA", "proofs": [ "3TUwMJttKERjoTnbyKMmSYQP67iHepxB28RnaVbkwSnDTGQjj75tV87mJs2RHBu5Xaf3Cv9ZwqVQ5FmyxyyXNxam" ], "script": "base64:AAIFAAAAAAAAACEIAhIDCgEIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgAAAAwAQAAAAd0aHJvd0lmAAAAAgAAAAljb25kaXRpb24AAAAFZXJyb3IDBQAAAAljb25kaXRpb24JAAACAAAAAQUAAAAFZXJyb3IGAQAAAAh3cml0ZUludAAAAAIAAAADa2V5AAAABXZhbHVlAwkAAGYAAAACAAAAAAAAAAAABQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABd3cml0aW5nIG5lZ2F0aXZlIHZhbHVlIAkAAaQAAAABBQAAAAV2YWx1ZQIAAAAJIGZvciBrZXkgBQAAAANrZXkJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAANrZXkFAAAABXZhbHVlAQAAABB3cml0ZUNvbnN0U3RyaW5nAAAAAgAAAANrZXkAAAAFdmFsdWUDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAADa2V5BQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAICAAAAFWFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUAAAADa2V5AQAAAA13cml0ZUNvbnN0SW50AAAAAgAAAANrZXkAAAAFdmFsdWUDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUJAAACAAAAAQkAASwAAAACAgAAABBhbHJlYWR5IGV4aXN0czogBQAAAANrZXkBAAAACGNoYW5nZUJ5AAAAAgAAAANrZXkAAAAFdmFsdWUJAQAAAAh3cml0ZUludAAAAAIFAAAAA2tleQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQAAAAAAAAAAAAUAAAAFdmFsdWUBAAAABWFzSW50AAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQJAAACAAAAAQIAAAAZd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAAAAAASY29uZmlnQWRkcmVzc1N0b3JlAgAAAA1jb25maWdBZGRyZXNzAAAAAA1jb25maWdBZGRyZXNzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAEmNvbmZpZ0FkZHJlc3NTdG9yZQIAAAAfbW90aGVyIHZvdGluZzogbm8gY29uZmlnQWRkcmVzcwIAAAAWaW52YWxpZCBjb25maWcgYWRkcmVzcwAAAAAUdm90aW5nUmVzdWx0Q29udHJhY3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAANY29uZmlnQWRkcmVzcwIAAAAWY29udHJhY3Rfdm90aW5nX3Jlc3VsdAIAAAAZbm8gY29udHJhY3Rfdm90aW5nX3Jlc3VsdAIAAAAeaW52YWxpZCBjb250cmFjdF92b3RpbmdfcmVzdWx0AAAAABV2b3RpbmdSZXdhcmRzQ29udHJhY3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAANY29uZmlnQWRkcmVzcwIAAAAXY29udHJhY3Rfdm90aW5nX3Jld2FyZHMCAAAAGm5vIGNvbnRyYWN0X3ZvdGluZ19yZXdhcmRzAgAAAB9pbnZhbGlkIGNvbnRyYWN0X3ZvdGluZ19yZXdhcmRzAAAAAA9zdGFraW5nQ29udHJhY3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAANY29uZmlnQWRkcmVzcwIAAAAQY29udHJhY3Rfc3Rha2luZwIAAAATbm8gc3Rha2luZ19jb250cmFjdAIAAAAXaW52YWxpZCBzdGFraW5nQ29udHJhY3QAAAAABkhFSUdIVAUAAAAGaGVpZ2h0AQAAAAZhZHZpc2UAAAAACQABLAAAAAICAAAACGhlaWdodDogCQABpAAAAAEFAAAABkhFSUdIVAAAAAAEQkFTRQAAAAAAAAAD6AEAAAAJb3BBbGxvd2VkAAAAAQAAAAJvcAQAAAABYQkAA/wAAAAEBQAAAA1jb25maWdBZGRyZXNzAgAAAAlvcEFsbG93ZWQJAARMAAAAAgUAAAACb3AFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAFhBQAAAAFhBgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAAAAFHByb3Bvc2FsQWRkcmVzc1N0b3JlAAAAAQAAAAJpZAkAASwAAAACAgAAABFwcm9wb3NhbF9hZGRyZXNzXwUAAAACaWQBAAAAE3Byb3Bvc2FsSGVpZ2h0U3RvcmUAAAABAAAAAmlkCQABLAAAAAICAAAAEHByb3Bvc2FsX2hlaWdodF8FAAAAAmlkAQAAABhwcm9wb3NhbFZvdGluZ1N0YXJ0U3RvcmUAAAABAAAAAmlkCQABLAAAAAICAAAAFXByb3Bvc2FsX3ZvdGluZ3N0YXJ0XwUAAAACaWQBAAAAFnByb3Bvc2FsVm90aW5nRW5kU3RvcmUAAAABAAAAAmlkCQABLAAAAAICAAAAE3Byb3Bvc2FsX3ZvdGluZ2VuZF8FAAAAAmlkAQAAAA9wcm9wb3NhbEJ5U3RvcmUAAAABAAAAAmlkCQABLAAAAAICAAAADHByb3Bvc2FsX2J5XwUAAAACaWQBAAAAF3Byb3Bvc2FsVG90YWxQb3dlclN0b3JlAAAAAQAAAAJpZAkAASwAAAACAgAAAA9wcm9wb3NhbF9wb3dlcl8FAAAAAmlkAQAAABVwcm9wb3NhbFRvdGFsWWVzU3RvcmUAAAABAAAAAmlkCQABLAAAAAICAAAADXByb3Bvc2FsX3llc18FAAAAAmlkAQAAABRwcm9wb3NhbFRvdGFsTm9TdG9yZQAAAAEAAAACaWQJAAEsAAAAAgIAAAAMcHJvcG9zYWxfbm9fBQAAAAJpZAEAAAAUcHJvcG9zYWxVc2VyWWVzU3RvcmUAAAACAAAABHVzZXIAAAACaWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEnVzZXJfcHJvcG9zYWxfeWVzXwUAAAAEdXNlcgIAAAABXwUAAAACaWQBAAAAE3Byb3Bvc2FsVXNlck5vU3RvcmUAAAACAAAABHVzZXIAAAACaWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEXVzZXJfcHJvcG9zYWxfbm9fBQAAAAR1c2VyAgAAAAFfBQAAAAJpZAEAAAAadXNlckxhc3RQcm9wb3NlSGVpZ2h0U3RvcmUAAAABAAAABHVzZXIJAAEsAAAAAgIAAAATcHJvcG9zZV9sYXN0aGVpZ2h0XwUAAAAEdXNlcgEAAAAHdXNlclllcwAAAAIAAAAEdXNlcgAAAAJpZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAUcHJvcG9zYWxVc2VyWWVzU3RvcmUAAAACBQAAAAR1c2VyBQAAAAJpZAAAAAAAAAAAAAEAAAAGdXNlck5vAAAAAgAAAAR1c2VyAAAAAmlkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABNwcm9wb3NhbFVzZXJOb1N0b3JlAAAAAgUAAAAEdXNlcgUAAAACaWQAAAAAAAAAAAABAAAAFXVzZXJMYXN0UHJvcG9zZUhlaWdodAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAadXNlckxhc3RQcm9wb3NlSGVpZ2h0U3RvcmUAAAABBQAAAAR1c2VyAP//////////AAAAAAt0aGlzQWRkcmVzcwkABCUAAAABBQAAAAR0aGlzAAAAABB1c2VyUHJvcG9zZURlbGF5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANY29uZmlnQWRkcmVzcwkAASwAAAACBQAAAAt0aGlzQWRkcmVzcwIAAAATX3VzZXJfcHJvcG9zZV9kZWxheQIAAAAhdXNlcl9wcm9wb3NlX2RlbGF5IGlzIG5vdCBkZWZpbmVkAAAAAAtxdW9ydW1SYXRpbwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADWNvbmZpZ0FkZHJlc3MJAAEsAAAAAgUAAAALdGhpc0FkZHJlc3MCAAAAFl9wcm9wb3NhbF9xdW9ydW1fcmF0aW8CAAAAInByb3Bvc2FsUXVvcnVtUmF0aW8gaXMgbm90IGRlZmluZWQAAAAAC3Bhc3NlZFJhdGlvCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANY29uZmlnQWRkcmVzcwkAASwAAAACBQAAAAt0aGlzQWRkcmVzcwIAAAAWX3Byb3Bvc2FsX3Bhc3NlZF9yYXRpbwIAAAAlcHJvcG9zYWxUaHJlc2hvbGRSYXRpbyBpcyBub3QgZGVmaW5lZAAAAAATcHJvcG9zYWxNaW5SZXF1aXJlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADWNvbmZpZ0FkZHJlc3MJAAEsAAAAAgUAAAALdGhpc0FkZHJlc3MCAAAAHF9wcm9wb3NhbF9taW5fcG93ZXJfcmVxdWlyZWQCAAAAG21pbiByZXF1aXJlZCBpcyBub3QgZGVmaW5lZAAAAAARdm90aW5nU3RhcnRPZmZzZXQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAA1jb25maWdBZGRyZXNzCQABLAAAAAIFAAAAC3RoaXNBZGRyZXNzAgAAABxfcHJvcG9zYWxfdm90aW5nc3RhcnRfb2Zmc2V0AgAAACpwcm9wb3NhbF92b3RpbmdzdGFydF9vZmZzZXQgaXMgbm90IGRlZmluZWQAAAAAD3ZvdGluZ0VuZE9mZnNldAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADWNvbmZpZ0FkZHJlc3MJAAEsAAAAAgUAAAALdGhpc0FkZHJlc3MCAAAAGl9wcm9wb3NhbF92b3RpbmdlbmRfb2Zmc2V0AgAAAChwcm9wb3NhbF92b3RpbmdlbmRfb2Zmc2V0IGlzIG5vdCBkZWZpbmVkAQAAAAp1c2VyU2hhcmVzAAAAAQAAAAR1c2VyCQEAAAAFYXNJbnQAAAABCQAD/AAAAAQFAAAAD3N0YWtpbmdDb250cmFjdAIAAAAKdXNlclNoYXJlcwkABEwAAAACBQAAAAR1c2VyBQAAAANuaWwFAAAAA25pbAEAAAAJdXNlclBvd2VyAAAAAQAAAAR1c2VyCQEA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AAIJAABoAAAAAgUAAAAKdG90YWxWb3RlcwUAAAAEQkFTRQUAAAAKdG90YWxQb3dlcgUAAAALcXVvcnVtUmF0aW8EAAAACWhhc1Bhc3NlZAkAAGcAAAACCQAAaQAAAAIJAABoAAAAAgUAAAAIdm90ZXNZZXMFAAAABEJBU0UFAAAACnRvdGFsVm90ZXMFAAAAC3Bhc3NlZFJhdGlvAwUAAAAJaGFzUXVvcnVtBQAAAAloYXNQYXNzZWQHAQAAAA5hZHZpc2VQcm9wb3NhbAAAAAEAAAAEdHhJZAQAAAAOcHJvcG9zYWxIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB8AAAABCQEAAAATcHJvcG9zYWxIZWlnaHRTdG9yZQAAAAEFAAAABHR4SWQCAAAAC25vIHByb3Bvc2FsBAAAAAt2b3RpbmdTdGFydAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHwAAAAEJAQAAABhwcm9wb3NhbFZvdGluZ1N0YXJ0U3RvcmUAAAABBQAAAAR0eElkAgAAAAtubyBwcm9wb3NhbAQAAAAJdm90aW5nRW5kCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQfAAAAAQkBAAAAFnByb3Bvc2FsVm90aW5nRW5kU3RvcmUAAAABBQAAAAR0eElkAgAAAAtubyBwcm9wb3NhbAQAAAAIdm90ZXNZZXMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQfAAAAAQkBAAAAFXByb3Bvc2FsVG90YWxZZXNTdG9yZQAAAAEFAAAABHR4SWQAAAAAAAAAAAAEAAAAB3ZvdGVzTm8JAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQfAAAAAQkBAAAAFHByb3Bvc2FsVG90YWxOb1N0b3JlAAAAAQUAAAAEdHhJZAAAAAAAAAAAAAQAAAAOdG90YWxQb3dlclNuYXAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQfAAAAAQkBAAAAF3Byb3Bvc2FsVG90YWxQb3dlclN0b3JlAAAAAQUAAAAEdHhJZAAAAAAAAAAAAAQAAAAKdG90YWxWb3RlcwkAAGQAAAACBQAAAAh2b3Rlc1llcwUAAAAHdm90ZXNObwQAAAAJaGFzUXVvcnVtAwkAAGYAAAACBQAA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cmV0cmFjdFByb3Bvc2FsAAAAAQAAAAR0eElkBAAAAAZjaGVja3MDCQEAAAAJb3BBbGxvd2VkAAAAAQIAAAAeZ292ZXJuYW5jZV9yZXRyYWN0X3Byb3Bvc2FsX3R4CQEAAAAUcHJvcG9zYWxCZWZvcmVWb3RpbmcAAAABBQAAAAR0eElkBwMJAAAAAAAAAgUAAAAGY2hlY2tzBQAAAAZjaGVja3MEAAAAAmJ5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAD3Byb3Bvc2FsQnlTdG9yZQAAAAEFAAAABHR4SWQCAAAAFnByb3Bvc2FsIGRvZXNuJ3QgZXhpc3QEAAAABHVzZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAwkBAAAAAiE9AAAAAgUAAAACYnkFAAAABHVzZXIJAAACAAAAAQIAAAAfb25seSBvd25lciBjYW4gcmV0cmFjdCBwcm9wb3NhbAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAATcHJvcG9zYWxIZWlnaHRTdG9yZQAAAAEFAAAABHR4SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAGHByb3Bvc2FsVm90aW5nU3RhcnRTdG9yZQAAAAEFAAAABHR4SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAFnByb3Bvc2FsVm90aW5nRW5kU3RvcmUAAAABBQAAAAR0eElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA9wcm9wb3NhbEJ5U3RvcmUAAAABBQAAAAR0eElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABdwcm9wb3NhbFRvdGFsUG93ZXJTdG9yZQAAAAEFAAAABHR4SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAFXByb3Bvc2FsVG90YWxZZXNTdG9yZQAAAAEFAAAABHR4SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAFHByb3Bvc2FsVG90YWxOb1N0b3JlAAAAAQUAAAAEdHhJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAUcHJvcG9zYWxVc2VyWWVzU3RvcmUAAAACBQAAAAR1c2VyBQAAAAR0eElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABNwcm9wb3NhbFVzZXJOb1N0b3JlAAAAAgUAAAAEdXNlcgUAAAAEdHhJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAadXNlckxhc3RQcm9wb3NlSGVpZ2h0U3RvcmUAAAABBQAAAAR1c2VyCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABRwcm9wb3NhbEFkZHJlc3NTdG9yZQAAAAEFAAAABHR4SWQFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAAAg9+xhQ==", "chainId": 84, "height": 2786651, "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 = "configAddress" | |
39 | + | ||
40 | + | let n = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, m), "mother voting: no configAddress")), "invalid config address") | |
41 | + | ||
42 | + | let o = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n, "contract_voting_result"), "no contract_voting_result")), "invalid contract_voting_result") | |
43 | + | ||
44 | + | let p = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n, "contract_voting_rewards"), "no contract_voting_rewards")), "invalid contract_voting_rewards") | |
45 | + | ||
46 | + | let q = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n, "contract_staking"), "no staking_contract")), "invalid stakingContract") | |
47 | + | ||
48 | + | let r = height | |
49 | + | ||
50 | + | func s () = ("height: " + toString(r)) | |
51 | + | ||
52 | + | ||
53 | + | let t = 1000 | |
54 | + | ||
55 | + | func u (v) = { | |
56 | + | let w = invoke(n, "opAllowed", [v], nil) | |
57 | + | if ((w == w)) | |
58 | + | then true | |
59 | + | else throw("Strict value is not equal to itself.") | |
60 | + | } | |
61 | + | ||
62 | + | ||
63 | + | func x (y) = ("proposal_address_" + y) | |
64 | + | ||
65 | + | ||
66 | + | func z (y) = ("proposal_height_" + y) | |
67 | + | ||
68 | + | ||
69 | + | func A (y) = ("proposal_votingstart_" + y) | |
70 | + | ||
71 | + | ||
72 | + | func B (y) = ("proposal_votingend_" + y) | |
73 | + | ||
74 | + | ||
75 | + | func C (y) = ("proposal_by_" + y) | |
76 | + | ||
77 | + | ||
78 | + | func D (y) = ("proposal_power_" + y) | |
79 | + | ||
80 | + | ||
81 | + | func E (y) = ("proposal_yes_" + y) | |
82 | + | ||
83 | + | ||
84 | + | func F (y) = ("proposal_no_" + y) | |
85 | + | ||
86 | + | ||
87 | + | func G (H,y) = ((("user_proposal_yes_" + H) + "_") + y) | |
88 | + | ||
89 | + | ||
90 | + | func I (H,y) = ((("user_proposal_no_" + H) + "_") + y) | |
91 | + | ||
92 | + | ||
93 | + | func J (H) = ("propose_lastheight_" + H) | |
94 | + | ||
95 | + | ||
96 | + | func K (H,y) = valueOrElse(getInteger(this, G(H, y)), 0) | |
97 | + | ||
98 | + | ||
99 | + | func L (H,y) = valueOrElse(getInteger(this, I(H, y)), 0) | |
100 | + | ||
101 | + | ||
102 | + | func M (H) = valueOrElse(getInteger(this, J(H)), -1) | |
103 | + | ||
104 | + | ||
105 | + | let N = toString(this) | |
106 | + | ||
107 | + | let O = valueOrErrorMessage(getInteger(n, (N + "_user_propose_delay")), "user_propose_delay is not defined") | |
108 | + | ||
109 | + | let P = valueOrErrorMessage(getInteger(n, (N + "_proposal_quorum_ratio")), "proposalQuorumRatio is not defined") | |
110 | + | ||
111 | + | let Q = valueOrErrorMessage(getInteger(n, (N + "_proposal_passed_ratio")), "proposalThresholdRatio is not defined") | |
112 | + | ||
113 | + | let R = valueOrErrorMessage(getInteger(n, (N + "_proposal_min_power_required")), "min required is not defined") | |
114 | + | ||
115 | + | let S = valueOrErrorMessage(getInteger(n, (N + "_proposal_votingstart_offset")), "proposal_votingstart_offset is not defined") | |
116 | + | ||
117 | + | let T = valueOrErrorMessage(getInteger(n, (N + "_proposal_votingend_offset")), "proposal_votingend_offset is not defined") | |
118 | + | ||
119 | + | func U (H) = j(invoke(q, "userShares", [H], nil)) | |
120 | + | ||
121 | + | ||
122 | + | func V (H) = j(invoke(q, "userPower", [H], nil)) | |
123 | + | ||
124 | + | ||
125 | + | func W (X) = { | |
126 | + | let k = getInteger(this, z(X)) | |
127 | + | if ($isInstanceOf(k, "Int")) | |
128 | + | then { | |
129 | + | let Y = k | |
130 | + | true | |
131 | + | } | |
132 | + | else false | |
133 | + | } | |
134 | + | ||
135 | + | ||
136 | + | func Z (X) = { | |
137 | + | let aa = "proposal doesn't exist" | |
138 | + | if (!(W(X))) | |
139 | + | then throw(aa) | |
140 | + | else { | |
141 | + | let ab = valueOrErrorMessage(getInteger(this, A(X)), aa) | |
142 | + | let ac = valueOrErrorMessage(getInteger(this, B(X)), aa) | |
143 | + | if ((ab > r)) | |
144 | + | then throw(((("voting not started yet, discussion is in progress, voting will start at block " + toString(ab)) + ", now it's ") + toString(r))) | |
145 | + | else if ((r > ac)) | |
146 | + | then throw(((("voting ended at block " + toString(ac)) + ", now it's ") + toString(r))) | |
147 | + | else true | |
148 | + | } | |
149 | + | } | |
150 | + | ||
151 | + | ||
152 | + | func ad (X) = { | |
153 | + | let aa = "proposal doesn't exist" | |
154 | + | if (!(W(X))) | |
155 | + | then throw(aa) | |
156 | + | else { | |
157 | + | let ab = valueOrErrorMessage(getInteger(this, A(X)), aa) | |
158 | + | if ((r >= ab)) | |
159 | + | then throw("voting start is already happened") | |
160 | + | else true | |
161 | + | } | |
162 | + | } | |
163 | + | ||
164 | + | ||
165 | + | func ae () = j(invoke(q, "totalShares", nil, nil)) | |
166 | + | ||
167 | + | ||
168 | + | func af (y,ag,ah) = { | |
169 | + | let ai = (valueOrElse(getInteger(("proposal_yes_" + y)), 0) + ag) | |
170 | + | let aj = (valueOrElse(getInteger(("proposal_no_" + y)), 0) + ah) | |
171 | + | let ak = ae() | |
172 | + | let al = (ai + aj) | |
173 | + | let am = (((al * t) / ak) >= P) | |
174 | + | let an = (((ai * t) / al) >= Q) | |
175 | + | if (am) | |
176 | + | then an | |
177 | + | else false | |
178 | + | } | |
179 | + | ||
180 | + | ||
181 | + | func ao (X) = { | |
182 | + | let ap = valueOrErrorMessage(getInteger(z(X)), "no proposal") | |
183 | + | let ab = valueOrErrorMessage(getInteger(A(X)), "no proposal") | |
184 | + | let ac = valueOrErrorMessage(getInteger(B(X)), "no proposal") | |
185 | + | let ai = valueOrElse(getInteger(E(X)), 0) | |
186 | + | let aj = valueOrElse(getInteger(F(X)), 0) | |
187 | + | let aq = valueOrElse(getInteger(D(X)), 0) | |
188 | + | let al = (ai + aj) | |
189 | + | let am = if ((al > 0)) | |
190 | + | then (((al * t) / aq) >= P) | |
191 | + | else false | |
192 | + | let an = if ((al > 0)) | |
193 | + | then (((ai * t) / al) >= Q) | |
194 | + | else false | |
195 | + | let ar = valueOrElse(transactionHeightById(fromBase58String(X)), 0) | |
196 | + | let as = if ((ab > r)) | |
197 | + | then "discussion" | |
198 | + | else if ((ac >= r)) | |
199 | + | then "voting" | |
200 | + | else if (!(am)) | |
201 | + | then "noQuorum" | |
202 | + | else if (!(an)) | |
203 | + | then "votingFailed" | |
204 | + | else if ((ar > 0)) | |
205 | + | then "inBlockchain" | |
206 | + | else "waitingForTx" | |
207 | + | ((((((((((((((((((((("proposal_id: " + X) + ", proposal_address: ") + valueOrErrorMessage(x(X), "no address")) + ", proposal_status: ") + as) + ", proposal_by: ") + valueOrErrorMessage(getString(this, C(X)), "no proposal")) + ", proposal_height: ") + toString(ap)) + ", proposal_txheight: ") + toString(ar)) + ", proposal_votingstart: ") + toString(ab)) + ", proposal_votingend: ") + toString(ac)) + ", proposal_power: ") + toString(aq)) + ", vote_yes: ") + toString(ai)) + ", vote_no: ") + toString(aj)) | |
208 | + | } | |
209 | + | ||
210 | + | ||
211 | + | func at (X) = (getIntegerValue(B(X)) + 1) | |
212 | + | ||
213 | + | ||
214 | + | func au (H,av) = invoke(p, "countVote", [H, av], nil) | |
215 | + | ||
216 | + | ||
217 | + | func aw (ax,X,ay) = invoke(o, "setResult", [ax, X, ay, at(X)], nil) | |
218 | + | ||
219 | + | ||
220 | + | func az (X) = IntegerEntry(D(X), ae()) | |
221 | + | ||
222 | + | ||
223 | + | @Callable(aA) | |
224 | + | func init (aB) = [g(m, aB)] | |
225 | + | ||
226 | + | ||
227 | + | ||
228 | + | @Callable(aA) | |
229 | + | func propose (aC,X) = { | |
230 | + | let aD = u("governance_propose_tx") | |
231 | + | if ((aD == aD)) | |
232 | + | then { | |
233 | + | let H = toString(aA.caller) | |
234 | + | let aE = V(H) | |
235 | + | if ((R > aE)) | |
236 | + | then throw((((("not enough staked power to make proposal." + " Minimum required = ") + toString(R)) + ", actual: = ") + toString(aE))) | |
237 | + | else { | |
238 | + | let aF = M(H) | |
239 | + | if (if ((aF > -1)) | |
240 | + | then ((aF + O) > r) | |
241 | + | else false) | |
242 | + | then throw(((("can't propose too often, last proroposal height: " + toString(aF)) + ", blocks to wait: ") + toString(((aF + O) - r)))) | |
243 | + | else { | |
244 | + | let aG = (r + T) | |
245 | + | let aH = invoke(p, "votingEnds", [aG], nil) | |
246 | + | if ((aH == aH)) | |
247 | + | then [h(z(X), r), h(A(X), (r + S)), h(B(X), aG), g(C(X), toString(aA.caller)), d(J(H), r), g(x(X), aC)] | |
248 | + | else throw("Strict value is not equal to itself.") | |
249 | + | } | |
250 | + | } | |
251 | + | } | |
252 | + | else throw("Strict value is not equal to itself.") | |
253 | + | } | |
254 | + | ||
255 | + | ||
256 | + | ||
257 | + | @Callable(aA) | |
258 | + | func voteYes (X) = { | |
259 | + | let aD = if (u("governance_vote_tx")) | |
260 | + | then Z(X) | |
261 | + | else false | |
262 | + | if ((aD == aD)) | |
263 | + | then { | |
264 | + | let H = toString(aA.caller) | |
265 | + | if ((L(H, X) > 0)) | |
266 | + | then throw("already voted against, please retract your vote first") | |
267 | + | else { | |
268 | + | let aI = (U(H) - K(H, X)) | |
269 | + | let aJ = invoke(q, "restakeFor", [H], nil) | |
270 | + | if ((aJ == aJ)) | |
271 | + | then { | |
272 | + | let ax = valueOrErrorMessage(getString(x(X)), "proposal address not found") | |
273 | + | let ay = af(X, aI, 0) | |
274 | + | let aK = aw(ax, X, ay) | |
275 | + | if ((aK == aK)) | |
276 | + | then { | |
277 | + | let aL = au(H, aI) | |
278 | + | if ((aL == aL)) | |
279 | + | then [az(X), i(G(H, X), aI), i(E(X), aI)] | |
280 | + | else throw("Strict value is not equal to itself.") | |
281 | + | } | |
282 | + | else throw("Strict value is not equal to itself.") | |
283 | + | } | |
284 | + | else throw("Strict value is not equal to itself.") | |
285 | + | } | |
286 | + | } | |
287 | + | else throw("Strict value is not equal to itself.") | |
288 | + | } | |
289 | + | ||
290 | + | ||
291 | + | ||
292 | + | @Callable(aA) | |
293 | + | func voteNo (X) = { | |
294 | + | let aD = if (u("governance_vote_tx")) | |
295 | + | then Z(X) | |
296 | + | else false | |
297 | + | if ((aD == aD)) | |
298 | + | then { | |
299 | + | let H = toString(aA.caller) | |
300 | + | if ((K(H, X) > 0)) | |
301 | + | then throw("already voted for, please retract your vote first") | |
302 | + | else { | |
303 | + | let aM = (U(H) - L(H, X)) | |
304 | + | let aJ = invoke(q, "restakeFor", [H], nil) | |
305 | + | if ((aJ == aJ)) | |
306 | + | then { | |
307 | + | let ax = valueOrErrorMessage(getString(x(X)), "proposal address not found") | |
308 | + | let ay = af(X, 0, aM) | |
309 | + | let aK = aw(ax, X, ay) | |
310 | + | if ((aK == aK)) | |
311 | + | then { | |
312 | + | let aL = au(H, aM) | |
313 | + | if ((aL == aL)) | |
314 | + | then [az(X), i(I(H, X), aM), i(F(X), aM)] | |
315 | + | else throw("Strict value is not equal to itself.") | |
316 | + | } | |
317 | + | else throw("Strict value is not equal to itself.") | |
318 | + | } | |
319 | + | else throw("Strict value is not equal to itself.") | |
320 | + | } | |
321 | + | } | |
322 | + | else throw("Strict value is not equal to itself.") | |
323 | + | } | |
324 | + | ||
325 | + | ||
326 | + | ||
327 | + | @Callable(aA) | |
328 | + | func retract (X) = { | |
329 | + | let aD = if (u("governance_retract_vote")) | |
330 | + | then Z(X) | |
331 | + | else false | |
332 | + | if ((aD == aD)) | |
333 | + | then { | |
334 | + | let H = toString(aA.caller) | |
335 | + | let aN = K(H, X) | |
336 | + | let aO = L(H, X) | |
337 | + | let ax = valueOrErrorMessage(getString(x(X)), "proposal address not found") | |
338 | + | let ay = af(X, -(aN), -(aO)) | |
339 | + | let aK = aw(ax, X, ay) | |
340 | + | if ((aK == aK)) | |
341 | + | then { | |
342 | + | let aL = au(H, (-(aN) - aO)) | |
343 | + | if ((aL == aL)) | |
344 | + | then [i(E(X), -(aN)), i(F(X), -(aO)), DeleteEntry(G(H, X)), DeleteEntry(I(H, X))] | |
345 | + | else throw("Strict value is not equal to itself.") | |
346 | + | } | |
347 | + | else throw("Strict value is not equal to itself.") | |
348 | + | } | |
349 | + | else throw("Strict value is not equal to itself.") | |
350 | + | } | |
351 | + | ||
352 | + | ||
353 | + | ||
354 | + | @Callable(aA) | |
355 | + | func retractProposal (X) = { | |
356 | + | let aD = if (u("governance_retract_proposal_tx")) | |
357 | + | then ad(X) | |
358 | + | else false | |
359 | + | if ((aD == aD)) | |
360 | + | then { | |
361 | + | let aP = valueOrErrorMessage(getString(this, C(X)), "proposal doesn't exist") | |
362 | + | let H = toString(aA.caller) | |
363 | + | if ((aP != H)) | |
364 | + | then throw("only owner can retract proposal") | |
365 | + | else [DeleteEntry(z(X)), DeleteEntry(A(X)), DeleteEntry(B(X)), DeleteEntry(C(X)), DeleteEntry(D(X)), DeleteEntry(E(X)), DeleteEntry(F(X)), DeleteEntry(G(H, X)), DeleteEntry(I(H, X)), DeleteEntry(J(H)), DeleteEntry(x(X))] | |
366 | + | } | |
367 | + | else throw("Strict value is not equal to itself.") | |
368 | + | } | |
369 | + | ||
370 | + |
github/deemru/w8io/169f3d6 29.44 ms ◑![]()