github.com/ethereum-optimism/optimism/l2geth@v0.0.0-20230612200230-50b04ade19e3/scripts/bindings.sh (about)

     1  #!/bin/bash
     2  
     3  # Deterministically recreate the gas price oracle bindings
     4  # for testing. This script depends on geth being in the monorepo
     5  
     6  SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
     7  ABIGEN="$SCRIPTS_DIR/../cmd/abigen/main.go"
     8  CONTRACTS_PATH="$SCRIPTS_DIR/../../packages/contracts/artifacts/contracts"
     9  GAS_PRICE_ORACLE="$CONTRACTS_PATH/L2/predeploys/OVM_GasPriceOracle.sol/OVM_GasPriceOracle.json"
    10  
    11  OUT_DIR="$SCRIPTS_DIR/../rollup/fees/bindings"
    12  mkdir -p $OUT_DIR
    13  
    14  tmp=$(mktemp)
    15  
    16  cat $GAS_PRICE_ORACLE | jq -r .bytecode > $tmp
    17  
    18  cat $GAS_PRICE_ORACLE \
    19      | jq .abi \
    20      | go run $ABIGEN --pkg bindings \
    21      --abi - \
    22      --out $OUT_DIR/gaspriceoracle.go \
    23      --type GasPriceOracle \
    24      --bin "$tmp"
    25  
    26  rm $tmp