45 lines
1.2 KiB
Bash
Executable File
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/*/
|