contracts-bedrock: flexible deploy script addresses
Allow for the addresses used in the deploy script to be defined by a JSON file at the the path defined by the `ADDRESSES` environment variable. This makes the deploy script easy to use when it comes to composing with the `superchain-registry`. Just set the `ADDRESSES` env var to the path on the local filesystem that points to the `extra/addresses/<network>/<l2>.json` file. See the [example](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/extra/addresses/mainnet/op.json) here. This gives a path forward for deprecating the concept of `deployments` in the `contracts-bedrock` package. We really only use the `deployments` directory for getting contract addresses. We want a single source of truth for contract addresses which is `superchain-registry`. Using this env var allows the deploy script to easily compose with `superchain-registry`. `ffi` and `jq` are used instead of `vm.readFile` to break out of the security properties that foundry uses, we do not want to need to specify all possible directories on the filesystem as readable in the `foundry.toml`
Showing
Please register or sign in to comment