Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Certora #6

Open
wants to merge 121 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
9f94939
Certora review
gadicer Sep 28, 2023
f0b5d5b
fix main.yml
gadicer Sep 28, 2023
e2a9116
fix CI
gadicer Sep 28, 2023
d5a1e2b
fix CI
gadicer Sep 28, 2023
0d877f9
fix ci
gadicer Sep 28, 2023
5d31c5a
split rules
gadicer Sep 28, 2023
a5aa442
change mapping so openzeppelin-contracts is taken from aave-token-v3
nisnislevi Oct 1, 2023
5dc21d0
Merge branch 'main' into certora-properties
nisnislevi Oct 2, 2023
d36c181
back to packages same as in remappings.txt
nisnislevi Oct 2, 2023
5d5c1fe
new directories structure
nisnislevi Oct 9, 2023
5501489
update paths
nisnislevi Oct 9, 2023
9a238fc
remove links, rewrite implications
gadicer Oct 9, 2023
bac2358
remove old report
gadicer Oct 9, 2023
08d8e55
Merge branch 'main' into certora
nisnislevi Oct 9, 2023
e67f3bd
fix witness
gadicer Oct 19, 2023
454a773
Merge branch 'main' into certora
gadicer Oct 19, 2023
1c045fc
Merge branch 'certora' into check_proposition_power
gadicer Oct 19, 2023
ebfb313
disable cache
gadicer Oct 19, 2023
9dfa1ba
allow proposal power to change over time
gadicer Oct 22, 2023
fd2bfd4
fixe cli version 4.13.1
gadicer Oct 22, 2023
11633ed
fix only_guardian_can_cancel
gadicer Oct 22, 2023
1379b57
allow multiple chain IDs
gadicer Oct 24, 2023
d10587c
remove workaround axioms
gadicer Oct 24, 2023
99819a3
prepare for cli 5.0
gadicer Oct 25, 2023
0a99a6e
implement TODOs
gadicer Oct 26, 2023
6e4e43e
increase loop_iter, removed old rules
gadicer Oct 26, 2023
3b07b40
fix CI
gadicer Oct 27, 2023
f611136
remove debug rules
gadicer Oct 27, 2023
4810bf5
add method_reachability
gadicer Oct 28, 2023
093d402
UNSAT core analysis
gadicer Oct 29, 2023
bce4fe1
UNSAT Core - redundant requires
gadicer Oct 30, 2023
5a0b188
fix getRepresentedVotersSize
gadicer Oct 30, 2023
6adb24f
typo
gadicer Oct 30, 2023
75cac31
reomve old rule
gadicer Oct 30, 2023
a6edf08
Merge branch 'main' into certora
gadicer Nov 2, 2023
149500a
Merge branch 'certora' into check_proposition_power
gadicer Nov 2, 2023
1ba73a7
Merge branch 'main' into certora
gadicer Nov 5, 2023
8b9304c
Merge branch 'main' into certora
gadicer Nov 13, 2023
250c34e
add parametric_contracts comment
gadicer Nov 14, 2023
62a3aa2
add isView filters
gadicer Nov 14, 2023
170b0d4
remove VotingPortal.sol Executor.sol from scene
gadicer Nov 16, 2023
b1d04c9
review governance spec
nd-certora Nov 21, 2023
4ff19b5
split rules
gadicer Nov 23, 2023
2a180c7
Merge branch 'nurit/review' into check_proposition_power
gadicer Nov 23, 2023
2f891db
implement rule review
gadicer Nov 26, 2023
a22b456
typo
gadicer Nov 26, 2023
c3220fa
split rules
gadicer Nov 27, 2023
c202575
review comments
gadicer Nov 29, 2023
34881cb
split rules
gadicer Nov 30, 2023
68b720b
removed updateSingleRepresentativeForChain
gadicer Nov 30, 2023
7a3ee74
add proposal_state_transition checks
gadicer Nov 30, 2023
97d2d55
fix certora-cli==4.13.1
gadicer Dec 3, 2023
db38f2c
add rule following gambit review
Dec 10, 2023
c61b6ed
remove duplicate rules
Dec 10, 2023
9af6122
remove requireInvariant
Dec 10, 2023
fd5a610
remove timeout helper invariant
Dec 11, 2023
720b41e
Merge pull request #23 from Certora/check_proposition_power
gadicer Dec 11, 2023
ca1735b
updates to 5.0.5 - wip
shoham-certora Nov 27, 2023
64b3c16
added voting assets invariants
shoham-certora Nov 27, 2023
3eefb05
additional rules to detect changes in assets lists
shoham-certora Dec 10, 2023
006bd3a
ensure getting proposal configs does not revert unnecessarily
shoham-certora Dec 11, 2023
ff1c316
set getProposalsVoteConfigurationIds as env free
shoham-certora Dec 11, 2023
3c1aa5c
Merge pull request #24 from Certora/check_proposition_power
gadicer Dec 11, 2023
737d647
remove old rule invalidTokenRefused
Dec 11, 2023
2a784e5
Merge pull request #25 from Certora/check_proposition_power
gadicer Dec 11, 2023
a59122c
adapt voting specs to certora cli beta 6.0.0
shoham-certora Dec 18, 2023
3f48009
removed swap file
shoham-certora Dec 18, 2023
98c66a3
renamed github action for 6.0.0
shoham-certora Dec 18, 2023
48467fd
added current branch to workflow
shoham-certora Dec 18, 2023
0160224
removed current branch from workflow
shoham-certora Dec 18, 2023
3c592a5
merge with main, remove VOTING_TOKENS_CAP
Dec 18, 2023
04c78a2
remove ertora-review-voting-chain.yml
Dec 18, 2023
ee1e65f
add ertora-review-voting-chain.yml
Dec 18, 2023
8c117aa
merge certora, remove VOTING_TOKENS_CAP, add ertora-review-voting-cha…
Dec 18, 2023
1e40a1d
switched git workflows - using cli-beta 6 for voting chain
shoham-certora Dec 19, 2023
c289576
Merge branch 'main' into certora
Dec 20, 2023
38d0313
Merge branch 'certora' into check_proposition_power
Dec 20, 2023
e73356f
initializeSig contains initializeWithRevision
Dec 20, 2023
2a74b22
increase hashing length bound
Dec 25, 2023
523f0a8
Revert "increase hashing length bound"
Dec 25, 2023
212d62b
Merge branch 'main' into certora
Dec 27, 2023
e8dd997
Merge branch 'main' into check_proposition_power
Dec 27, 2023
e5feac7
move to version 6.1.0
Dec 27, 2023
d135939
Merge remote-tracking branch 'bgd/fix/fix-ci' into certora
nisnislevi Nov 26, 2024
4f8f868
fix bugs due to initializeWithRevision
nisnislevi Nov 26, 2024
89746b9
add comment
nisnislevi Nov 26, 2024
7642a87
Merge branch 'fix/fix-ci' into certora
nisnislevi Nov 26, 2024
a7a114f
Merge branch 'certora' into try-to-merge
nisnislevi Dec 1, 2024
eb699da
merged with check-proposition-power and advanced the voting-yml to 6.1.3
nisnislevi Dec 1, 2024
e6e628e
start working on migration to 7.20.3
nisnislevi Dec 1, 2024
a586759
fix voting and execution rules
nisnislevi Dec 3, 2024
26e7b0e
change to 7.20.3 in yml
nisnislevi Dec 3, 2024
ac359a6
all rules are running except 2 from executionchain that get timeout
nisnislevi Dec 3, 2024
1394ac5
put back the orig PayloadsControllerCore.sol
nisnislevi Dec 3, 2024
42539b4
change .conf to avoid timeouts
nisnislevi Dec 4, 2024
b8961f5
reduce the number of parallel jobs in the ymls
nisnislevi Dec 8, 2024
67ecee4
fix: update libs
sendra Dec 11, 2024
8aefedb
fix: compiling and all tests running
sendra Dec 11, 2024
aff6d1c
fix: updated certora
sendra Dec 11, 2024
9af388d
fix: cleaned remappings
sendra Dec 11, 2024
eb00e4e
fix: fix certora confs
sendra Dec 11, 2024
628a460
fix: make certora run on solc20
sendra Dec 11, 2024
171aa45
fix: re-added aave token v3
sendra Dec 11, 2024
f619b59
fix: removed token v3
sendra Dec 12, 2024
77f5dfe
fix: delegation mode harness
sendra Dec 12, 2024
62eac6f
fix: linea deployment
sendra Dec 12, 2024
30507a4
fix: deployed helpers for linea
sendra Dec 12, 2024
b5385ef
syncing with fix/lib-updates
nisnislevi Dec 15, 2024
d4aa4b3
initial work in migrating to adi-deploy lib
nisnislevi Dec 15, 2024
0ba61c7
fix: payloads controller redeploy
sendra Dec 16, 2024
97d9c49
syncing to new library structure
nisnislevi Dec 16, 2024
4249612
for PR
nisnislevi Dec 16, 2024
b778a23
Merge pull request #44 from Certora/certora-squashed
sendra Dec 18, 2024
daa1672
Merge pull request #43 from bgd-labs/feat/linea-deployments
sendra Jan 8, 2025
a71ceca
Merge pull request #42 from bgd-labs/fix/lib-updates
sendra Jan 8, 2025
970e1c1
feat: celo deployment
sendra Jan 8, 2025
0547e69
fix: updated with correct rescue methods override
sendra Jan 8, 2025
325fa39
fix: payloads controller celo deployment
sendra Jan 8, 2025
87cd3b0
fix: fixed tests
sendra Jan 9, 2025
508bf50
Merge remote-tracking branch 'bgd/feat/deployment-celo' into certora
nisnislevi Jan 9, 2025
d26b7e3
fix problem with missing function in ECDSA library
nisnislevi Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 4 additions & 27 deletions .github/workflows/certora-review-execution-chain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ jobs:
with: { java-version: "11", java-package: jre }

- name: Install certora cli
run: pip3 install certora-cli==7.20.3
run: pip3 install certora-cli==7.21.1

- name: Install solc
run: |
wget https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux
wget https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-static-linux
chmod +x solc-static-linux
sudo mv solc-static-linux /usr/local/bin/solc8.19
sudo mv solc-static-linux /usr/local/bin/solc8.20

- name: Verify rule ${{ matrix.rule }}
run: |
Expand All @@ -47,27 +47,4 @@ jobs:
max-parallel: 16
matrix:
rule:
- verifyPayloadsController.conf --rule payload_maximal_access_level_gt_action_access_level state_cant_decrease no_transition_beyond_state_gt_3 no_transition_beyond_state_variable_gt_3 no_queue_after_expiration empty_actions_if_out_of_bound_payload expirationTime_equal_to_createAt_plus_EXPIRATION_DELAY empty_actions_iff_uninitialized null_access_level_if_out_of_bound_payload null_creator_and_zero_expiration_time_if_out_of_bound_payload empty_actions_only_if_uninitialized_payload executor_access_level_within_range consecutiveIDs empty_actions_if_uninitialized_payload queued_before_expiration_delay payload_grace_period_eq_global_grace_period null_access_level_only_if_out_of_bound_payload null_state_variable_if_out_of_bound_payload created_in_the_past queued_after_created executed_after_queue queuedAt_is_zero_before_queued no_early_cancellation execute_before_delay__maximumAccessLevelRequired action_immutable_fixed_size_fields initialized_payload_fields_are_immutable payload_fields_immutable_after_createPayload method_reachability
# - verifyPayloadsController.conf --rule executor_exists
- verifyPayloadsController.conf --rule executor_exists_if_action_not_null
- verifyPayloadsController.conf --rule executor_exists_only_if_action_not_null
- verifyPayloadsController.conf --rule payload_delay_within_range
- verifyPayloadsController.conf --rule delay_of_executor_of_max_access_level_within_range
- verifyPayloadsController.conf --rule nonempty_actions
- verifyPayloadsController.conf --rule executor_exists_iff_action_not_null
- verifyPayloadsController.conf --rule null_access_level_iff_state_is_none
- verifyPayloadsController.conf --rule executor_of_maximumAccessLevelRequired_exists
- verifyPayloadsController.conf --rule executor_of_maximumAccessLevelRequired_exists_after_createPayload
- verifyPayloadsController.conf --rule action_access_level_isnt_null_after_createPayload
- verifyPayloadsController.conf --rule executor_exists_after_createPayload
- verifyPayloadsController.conf --rule action_callData_immutable
- verifyPayloadsController.conf --rule action_signature_immutable
- verifyPayloadsController.conf --rule action_immutable_check_only_fixed_size_fields
- verifyPayloadsController.conf --rule zero_executedAt_if_not_executed
- verifyPayloadsController.conf --rule executor_isnt_used_twice executor_of_level_null_is_zero
- verifyPayloadsController.conf --rule executed_after_queue_state_variable zero_executedAt_if_not_executed_state_variable
- verifyPayloadsController.conf --rule queuedAt_is_zero_before_queued_state_variable executedAt_is_zero_before_executed_state_variable null_state_equivalence
- verifyPayloadsController.conf --rule executedAt_is_zero_before_executed
- verifyPayloadsController.conf --rule executed_when_in_queued_state executed_when_in_queued_state_variable guardian_can_cancel no_late_cancel state_variable_cant_decrease
- verifyPayloadsController.conf --rule checkUpdateExecutors checkUpdateExecutors_witness_1 checkUpdateExecutors_witness_2 checkUpdateExecutors_witness_3 checkUpdateExecutors_witness_4
- verifyPayloadsController.conf --rule payload_state_transition_post_state payload_state_transition_pre_state
- verifyPayloadsController.conf --rule payload_maximal_access_level_gt_action_access_level state_cant_decrease no_transition_beyond_state_gt_3 no_transition_beyond_state_variable_gt_3 no_queue_after_expiration empty_actions_if_out_of_bound_payload expirationTime_equal_to_createAt_plus_EXPIRATION_DELAY empty_actions_iff_uninitialized null_access_level_if_out_of_bound_payload null_creator_and_zero_expiration_time_if_out_of_bound_payload empty_actions_only_if_uninitialized_payload executor_access_level_within_range consecutiveIDs empty_actions_if_uninitialized_payload queued_before_expiration_delay payload_grace_period_eq_global_grace_period null_access_level_only_if_out_of_bound_payload null_state_variable_if_out_of_bound_payload created_in_the_past queued_after_created executed_after_queue queuedAt_is_zero_before_queued no_early_cancellation execute_before_delay__maximumAccessLevelRequired action_immutable_fixed_size_fields initialized_payload_fields_are_immutable payload_fields_immutable_after_createPayload method_reachability executor_exists_if_action_not_null executor_exists_only_if_action_not_null payload_delay_within_range delay_of_executor_of_max_access_level_within_range nonempty_actions executor_exists_iff_action_not_null null_access_level_iff_state_is_none executor_of_maximumAccessLevelRequired_exists executor_of_maximumAccessLevelRequired_exists_after_createPayload action_access_level_isnt_null_after_createPayload executor_exists_after_createPayload action_callData_immutable action_signature_immutable action_immutable_check_only_fixed_size_fields zero_executedAt_if_not_executed executor_isnt_used_twice executor_of_level_null_is_zero executed_after_queue_state_variable zero_executedAt_if_not_executed_state_variable queuedAt_is_zero_before_queued_state_variable executedAt_is_zero_before_executed_state_variable null_state_equivalence executedAt_is_zero_before_executed executed_when_in_queued_state executed_when_in_queued_state_variable guardian_can_cancel no_late_cancel state_variable_cant_decrease checkUpdateExecutors checkUpdateExecutors_witness_1 checkUpdateExecutors_witness_2 checkUpdateExecutors_witness_3 checkUpdateExecutors_witness_4 payload_state_transition_post_state payload_state_transition_pre_state
30 changes: 5 additions & 25 deletions .github/workflows/certora-review-mainnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ jobs:
with: { java-version: "11", java-package: jre }

- name: Install certora cli
run: pip3 install certora-cli==7.20.3
run: pip3 install certora-cli==7.21.1

- name: Install solc
run: |
wget https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux
wget https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-static-linux
chmod +x solc-static-linux
sudo mv solc-static-linux /usr/local/bin/solc8.19
sudo mv solc-static-linux /usr/local/bin/solc8.20

- name: Verify rule ${{ matrix.rule }}
run: |
Expand All @@ -50,26 +50,6 @@ jobs:
matrix:
rule:
- verifyVotingStrategy_unittests.conf
- verifyGovernancePowerStrategy.conf --rule delegatePowerCompliance
- verifyGovernancePowerStrategy.conf --rule transferPowerCompliance
- verifyGovernancePowerStrategy.conf --rule powerlessCompliance method_reachability
- verifyGovernance.conf --rule cancellationFeeZeroForFutureProposals null_state_variable_iff_null_access_level zero_voting_portal_iff_uninitialized_proposal
- verifyGovernance.conf --rule no_self_representative no_representative_is_zero consecutiveIDs totalCancellationFeeEqualETHBalance zero_address_is_not_a_valid_voting_portal
- verifyGovernance.conf --rule no_representative_is_zero_2 no_representative_of_zero
- verifyGovernance.conf --rule state_changing_function_self_check state_variable_changing_function_self_check method_reachability userFeeDidntChangeImplyNativeBalanceDidntDecrease
- verifyGovernance.conf --rule check_new_representative_set_size_after_updateRepresentatives check_old_representative_set_size_after_updateRepresentatives
- verifyGovernance.conf --rule at_least_single_payload_active empty_payloads_iff_uninitialized_proposal
- verifyGovernance.conf --rule null_state_iff_uninitialized_proposal setInvariant addressSetInvariant
- verifyGovernance.conf --rule state_changing_function_cannot_be_called_while_in_terminal_state proposal_executes_after_cooldown_period
- verifyGovernance.conf --rule only_valid_voting_portal_can_queue_proposal immutable_after_activation immutable_after_creation only_guardian_can_cancel guardian_can_cancel
- verifyGovernance.conf --rule cannot_queue_when_voting_portal_unapproved only_owner_can_set_voting_config_witness only_owner_can_set_voting_config single_state_transition_per_block_non_creator_witness
- verifyGovernancePowerStrategy.conf --rule delegatePowerCompliance transferPowerCompliance powerlessCompliance method_reachability
- verifyGovernance.conf --rule cancellationFeeZeroForFutureProposals null_state_variable_iff_null_access_level zero_voting_portal_iff_uninitialized_proposal no_self_representative no_representative_is_zero consecutiveIDs totalCancellationFeeEqualETHBalance zero_address_is_not_a_valid_voting_portal no_representative_is_zero_2 no_representative_of_zero state_changing_function_self_check state_variable_changing_function_self_check method_reachability userFeeDidntChangeImplyNativeBalanceDidntDecrease check_new_representative_set_size_after_updateRepresentatives check_old_representative_set_size_after_updateRepresentatives at_least_single_payload_active empty_payloads_iff_uninitialized_proposal null_state_iff_uninitialized_proposal setInvariant addressSetInvariant state_changing_function_cannot_be_called_while_in_terminal_state proposal_executes_after_cooldown_period only_valid_voting_portal_can_queue_proposal immutable_after_activation immutable_after_creation only_guardian_can_cancel guardian_can_cancel cannot_queue_when_voting_portal_unapproved only_owner_can_set_voting_config_witness only_owner_can_set_voting_config single_state_transition_per_block_non_creator_witness proposal_after_voting_portal_invalidate insufficient_proposition_power insufficient_proposition_power_witness_state_is_failed insufficient_proposition_power_witness_state_is_cancelled insufficient_proposition_power_witness_time_elapsed creator_is_not_zero creator_of_initialized_proposal_is_not_zero null_state_equivalence insufficient_proposition_power_witness_time_elapsed immutable_after_creation_witness_creator immutable_after_creation_witness_voting_portal immutable_after_creation_witness_access_level immutable_after_creation_witness_creation_time immutable_after_creation_witness_ipfs_hash immutable_after_creation_witness_payload_length immutable_after_activation_witness only_state_changing_function_initiate_transitions__pre_state only_state_changing_function_initiate_transitions__post_state check_new_representative_set_size_after_updateRepresentatives_witness_antecedent_first check_new_representative_set_size_after_updateRepresentatives_witness_antecedent_second check_new_representative_set_size_after_updateRepresentatives_witness_consequent_first check_new_representative_set_size_after_updateRepresentatives_witness_consequent_second proposal_voting_duration_lt_expiration_time config_voting_duration_lt_expiration_time proposal_state_transition_post_state proposal_state_transition_pre_state
- verifyGovernance.conf --rule single_state_transition_per_block_non_creator_non_guardian state_cant_decrease no_state_transitions_beyond_3 immutable_voting_portal
- verifyGovernance.conf --rule proposal_after_voting_portal_invalidate insufficient_proposition_power insufficient_proposition_power_witness_state_is_failed insufficient_proposition_power_witness_state_is_cancelled insufficient_proposition_power_witness_time_elapsed
- verifyGovernance.conf --rule creator_is_not_zero creator_of_initialized_proposal_is_not_zero null_state_equivalence
- verifyGovernance.conf --rule insufficient_proposition_power_witness_time_elapsed
- verifyGovernance.conf --rule immutable_after_creation_witness_creator immutable_after_creation_witness_voting_portal
- verifyGovernance.conf --rule immutable_after_creation_witness_access_level immutable_after_creation_witness_creation_time immutable_after_creation_witness_ipfs_hash
- verifyGovernance.conf --rule immutable_after_creation_witness_payload_length immutable_after_activation_witness only_state_changing_function_initiate_transitions__pre_state
- verifyGovernance.conf --rule only_state_changing_function_initiate_transitions__post_state
- verifyGovernance.conf --rule check_new_representative_set_size_after_updateRepresentatives_witness_antecedent_first check_new_representative_set_size_after_updateRepresentatives_witness_antecedent_second check_new_representative_set_size_after_updateRepresentatives_witness_consequent_first check_new_representative_set_size_after_updateRepresentatives_witness_consequent_second
- verifyGovernance.conf --rule proposal_voting_duration_lt_expiration_time config_voting_duration_lt_expiration_time proposal_state_transition_post_state proposal_state_transition_pre_state
47 changes: 11 additions & 36 deletions .github/workflows/certora-review-voting-chain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ jobs:
with: { java-version: "11", java-package: jre }

- name: Install certora cli
run: pip3 install certora-cli==7.20.3
run: pip3 install certora-cli==7.21.1

- name: Install solc
run: |
wget https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux
wget https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-static-linux
chmod +x solc-static-linux
sudo mv solc-static-linux /usr/local/bin/solc8.19
sudo mv solc-static-linux /usr/local/bin/solc8.20

- name: Verify rule ${{ matrix.rule }}
run: |
Expand All @@ -49,38 +49,13 @@ jobs:
max-parallel: 16
matrix:
rule:
- verifyLegality.conf --rule createdVoteHasNonZeroHash
- verifyLegality.conf --rule votedPowerIsImmutable
- verifyLegality.conf --rule onlyValidProposalCanChangeTally
- verifyLegality.conf --rule legalVote
- verifyLegality.conf --rule method_reachability
- verifyLegality.conf --rule createdVoteHasNonZeroHash votedPowerIsImmutable onlyValidProposalCanChangeTally legalVote method_reachability
- verifyMisc.conf
- verifyPower_summary.conf --rule onlyThreeTokens #TODO: uncomment with certora-cli version 6.0 or higher
- verifyPower_summary.conf --rule method_reachability
- verifyProposal_config.conf --rule startedProposalHasConfig
- verifyProposal_config.conf --rule createdProposalHasRoots
- verifyProposal_config.conf --rule proposalHasNonzeroDuration newProposalUnusedId configIsImmutable
- verifyProposal_config.conf --rule getProposalsConfigsDoesntRevert
- verifyProposal_config.conf --rule method_reachability
- verifyProposal_states.conf --rule startsBeforeEnds
- verifyProposal_states.conf --rule startsStrictlyBeforeEnds
- verifyProposal_states.conf --rule proposalLegalStates
- verifyProposal_states.conf --rule proposalMethodStateTransitionCompliance
- verifyProposal_states.conf --rule proposalTimeStateTransitionCompliance
- verifyProposal_states.conf --rule proposalIdIsImmutable
- verifyProposal_states.conf --rule proposalImmutability
- verifyProposal_states.conf --rule startedProposalHasConfig
- verifyProposal_states.conf --rule proposalHasNonzeroDuration method_reachability
- verifyVoting_and_tally.conf --rule votingPowerGhostIsVotingPower
- verifyVoting_and_tally.conf --rule sumOfVotes
- verifyVoting_and_tally.conf --rule voteTallyChangedOnlyByVoting
- verifyVoting_and_tally.conf --rule voteUpdatesTally
- verifyVoting_and_tally.conf --rule onlyVoteCanChangeResult
- verifyVoting_and_tally.conf --rule votingTallyCanOnlyIncrease
- verifyVoting_and_tally.conf --rule strangerVoteUnchanged
- verifyVoting_and_tally.conf --rule otherProposalUnchanged
- verifyVoting_and_tally.conf --rule otherVoterUntouched
- verifyVoting_and_tally.conf --rule cannot_vote_twice_with_submitVote_and_submitVoteAsRepresentative
- verifyVoting_and_tally.conf --rule cannot_vote_twice_with_submitVoteAsRepresentative_and_submitVote
- verifyPower_summary.conf --rule onlyThreeTokens method_reachability
- verifyProposal_config.conf --rule startedProposalHasConfig createdProposalHasRoots proposalHasNonzeroDuration newProposalUnusedId configIsImmutable getProposalsConfigsDoesntRevert method_reachability
- verifyProposal_states.conf --rule startsBeforeEnds startsStrictlyBeforeEnds proposalLegalStates proposalMethodStateTransitionCompliance proposalTimeStateTransitionCompliance proposalIdIsImmutable proposalImmutability startedProposalHasConfig proposalHasNonzeroDuration method_reachability
- verifyVoting_and_tally.conf --rule votingPowerGhostIsVotingPower sumOfVotes voteTallyChangedOnlyByVoting voteUpdatesTally onlyVoteCanChangeResult votingTallyCanOnlyIncrease strangerVoteUnchanged otherProposalUnchanged otherVoterUntouched method_reachability
- verifyVoting_and_tally.conf --rule cannot_vote_twice_with_submitVote_and_submitVoteAsRepresentative
- verifyVoting_and_tally.conf --rule cannot_vote_twice_with_submitVoteAsRepresentative_and_submitVote
- verifyVoting_and_tally.conf --rule cannot_vote_twice_with_submitVoteSingleProofAsRepresentative_and_submitVote
- verifyVoting_and_tally.conf --rule method_reachability

25 changes: 4 additions & 21 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,21 +1,4 @@
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std
[submodule "lib/solidity-utils"]
path = lib/solidity-utils
url = https://github.com/bgd-labs/solidity-utils
branch = feat/zksync
[submodule "lib/aave-token-v3"]
path = lib/aave-token-v3
url = https://github.com/bgd-labs/aave-token-v3
[submodule "lib/openzeppelin-contracts"]
path = lib/openzeppelin-contracts
url = https://github.com/OpenZeppelin/openzeppelin-contracts
branch = release-v4.9
[submodule "lib/aave-address-book"]
path = lib/aave-address-book
url = https://github.com/bgd-labs/aave-address-book
[submodule "lib/aave-delivery-infrastructure"]
path = lib/aave-delivery-infrastructure
url = https://github.com/bgd-labs/aave-delivery-infrastructure
branch = feat/zksync
[submodule "lib/adi-deploy"]
path = lib/adi-deploy
url = https://github.com/bgd-labs/adi-deploy
branch = feat/deploy-celo
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ write-json-addresses :; forge script scripts/WriteAddresses.s.sol:WriteDeployedA


deploy-initial-test:
$(call deploy_fn,InitialDeployments,zksync)
$(call deploy_fn,InitialDeployments,celo)

# Deploy Governance contracts
deploy-governance-test:
Expand Down Expand Up @@ -131,7 +131,7 @@ deploy-executor-lvl2-test:

## Deploy execution chain contracts
deploy-payloads-controller-chain-test:
$(call deploy_fn,Payloads/Deploy_PayloadsController,zksync)
$(call deploy_fn,Payloads/Deploy_PayloadsController,celo)

## Deploy Governance Voting Portal
deploy-voting-portals-test:
Expand All @@ -148,7 +148,7 @@ set-vp-as_ccf-senders-test:

## Deploy Contract Helpers
deploy-helper-contracts-test:
$(call deploy_fn,Deploy_ContractHelpers,zksync)
$(call deploy_fn,Deploy_ContractHelpers,celo)

deploy-full-key-test:
make deploy-initial-test
Expand Down
Loading
Loading