-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathcontractsgen.sh
27 lines (25 loc) · 1.05 KB
/
contractsgen.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
set -e
BUILD_DIR=build
CONTRACTS_DIR=x/evm/contracts
VERSION="0.8.25"
echo "If you don't have solc-select installed, please install it first from https://github.com/crytic/solc-select?tab=readme-ov-file#quickstart"
solc-select use $VERSION --always-install
for CONTRACT_HOME in $CONTRACTS_DIR/*; do
if [ -d "$CONTRACT_HOME" ]; then
PKG_NAME=$(basename $CONTRACT_HOME)
for CONTRACT_PATH in $CONTRACT_HOME/*; do
if [ "${CONTRACT_PATH: -4}" == ".sol" ]; then
echo $CONTRACT_PATH
CONTRACT_NAME=$(basename $CONTRACT_PATH .sol)
echo $CONTRACT_HOME $PKG_NAME $CONTRACT_PATH $CONTRACT_NAME
solc $CONTRACT_PATH --metadata-hash none --bin --abi -o $BUILD_DIR --overwrite
abigen --pkg $PKG_NAME \
--bin=$BUILD_DIR/$CONTRACT_NAME.bin \
--abi=$BUILD_DIR/$CONTRACT_NAME.abi \
--out=$CONTRACT_HOME/$CONTRACT_NAME.go
fi
done
fi
#solc $(ls $${file}/*.sol) --bin --abi -o build
done