JSPM

@eth-optimism/contracts-bedrock

0.3.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 47670
    • Score
      100M100P100Q155062F
    • License MIT

    Contracts for Optimism Specs

    Package Exports

    • @eth-optimism/contracts-bedrock
    • @eth-optimism/contracts-bedrock/dist/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@eth-optimism/contracts-bedrock) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Optimism: Bedrock Edition - Contracts

    Install

    The repo currently uses a mix of typescript tests (run with HardHat) and solidity tests (run with Forge). The project uses the default hardhat directory structure, and all build/test steps should be run using the yarn scripts to ensure the correct options are set.

    Install node modules with yarn (v1), and Node.js (14+).

    yarn

    See installation instructions for forge here.

    Build

    yarn build

    Running Tests

    First get the dependencies:

    git submodule init and git submodule update

    Then the full test suite can be executed via yarn:

    yarn test

    To run only typescript tests:

    yarn test:hh

    To run only solidity tests:

    yarn test:forge

    Deployment

    Create a file that corresponds to the network name in the deploy-config directory and then run the command:

    L1_RPC=<ETHEREUM L1 RPC endpoint> \
    PRIVATE_KEY_DEPLOYER=<PRIVATE KEY TO PAY FOR THE DEPLOYMENT> \
    npx hardhat deploy --network <network-name>

    In the hardhat.config.ts, there is a deployConfigSpec field that validates that the types are correct, be sure to export an object in the deploy-config/<network-name>.ts file that has a key for each property in the deployConfigSpec.