test(admin): add integration unit test preventing duplicate votes on multi-sig upgrade proposal - #845
Open
onajidavid87-web wants to merge 5 commits into
Open
Conversation
…multi-sig upgrade proposals This PR adds a unit/integration test (test_double_vote_reverts) to verify that the multi-sig governance module in bc-forge-admin prevents duplicate votes on upgrade proposals. When an authorized pool member attempts to approve a proposal they have already voted on, the contract must revert with AdminError::ProposalAlreadyApproved (Error code 10). Closes BCPathway#670
|
@onajidavid87-web Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.14.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.18.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.25.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.29.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.31.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.4.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.46.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.47.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.52.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.56.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.61.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.66.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.68.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.75.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.76.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.82.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.83.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.85.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.9.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.91.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.92.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_admin_implicitly_has_all_roles.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.15.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.17.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.2.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.25.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.29.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.37.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.4.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.46.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.47.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.51.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.6.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.7.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.71.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.73.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.76.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.80.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.85.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.89.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.92.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_emits_event.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.13.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.18.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.2.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.25.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.30.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.35.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.41.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.42.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.5.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.50.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.51.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.52.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.56.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.65.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.7.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.71.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.72.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.73.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.75.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.76.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.79.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.80.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.82.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.85.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.87.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.89.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.9.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.91.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.92.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_every_variant.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.101.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.11.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.12.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.13.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.14.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.15.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.17.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.18.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.2.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.25.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.29.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.3.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.30.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.31.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.35.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.36.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.37.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.38.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.4.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.41.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.42.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.46.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.47.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.5.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.50.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.51.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.52.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.56.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.57.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.6.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.61.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.62.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.65.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.66.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.68.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.7.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.71.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.72.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.73.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.74.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.75.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.76.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.79.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.80.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.82.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.83.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.85.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.87.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.88.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.89.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.9.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.91.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.92.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.97.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_idempotent.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.101.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.11.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.12.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.13.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.14.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.15.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.17.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.18.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.2.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.25.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.3.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.30.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.31.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.35.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.36.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.37.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.38.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.4.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.41.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.42.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.46.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.47.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.5.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.50.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.51.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.52.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.56.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.57.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.6.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.61.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.62.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.65.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.66.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.68.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.7.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.71.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.72.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.73.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.74.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.75.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.76.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.79.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.80.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.82.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.87.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.88.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.89.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.9.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.91.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.92.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.97.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_many_holders.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.101.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.11.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.12.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.13.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.14.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.15.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.29.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.3.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.31.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.38.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.4.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.41.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.42.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.47.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.5.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.57.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.6.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.61.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.62.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.65.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.66.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.7.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.71.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.79.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.80.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.82.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.83.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.88.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.9.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.91.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.92.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_multiple_roles.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.101.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.11.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.13.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.17.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.18.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.2.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.25.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.29.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.3.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.31.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.35.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.36.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.42.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.50.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.52.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.57.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.62.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.65.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.66.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.74.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.80.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.87.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.97.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_self_grant.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.14.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.37.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.38.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.42.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.5.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.51.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.52.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.72.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.73.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.74.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.76.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.83.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.87.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.9.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.91.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.97.json # contracts/admin/test_snapshots/tests/proptest/fuzz_grant_role_via_super_admin.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.11.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.12.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.15.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.17.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.18.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.25.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.3.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.35.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.36.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.37.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.38.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.41.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.46.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.5.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.50.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.51.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.52.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.6.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.61.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.62.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.65.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.68.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.7.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.71.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.72.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.73.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.74.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.75.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.79.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.85.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.88.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.89.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.91.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.92.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.97.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_breaks_delegation.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.100.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.101.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.11.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.12.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.14.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.15.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.17.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.2.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.27.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.29.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.3.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.35.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.36.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.37.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.38.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.4.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.42.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.46.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.47.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.50.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.51.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.56.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.57.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.6.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.62.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.64.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.66.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.67.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.68.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.69.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.71.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.73.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.75.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.79.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.8.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.80.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.84.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.85.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.87.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.88.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.89.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.9.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.97.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_double_revoke.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.13.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.14.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.15.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.16.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.17.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.18.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.19.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.20.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.21.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.22.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.23.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.24.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.26.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.28.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.29.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.3.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.31.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.32.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.33.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.34.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.36.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.37.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.38.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.39.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.4.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.40.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.41.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.43.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.44.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.45.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.46.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.47.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.48.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.49.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.5.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.53.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.54.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.55.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.56.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.57.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.58.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.59.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.6.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.60.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.61.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.62.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.63.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.65.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.66.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.68.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.7.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.70.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.72.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.74.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.75.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.76.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.77.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.78.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.79.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.81.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.82.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.83.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.86.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.87.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.89.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.90.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.93.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.94.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.95.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.96.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.97.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.98.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_emits_event.99.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_every_variant.10.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_every_variant.101.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_every_variant.11.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_every_variant.12.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_every_variant.13.json # contracts/admin/test_snapshots/tests/proptest/fuzz_revoke_role_every_variant.14.json # contracts/admin/test_snapshots/tests/proptest/…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #670
What does this PR do?
Adds a unit/integration test (test_double_vote_reverts) to verify that the multi-sig governance module in bc-forge-admin prevents duplicate votes on upgrade proposals.
When an authorized pool member attempts to approve a proposal they have already voted on, the contract must revert with AdminError::ProposalAlreadyApproved (Error code 10).
Added is_proposal_ready to AdminContract in
contracts/admin/tests/upgrade_e2e.rs
to allow proposal status checking during end-to-end integration testing.
Added test_double_vote_reverts:
Initialized an AdminContract instance with a multi-sig pool of 2 admins and a threshold of 2.
Admin 1 created a WASM upgrade proposal (automatically recorded as the first approval).
Step 1 (First Vote): Admin 2 approves the proposal (client.approve_proposal(&member, &proposal_id)). Asserted that is_proposal_ready returns true.
Step 2 (Second Vote Attempt): Admin 2 attempts to approve the proposal a second time via client.try_approve_proposal(&member, &proposal_id).
Step 3 (Revert Assertion): Asserted that the second attempt returns Err(Ok(soroban_sdk::Error::from_contract_error(AdminError::ProposalAlreadyApproved))).
🔍 Files Changed
contracts/admin/tests/upgrade_e2e.rs
: Added is_proposal_ready helper and test_double_vote_reverts test case.
Type of change
Checklist
pre-commit run --all-fileslocally and it passedBreaking changes?
No
Related issues
Closes #670