Files
mev-beta/scripts/generate-bindings.sh

45 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
echo "Generating Go Contract Bindings"
echo "==============================="
# Create bindings directory
mkdir -p pkg/bindings/{uniswapv2,uniswapv3,algebra,algebraintegral,pooldetector}
# Check if abigen is installed
if ! command -v abigen &> /dev/null; then
echo "Installing abigen..."
go install github.com/ethereum/go-ethereum/cmd/abigen@latest
fi
echo ""
echo "Generating UniswapV2 bindings..."
abigen --abi contracts/abis/UniswapV2Pair.json \
--pkg uniswapv2 \
--type UniswapV2Pair \
--out pkg/bindings/uniswapv2/pair.go
echo "Generating UniswapV3 bindings..."
abigen --abi contracts/abis/UniswapV3Pool.json \
--pkg uniswapv3 \
--type UniswapV3Pool \
--out pkg/bindings/uniswapv3/pool.go
echo "Generating Algebra V1.9 bindings..."
abigen --abi contracts/abis/AlgebraPool.json \
--pkg algebra \
--type AlgebraPool \
--out pkg/bindings/algebra/pool.go
echo "Generating Algebra Integral bindings..."
abigen --abi contracts/abis/AlgebraIntegralPool.json \
--pkg algebraintegral \
--type AlgebraIntegralPool \
--out pkg/bindings/algebraintegral/pool.go
echo ""
echo "Bindings generated successfully!"
echo ""
echo "Available bindings:"
ls -la pkg/bindings/*/