• Mark Tyneway's avatar
    contracts: optimize `L1Block.setL1BlockValues` (#2596) · 2d791301
    Mark Tyneway authored
    * contracts: optimize `L1Block.setL1BlockValues`
    
    The amount of gas required to update the
    L1 block values can be reduced by ~5000 gas by tightly
    packing the `uint64`s into a single storage slot.
    This is important because there will be a single
    transaction at the beginning of each block that will
    be updating these values. ~100 gas is saved by using
    yul instead of straight solidity. I don't feel like the
    yul is particularly difficult to read in this context,
    and saving 100 gas per block will add up to a lot over
    the history of the chain. This logic is covered by foundry
    fuzzing.
    
    * op-bindings: regenerate
    2d791301
Name
Last commit
Last update
.changeset Loading commit data...
.circleci Loading commit data...
.github Loading commit data...
.husky Loading commit data...
.vscode Loading commit data...
batch-submitter Loading commit data...
bss-core Loading commit data...
gas-oracle Loading commit data...
indexer Loading commit data...
infra/op-replica Loading commit data...
integration-tests Loading commit data...
l2geth Loading commit data...
l2geth-exporter Loading commit data...
op-batcher Loading commit data...
op-bindings Loading commit data...
op-e2e Loading commit data...
op-exporter Loading commit data...
op-node Loading commit data...
op-proposer Loading commit data...
ops Loading commit data...
ops-bedrock Loading commit data...
packages Loading commit data...
patches Loading commit data...
proxyd Loading commit data...
specs Loading commit data...
state-surgery Loading commit data...
technical-documents Loading commit data...
teleportr Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.eslintrc.js Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.markdownlint.json Loading commit data...
.nvmrc Loading commit data...
.prettierrc.js Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
go.work Loading commit data...
go.work.sum Loading commit data...
lerna.json Loading commit data...
package.json Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...