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