Commit b8b81ee
authored
feat(governance): add cancel_proposal with proposer/admin auth (#471)
- Add cancel_proposal(canceller, proposal_id) function; only the
original proposer or contract admin may cancel
- Cancelled proposals return ProposalAlreadyCancelled on execute
- Emits PropCanc event with (proposal_id) topics and canceller data
- Add ProposalAlreadyCancelled = 14 error variant
- Add cancelled: bool field to GovernanceProposal struct
- Add DataKey::Proposer(u64) to store proposer address at creation
- Unit tests: test_cancel_emits_event, plus cancel suite
- Integration tests: test_cancel_proposal_create_cancel_execute_fails,
test_admin_can_cancel_proposal, test_unauthorized_cancel_is_rejected,
test_double_cancel_is_rejected
- Fix event capture ordering in integration test (events().all() must
be called before any subsequent client call drains the buffer)
- CHANGELOG.md entry added
Closes #(cancel-mechanism issue)1 parent 6ff6903 commit b8b81ee
31 files changed
Lines changed: 4146 additions & 632 deletions
File tree
- contracts
- governance
- src
- test_snapshots/tests
- tests
- src
- test_snapshots
- gas_profiling/tests
- integration_test/tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
| |||
53 | 55 | | |
54 | 56 | | |
55 | 57 | | |
| 58 | + | |
| 59 | + | |
56 | 60 | | |
57 | 61 | | |
58 | 62 | | |
| |||
80 | 84 | | |
81 | 85 | | |
82 | 86 | | |
| 87 | + | |
| 88 | + | |
83 | 89 | | |
84 | 90 | | |
85 | 91 | | |
| |||
94 | 100 | | |
95 | 101 | | |
96 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
97 | 106 | | |
98 | 107 | | |
99 | 108 | | |
| |||
232 | 241 | | |
233 | 242 | | |
234 | 243 | | |
| 244 | + | |
235 | 245 | | |
236 | 246 | | |
237 | 247 | | |
238 | 248 | | |
239 | 249 | | |
240 | 250 | | |
| 251 | + | |
241 | 252 | | |
242 | 253 | | |
243 | 254 | | |
244 | 255 | | |
245 | 256 | | |
246 | 257 | | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
247 | 261 | | |
248 | 262 | | |
249 | 263 | | |
| |||
372 | 386 | | |
373 | 387 | | |
374 | 388 | | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
375 | 393 | | |
376 | 394 | | |
377 | 395 | | |
| |||
599 | 617 | | |
600 | 618 | | |
601 | 619 | | |
602 | | - | |
603 | | - | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
604 | 635 | | |
605 | 636 | | |
606 | 637 | | |
607 | | - | |
608 | 638 | | |
609 | 639 | | |
610 | 640 | | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
611 | 675 | | |
612 | 676 | | |
613 | | - | |
| 677 | + | |
614 | 678 | | |
615 | 679 | | |
616 | 680 | | |
| |||
852 | 916 | | |
853 | 917 | | |
854 | 918 | | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
| 919 | + | |
| 920 | + | |
859 | 921 | | |
860 | 922 | | |
861 | 923 | | |
| |||
873 | 935 | | |
874 | 936 | | |
875 | 937 | | |
876 | | - | |
877 | | - | |
878 | | - | |
879 | | - | |
880 | | - | |
| 938 | + | |
| 939 | + | |
881 | 940 | | |
882 | 941 | | |
883 | 942 | | |
884 | 943 | | |
885 | 944 | | |
886 | 945 | | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
887 | 951 | | |
888 | 952 | | |
889 | 953 | | |
| |||
Lines changed: 70 additions & 42 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
| 111 | + | |
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | | - | |
| 116 | + | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
| 119 | + | |
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | 123 | | |
127 | 124 | | |
128 | 125 | | |
129 | 126 | | |
130 | 127 | | |
131 | 128 | | |
132 | 129 | | |
133 | | - | |
| 130 | + | |
| 131 | + | |
134 | 132 | | |
135 | 133 | | |
136 | 134 | | |
| |||
351 | 349 | | |
352 | 350 | | |
353 | 351 | | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
354 | 360 | | |
355 | 361 | | |
356 | 362 | | |
| |||
416 | 422 | | |
417 | 423 | | |
418 | 424 | | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
419 | 433 | | |
420 | 434 | | |
421 | 435 | | |
| |||
458 | 472 | | |
459 | 473 | | |
460 | 474 | | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
461 | 520 | | |
462 | 521 | | |
463 | 522 | | |
| |||
578 | 637 | | |
579 | 638 | | |
580 | 639 | | |
581 | | - | |
| 640 | + | |
582 | 641 | | |
583 | 642 | | |
584 | 643 | | |
| |||
593 | 652 | | |
594 | 653 | | |
595 | 654 | | |
596 | | - | |
| 655 | + | |
597 | 656 | | |
598 | 657 | | |
599 | 658 | | |
| |||
631 | 690 | | |
632 | 691 | | |
633 | 692 | | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
| 693 | + | |
666 | 694 | | |
0 commit comments