What does this implement/fix? Explain your changes.
It uses the latest stable and most popular 'ganche' release v7.7.3 instead of the deprecated and non-maintained 'ganche-cli' as a containerized single node blockchain. Command arguments are same except for minor migrations.
Newer Ganache release has an image variant for arm64 architecure (Apple Silicon)
Newer Ganache release supports the latest evm hardfork 'Merge'/'Paris' while 'ganache-cli' only supports 'Muir Glacier' which is 3 years old..
Does this close any currently open issues?
Nope
What commands can I run to test the change?
Run tests locally and in ci according to instructions..
Any other comments?
Added 2 missing awaits in circuit-setup.mjs that caused issues that were exposed due to this upgrade
There has been changes that affect gas benchmarks so here's the benchmarks according to the gas ci job:
Deposits
Creating a block with 45 deposits
Block proposal gas used was 573966, gas used per transaction was 12477.521739130434
Deposit L1 average gas used was 106192.34782608696
Transactions still in the mempool: 1
Block proposal gas used was 128743, gas used per transaction was 2798.7608695652175
Transfers
Creating a block with 32 transfers
Block proposal gas used was 510978, gas used per transaction was 15484.181818181818
Transfer L1 average gas used, if on-chain, was 54921.36363636364
Transactions still in the mempool: 1
Block proposal gas used was 131286, gas used per transaction was 3978.3636363636365
Withdraws
Creating a block with 33 withdraws
Block proposal gas used was 455554, gas used per transaction was 13398.64705882353
Withdraw L1 average gas used, if on-chain, was 52623.35294117647
Transactions still in the mempool: 1
Block proposal gas used was 128992, gas used per transaction was 3793.8823529411766
Finalise withdraws
The gas used for finalise withdraw, back to L1, was 120528
'ganache' v7.7.3 ('Merge'/'Paris' evm hardfork)
Deposits
Creating a block with 45 deposits
Block proposal gas used was 611198, gas used per transaction was 13286.91304347826
Deposit L1 average gas used was 131395.73913043478
Transactions still in the mempool: 1
Block proposal gas used was 137267, gas used per transaction was 2984.0652173913045
Transfers
Creating a block with 32 transfers
Block proposal gas used was 496154, gas used per transaction was 15034.969696969696
Transfer L1 average gas used, if on-chain, was 83112.27272727272
Transactions still in the mempool: 1
Block proposal gas used was 138498, gas used per transaction was 4196.909090909091
Withdraws
Creating a block with 33 withdraws
Block proposal gas used was 440246, gas used per transaction was 12948.411764705883
Withdraw L1 average gas used, if on-chain, was 80820.5294117647
Transactions still in the mempool: 1
Block proposal gas used was 136192, gas used per transaction was 4005.6470588235293
Finalise withdraws
The gas used for finalise withdraw, back to L1, was 148128
What does this implement/fix? Explain your changes.
It uses the latest stable and most popular 'ganche' release v7.7.3 instead of the deprecated and non-maintained 'ganche-cli' as a containerized single node blockchain. Command arguments are same except for minor migrations.
Does this close any currently open issues?
Nope
What commands can I run to test the change?
Run tests locally and in ci according to instructions..
Any other comments?
'ganache-cli' v6.12.1 ('Muir Glacier' evm hardfork)
Deposits Creating a block with 45 deposits Block proposal gas used was 573966, gas used per transaction was 12477.521739130434 Deposit L1 average gas used was 106192.34782608696 Transactions still in the mempool: 1 Block proposal gas used was 128743, gas used per transaction was 2798.7608695652175
Transfers Creating a block with 32 transfers Block proposal gas used was 510978, gas used per transaction was 15484.181818181818 Transfer L1 average gas used, if on-chain, was 54921.36363636364 Transactions still in the mempool: 1 Block proposal gas used was 131286, gas used per transaction was 3978.3636363636365
Withdraws Creating a block with 33 withdraws Block proposal gas used was 455554, gas used per transaction was 13398.64705882353 Withdraw L1 average gas used, if on-chain, was 52623.35294117647 Transactions still in the mempool: 1 Block proposal gas used was 128992, gas used per transaction was 3793.8823529411766
Finalise withdraws The gas used for finalise withdraw, back to L1, was 120528
'ganache' v7.7.3 ('Merge'/'Paris' evm hardfork)
Deposits Creating a block with 45 deposits Block proposal gas used was 611198, gas used per transaction was 13286.91304347826 Deposit L1 average gas used was 131395.73913043478 Transactions still in the mempool: 1 Block proposal gas used was 137267, gas used per transaction was 2984.0652173913045
Transfers Creating a block with 32 transfers Block proposal gas used was 496154, gas used per transaction was 15034.969696969696 Transfer L1 average gas used, if on-chain, was 83112.27272727272 Transactions still in the mempool: 1 Block proposal gas used was 138498, gas used per transaction was 4196.909090909091
Withdraws Creating a block with 33 withdraws Block proposal gas used was 440246, gas used per transaction was 12948.411764705883 Withdraw L1 average gas used, if on-chain, was 80820.5294117647 Transactions still in the mempool: 1 Block proposal gas used was 136192, gas used per transaction was 4005.6470588235293
Finalise withdraws The gas used for finalise withdraw, back to L1, was 148128