63 lines
3.0 KiB
Bash
63 lines
3.0 KiB
Bash
export RPC_PROVIDER=${RPC_PROVIDER:-http://localhost:8545}
|
|
export CHAIN_SPEC=${CHAIN_SPEC:-evm:celo:1337:celo}
|
|
export KEY_FILE=${KEY_FILE:-keyfile.json}
|
|
export RPC_DIALECT=${RPC_DIALECT:-chainlib_eth_celo}
|
|
export WRITER_KEY_FILE=${WRITER_KEY_FILE:-$KEY_FILE}
|
|
|
|
export TOKEN_NAME="Testtoken"
|
|
export TOKEN_SYMBOL=TST
|
|
export TOKEN_DECIMALS=6
|
|
# 5000 ppm = 0.005%
|
|
#export TOKEN_DEMURRAGE=5000
|
|
export TOKEN_DEMURRAGE=20000
|
|
# 10080 minutes = 1 week
|
|
export TOKEN_PERIOD=43200
|
|
export TOKEN_SINK_ADDRESS=${TOKEN_SINK_ADDRESS:-Eb3907eCad74a0013c259D5874AE7f22DcBcC95C}
|
|
export GAS_FAUCET_AMOUNT=${GAS_FAUCET_AMOUNT:-20000000}
|
|
log='-v'
|
|
|
|
set +e
|
|
|
|
t=$(mktemp -d)
|
|
|
|
# get the writer keyfile address
|
|
writer=$(eth-keyfile -d $WRITER_KEY_FILE)
|
|
|
|
# publish a voucher token
|
|
token=$(erc20-demurrage-token-publish --name $TOKEN_NAME --symbol $TOKEN_SYMBOL --decimals $TOKEN_DECIMALS --demurrage-level $TOKEN_DEMURRAGE --redistribution-period $TOKEN_PERIOD --sink-address $TOKEN_SINK_ADDRESS -y $KEY_FILE --fee-limit 5000000 -s -w $log | tee $t/token.txt)
|
|
|
|
# account registry
|
|
accounts=$(eth-accounts-index-publish -y $KEY_FILE --fee-limit 2000000 -s -w $log | tee $t/accounts.txt)
|
|
|
|
# token index
|
|
index=$(eth-token-index-publish -y $KEY_FILE --fee-limit 2000000 -s -w $log | tee $t/index.txt)
|
|
|
|
# eth faucet
|
|
gasfaucet=$(eth-faucet-publish -y $KEY_FILE --fee-limit 2000000 -s -w $log | tee $t/gasfaucet.txt)
|
|
|
|
# create the faucet period checker
|
|
hsh=$(eth-gas -y $KEY_FILE --data <(eth-faucet-gen period) --fee-limit 2000000 -s -w $log 0)
|
|
period=$(eth-get $hsh --raw -o contract | tee $t/period.txt)
|
|
|
|
eth-encode -y $KEY_FILE --mode tx --signature setPoker a:$gasfaucet -e $(eth-checksum $period) --fee-limit 100000 -s -w $log
|
|
|
|
# set parameters for faucet and period checker backend
|
|
eth-encode -y $KEY_FILE --mode tx --signature setAmount u:$GAS_FAUCET_AMOUNT -e $(eth-checksum $gasfaucet) --fee-limit 100000 -s -w $log
|
|
eth-encode -y $KEY_FILE --mode tx --signature setRegistry a:$accounts -e $(eth-checksum $gasfaucet) --fee-limit 100000 -s -w $log
|
|
eth-encode -y $KEY_FILE --mode tx --signature setPeriodChecker a:$period -e $(eth-checksum $gasfaucet) --fee-limit 100000 -s -w $log
|
|
eth-encode -y $KEY_FILE --mode tx --signature setPoker a:$gasfaucet -e $(eth-checksum $period) --fee-limit 100000 -s -w $log
|
|
|
|
if [ ! -z "$GAS_FAUCET_THRESHOLD" ]; then
|
|
eth-encode -y $KEY_FILE --mode tx --signature setBalanceThreshold u:$GAS_FAUCET_THRESHOLD -e $(eth-checksum $period) --fee-limit 100000 -s -w $log
|
|
fi
|
|
|
|
if [ ! -z "$GAS_FAUCET_PERIOD" ]; then
|
|
eth-encode -y $KEY_FILE --mode tx --signature setPeriod u:$GAS_FAUCET_PERIOD -e $(eth-checksum $period) --fee-limit 100000 -s -w $log
|
|
fi
|
|
|
|
eth-encode -y $KEY_FILE --mode tx --signature addWriter a:$writer -e $(eth-checksum $accounts) --fee-limit 100000 -s -w $log
|
|
eth-encode -y $KEY_FILE --mode tx --signature addWriter a:$writer -e $(eth-checksum $token) --fee-limit 100000 -s -w $log
|
|
eth-encode -y $KEY_FILE --mode tx --signature addWriter a:$writer -e $(eth-checksum $index) --fee-limit 100000 -s -w $log
|
|
|
|
set -e
|