Sanitize contract migration configs
This commit is contained in:
		
							parent
							
								
									8aa4d20eea
								
							
						
					
					
						commit
						1f555748b0
					
				
							
								
								
									
										43
									
								
								apps/contract-migration/config.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								apps/contract-migration/config.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -a
 | 
			
		||||
 | 
			
		||||
if [ -z $DEV_DATA_DIR ]; then
 | 
			
		||||
	export DEV_DATA_DIR=`mktemp -d`
 | 
			
		||||
else
 | 
			
		||||
	mkdir -p $DEV_DATA_DIR
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -z $DEV_CONFIG_RESET ]; then
 | 
			
		||||
	if [ -f ${DEV_DATA_DIR}/env_reset ]; then
 | 
			
		||||
		>&2 echo "importing existing configuration values from ${DEV_DATA_DIR}/env_reset"
 | 
			
		||||
		. ${DEV_DATA_DIR}/env_reset
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Handle wallet
 | 
			
		||||
export WALLET_KEY_FILE=${WALLET_KEY_FILE:-`realpath ./keystore/UTC--2021-01-08T17-18-44.521011372Z--eb3907ecad74a0013c259d5874ae7f22dcbcc95c`}
 | 
			
		||||
if [ ! -f $WALLET_KEY_FILE ]; then
 | 
			
		||||
	>&2 echo "wallet path '$WALLET_KEY_FILE' does not point to a file"
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
export DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER=`eth-checksum $(cat $WALLET_KEY_FILE | jq -r .address)`
 | 
			
		||||
 | 
			
		||||
# Wallet dependent variable defaults
 | 
			
		||||
export DEV_ETH_ACCOUNT_RESERVE_MINTER=${DEV_ETH_ACCOUNT_RESERVE_MINTER:-$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER}
 | 
			
		||||
export DEV_ETH_ACCOUNT_ACCOUNTS_INDEX_WRITER=${DEV_ETH_ACCOUNT_RESERVE_MINTER:-$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER}
 | 
			
		||||
export CIC_TRUST_ADDRESS=${CIC_TRUST_ADDRESS:-$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER}
 | 
			
		||||
export CIC_DEFAULT_TOKEN_SYMBOL=$TOKEN_SYMBOL
 | 
			
		||||
export TOKEN_SINK_ADDRESS=${TOKEN_SINK_ADDRESS:-$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Legacy variable defaults
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Migration variable processing
 | 
			
		||||
 | 
			
		||||
confini-dump --schema-module chainlib.eth.data.config --schema-module cic_eth.data.config --schema-dir ./config --prefix export > ${DEV_DATA_DIR}/env_reset
 | 
			
		||||
 | 
			
		||||
cat ${DEV_DATA_DIR}/env_reset
 | 
			
		||||
 | 
			
		||||
set +a
 | 
			
		||||
							
								
								
									
										23
									
								
								apps/contract-migration/config/config.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								apps/contract-migration/config/config.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
[token]
 | 
			
		||||
name = Giftable Token
 | 
			
		||||
symbol = GFT
 | 
			
		||||
type = giftable_erc20_token
 | 
			
		||||
demurrage_level = 196454828847045000000000000000000
 | 
			
		||||
redistribution_period = 
 | 
			
		||||
supply_limit = 
 | 
			
		||||
sink_address = 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[dev]
 | 
			
		||||
eth_account_contract_deployer =
 | 
			
		||||
eth_account_reserve_minter =
 | 
			
		||||
eth_account_accounts_index_writer =
 | 
			
		||||
reserve_amount = 10000000000000000000000000000000000
 | 
			
		||||
faucet_amount = 0
 | 
			
		||||
gas_amount = 100000000000000000000000
 | 
			
		||||
token_amount = 100000000000000000000000
 | 
			
		||||
eth_gas_price =
 | 
			
		||||
data_dir =
 | 
			
		||||
pip_extra_index_url = 
 | 
			
		||||
eth_provider_host = 
 | 
			
		||||
eth_provider_port = 
 | 
			
		||||
@ -8,3 +8,4 @@ cic-eth-registry>=0.6.1a2,<0.7.0
 | 
			
		||||
erc20-transfer-authorization>=0.3.5a2,<0.4.0
 | 
			
		||||
erc20-faucet>=0.3.2a2,<0.4.0
 | 
			
		||||
sarafu-faucet>=0.0.7a2,<0.1.0
 | 
			
		||||
confini>=0.4.2rc3,<1.0.0
 | 
			
		||||
 | 
			
		||||
@ -2,179 +2,112 @@
 | 
			
		||||
 | 
			
		||||
set -a
 | 
			
		||||
 | 
			
		||||
default_token=giftable_erc20_token
 | 
			
		||||
TOKEN_SYMBOL=${CIC_DEFAULT_TOKEN_SYMBOL}
 | 
			
		||||
TOKEN_NAME=${TOKEN_NAME}
 | 
			
		||||
TOKEN_TYPE=${TOKEN_TYPE:-$default_token}
 | 
			
		||||
cat <<EOF
 | 
			
		||||
external token settings:
 | 
			
		||||
token_type: $TOKEN_TYPE
 | 
			
		||||
token_symbol: $TOKEN_SYMBOL
 | 
			
		||||
token_name: $TOKEN_NAME
 | 
			
		||||
token_decimals: $TOKEN_DECIMALS
 | 
			
		||||
token_demurrage: $TOKEN_DEMURRAGE_LEVEL
 | 
			
		||||
token_redistribution_period: $TOKEN_REDISTRIBUTION_PERIOD
 | 
			
		||||
token_supply_limit: $TOKEN_SUPPLY_LIMIT
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
CHAIN_SPEC=${CHAIN_SPEC:-$CIC_CHAIN_SPEC}
 | 
			
		||||
RPC_HTTP_PROVIDER=${RPC_HTTP_PROVIDER:-$ETH_PROVIDER}
 | 
			
		||||
 | 
			
		||||
DEV_ETH_ACCOUNT_RESERVE_MINTER=${DEV_ETH_ACCOUNT_RESERVE_MINTER:-$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER}
 | 
			
		||||
DEV_ETH_ACCOUNT_ACCOUNTS_INDEX_WRITER=${DEV_ETH_ACCOUNT_RESERVE_MINTER:-$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER}
 | 
			
		||||
DEV_RESERVE_AMOUNT=${DEV_ETH_RESERVE_AMOUNT:-""10000000000000000000000000000000000}
 | 
			
		||||
DEV_FAUCET_AMOUNT=${DEV_FAUCET_AMOUNT:-0}
 | 
			
		||||
DEV_ETH_KEYSTORE_FILE=${DEV_ETH_KEYSTORE_FILE:-`realpath ./keystore/UTC--2021-01-08T17-18-44.521011372Z--eb3907ecad74a0013c259d5874ae7f22dcbcc95c`}
 | 
			
		||||
. ${DEV_DATA_DIR}/env_reset
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER=`eth-checksum $(cat $DEV_ETH_KEYSTORE_FILE | jq -r .address)`
 | 
			
		||||
 | 
			
		||||
if [ ! -z $DEV_ETH_GAS_PRICE ]; then
 | 
			
		||||
	gas_price_arg="--gas-price $DEV_ETH_GAS_PRICE"
 | 
			
		||||
	fee_price_arg="--fee-price $DEV_ETH_GAS_PRICE"
 | 
			
		||||
	>&2 echo using static gas price $DEV_ETH_GAS_PRICE
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "environment:"
 | 
			
		||||
printenv
 | 
			
		||||
echo \n
 | 
			
		||||
 | 
			
		||||
echo "using wallet address '$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER' from keystore file $DEV_ETH_KEYSTORE_FILE"
 | 
			
		||||
 | 
			
		||||
# This is a grassroots team convention for building the Bancor contracts using the bancor protocol repository truffle setup
 | 
			
		||||
# Running this in docker-internal dev container (built from Docker folder in this repo) will write a
 | 
			
		||||
# source-able env file to CIC_DATA_DIR. Services dependent on these contracts can mount this file OR 
 | 
			
		||||
# define these parameters at runtime
 | 
			
		||||
# pushd /usr/src
 | 
			
		||||
 | 
			
		||||
if [ -z $CIC_DATA_DIR ]; then
 | 
			
		||||
	CIC_DATA_DIR=`mktemp -d`
 | 
			
		||||
fi
 | 
			
		||||
>&2 echo using data dir $CIC_DATA_DIR
 | 
			
		||||
 | 
			
		||||
init_level_file=${CIC_DATA_DIR}/.init
 | 
			
		||||
if [ ! -f ${CIC_DATA_DIR}/.init ]; then
 | 
			
		||||
  echo "Creating .init file..."
 | 
			
		||||
  mkdir -p $CIC_DATA_DIR
 | 
			
		||||
  touch $CIC_DATA_DIR/.init
 | 
			
		||||
#   touch $init_level_file
 | 
			
		||||
fi
 | 
			
		||||
echo -n 1 > $init_level_file
 | 
			
		||||
 | 
			
		||||
# Abort on any error (including if wait-for-it fails).
 | 
			
		||||
 | 
			
		||||
# Wait for the backend to be up, if we know where it is.
 | 
			
		||||
if [[ -n "${ETH_PROVIDER}" ]]; then
 | 
			
		||||
 | 
			
		||||
	export CONFINI_DIR=$_CONFINI_DIR
 | 
			
		||||
	unset CONFINI_DIR
 | 
			
		||||
 | 
			
		||||
	if [ ! -z "$DEV_USE_DOCKER_WAIT_SCRIPT" ]; then
 | 
			
		||||
		echo "waiting for ${ETH_PROVIDER}..."
 | 
			
		||||
		./wait-for-it.sh "${ETH_PROVIDER_HOST}:${ETH_PROVIDER_PORT}"
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ "$TOKEN_TYPE" == "$default_token" ]; then
 | 
			
		||||
		if [ -z "$TOKEN_SYMBOL" ]; then
 | 
			
		||||
			>&2 echo token symbol not set, setting defaults for type $TOKEN_TYPE
 | 
			
		||||
			TOKEN_SYMBOL="GFT"
 | 
			
		||||
			TOKEN_NAME="Giftable Token"
 | 
			
		||||
		elif [ -z "$TOKEN_NAME" ]; then
 | 
			
		||||
			>&2 echo token name not set, setting same as symbol for type $TOKEN_TYPE
 | 
			
		||||
			TOKEN_NAME=$TOKEN_SYMBOL
 | 
			
		||||
		fi
 | 
			
		||||
		>&2 echo deploying default token $TOKEN_TYPE
 | 
			
		||||
		echo giftable-token-deploy $fee_price_arg -p $ETH_PROVIDER -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -vv -s -ww --name "$TOKEN_NAME" --symbol $TOKEN_SYMBOL --decimals 6 -vv
 | 
			
		||||
		DEV_RESERVE_ADDRESS=`giftable-token-deploy $fee_price_arg -p $ETH_PROVIDER -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -vv -s -ww --name "$TOKEN_NAME" --symbol $TOKEN_SYMBOL --decimals 6 -vv`
 | 
			
		||||
	elif [ "$TOKEN_TYPE" == "erc20_demurrage_token" ]; then
 | 
			
		||||
		if [ -z "$TOKEN_SYMBOL" ]; then
 | 
			
		||||
			>&2 echo token symbol not set, setting defaults for type $TOKEN_TYPE
 | 
			
		||||
			TOKEN_SYMBOL="SARAFU"
 | 
			
		||||
			TOKEN_NAME="Sarafu Token"
 | 
			
		||||
		elif [ -z "$TOKEN_NAME" ]; then
 | 
			
		||||
			>&2 echo token name not set, setting same as symbol for type $TOKEN_TYPE
 | 
			
		||||
			TOKEN_NAME=$TOKEN_SYMBOL
 | 
			
		||||
		fi
 | 
			
		||||
		>&2 echo deploying token $TOKEN_TYPE
 | 
			
		||||
		if [ -z $TOKEN_SINK_ADDRESS ]; then
 | 
			
		||||
			if [ ! -z $TOKEN_REDISTRIBUTION_PERIOD ]; then
 | 
			
		||||
				>&2 echo -e "\033[;93mtoken sink address not set, so redistribution will be BURNED\033[;39m"
 | 
			
		||||
			fi
 | 
			
		||||
		fi
 | 
			
		||||
		DEV_RESERVE_ADDRESS=`erc20-demurrage-token-deploy $fee_price_arg -p $ETH_PROVIDER -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC --name "$TOKEN_NAME" --symbol $TOKEN_SYMBOL -vv -ww -s` 
 | 
			
		||||
	else
 | 
			
		||||
		>&2 echo unknown token type $TOKEN_TYPE
 | 
			
		||||
		exit 1
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	echo "giftable-token-gift $fee_price_arg -p $ETH_PROVIDER -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -vv -w -e $DEV_RESERVE_ADDRESS $DEV_RESERVE_AMOUNT"
 | 
			
		||||
	giftable-token-gift $fee_price_arg -p $ETH_PROVIDER -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -u -vv -s -w -e $DEV_RESERVE_ADDRESS $DEV_RESERVE_AMOUNT
 | 
			
		||||
 | 
			
		||||
	>&2 echo "deploy account index contract"
 | 
			
		||||
	DEV_ACCOUNT_INDEX_ADDRESS=`eth-accounts-index-deploy $fee_price_arg -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -y $DEV_ETH_KEYSTORE_FILE -vv -s -u -w`
 | 
			
		||||
	>&2 echo "add deployer address as account index writer"
 | 
			
		||||
	eth-accounts-index-writer $fee_price_arg -s -u -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -e $DEV_ACCOUNT_INDEX_ADDRESS -ww -vv $debug $DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER
 | 
			
		||||
 | 
			
		||||
	>&2 echo "deploy contract registry contract"
 | 
			
		||||
	CIC_REGISTRY_ADDRESS=`eth-contract-registry-deploy $fee_price_arg -i $CIC_CHAIN_SPEC -y $DEV_ETH_KEYSTORE_FILE --identifier AccountRegistry --identifier TokenRegistry --identifier AddressDeclarator --identifier Faucet --identifier TransferAuthorization --identifier ContractRegistry -p $ETH_PROVIDER -vv -s -u -w`
 | 
			
		||||
	eth-contract-registry-set $fee_price_arg -s -u -w -y $DEV_ETH_KEYSTORE_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC  -p $ETH_PROVIDER -vv --identifier ContractRegistry $CIC_REGISTRY_ADDRESS
 | 
			
		||||
	eth-contract-registry-set $fee_price_arg -s -u -w -y $DEV_ETH_KEYSTORE_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -vv --identifier AccountRegistry $DEV_ACCOUNT_INDEX_ADDRESS
 | 
			
		||||
 | 
			
		||||
	# Deploy address declarator registry
 | 
			
		||||
	>&2 echo "deploy address declarator contract"
 | 
			
		||||
	declarator_description=0x546869732069732074686520434943206e6574776f726b000000000000000000
 | 
			
		||||
	DEV_DECLARATOR_ADDRESS=`eth-address-declarator-deploy -s -u -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -w -vv $declarator_description`
 | 
			
		||||
	eth-contract-registry-set $fee_price_arg -s -u -w -y $DEV_ETH_KEYSTORE_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -vv --identifier AddressDeclarator $DEV_DECLARATOR_ADDRESS
 | 
			
		||||
 | 
			
		||||
	# Deploy transfer authorization contact
 | 
			
		||||
	>&2 echo "deploy transfer auth contract"
 | 
			
		||||
	DEV_TRANSFER_AUTHORIZATION_ADDRESS=`erc20-transfer-auth-deploy $gas_price_arg -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -w -vv`
 | 
			
		||||
	eth-contract-registry-set $fee_price_arg -s -u -w -y $DEV_ETH_KEYSTORE_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC  -p $ETH_PROVIDER -vv --identifier TransferAuthorization $DEV_TRANSFER_AUTHORIZATION_ADDRESS
 | 
			
		||||
 | 
			
		||||
	# Deploy token index contract
 | 
			
		||||
	>&2 echo "deploy token index contract"
 | 
			
		||||
	DEV_TOKEN_INDEX_ADDRESS=`eth-token-index-deploy -s -u $fee_price_arg -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -w -vv`
 | 
			
		||||
	eth-contract-registry-set $fee_price_arg -s -u -w -y $DEV_ETH_KEYSTORE_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -vv --identifier TokenRegistry $DEV_TOKEN_INDEX_ADDRESS 
 | 
			
		||||
	>&2 echo "add reserve token to token index"
 | 
			
		||||
	eth-token-index-add $fee_price_arg -s -u -w -y $DEV_ETH_KEYSTORE_FILE  -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -vv -e $DEV_TOKEN_INDEX_ADDRESS $DEV_RESERVE_ADDRESS
 | 
			
		||||
 | 
			
		||||
	# Sarafu faucet contract
 | 
			
		||||
	>&2 echo "deploy token faucet contract"
 | 
			
		||||
	DEV_FAUCET_ADDRESS=`sarafu-faucet-deploy $fee_price_arg -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -w -vv --account-index-address $DEV_ACCOUNT_INDEX_ADDRESS $DEV_RESERVE_ADDRESS -s`
 | 
			
		||||
 | 
			
		||||
	>&2 echo "set token faucet amount"
 | 
			
		||||
	sarafu-faucet-set $fee_price_arg -y $DEV_ETH_KEYSTORE_FILE -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -e $DEV_FAUCET_ADDRESS -vv -s --fee-limit 100000 $DEV_FAUCET_AMOUNT
 | 
			
		||||
 | 
			
		||||
	>&2 echo "register faucet in registry"
 | 
			
		||||
	eth-contract-registry-set -s -u $fee_price_arg -w -y $DEV_ETH_KEYSTORE_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -vv --identifier Faucet $DEV_FAUCET_ADDRESS
 | 
			
		||||
 | 
			
		||||
	>&2 echo "set faucet as token minter"
 | 
			
		||||
	giftable-token-minter -s -u $fee_price_arg -w -y $DEV_ETH_KEYSTORE_FILE -e $DEV_RESERVE_ADDRESS -i $CIC_CHAIN_SPEC -p $ETH_PROVIDER -vv $DEV_FAUCET_ADDRESS
 | 
			
		||||
 | 
			
		||||
	export CONFINI_DIR=$_CONFINI_DIR
 | 
			
		||||
else
 | 
			
		||||
	echo "\$ETH_PROVIDER not set!"
 | 
			
		||||
if [ -z "${RPC_PROVIDER}" ]; then
 | 
			
		||||
	echo "\$RPC_PROVIDER not set!"
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
mkdir -p $CIC_DATA_DIR
 | 
			
		||||
>&2 echo using data dir $CIC_DATA_DIR for environment variable dump
 | 
			
		||||
unset CONFINI_DIR
 | 
			
		||||
 | 
			
		||||
# this is consumed in downstream services to set environment variables
 | 
			
		||||
cat << EOF > $CIC_DATA_DIR/.env
 | 
			
		||||
export CIC_REGISTRY_ADDRESS=$CIC_REGISTRY_ADDRESS
 | 
			
		||||
export CIC_TRUST_ADDRESS=$DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER
 | 
			
		||||
export CIC_DECLARATOR_ADDRESS=$CIC_DECLARATOR_ADDRESS
 | 
			
		||||
EOF
 | 
			
		||||
if [ ! -z "$DEV_USE_DOCKER_WAIT_SCRIPT" ]; then
 | 
			
		||||
	IFS=: read -a p <<< "$RPC_PROVIDER"
 | 
			
		||||
	read -i "/" rpc_provider_port <<< "${p[2]}"
 | 
			
		||||
	rpc_provider_host=${p[1]:2}
 | 
			
		||||
	echo "waiting for provider host $rpc_provider_host port $rpc_provider_port..."
 | 
			
		||||
	./wait-for-it.sh "$rpc_provider_host:$rpc_provider_port"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cat ./envlist | bash from_env.sh > $CIC_DATA_DIR/.env_all
 | 
			
		||||
cat ./envlist
 | 
			
		||||
# popd
 | 
			
		||||
if [ "$TOKEN_TYPE" == "giftable_erc20_token" ]; then
 | 
			
		||||
	if [ -z "$TOKEN_SYMBOL" ]; then
 | 
			
		||||
		>&2 echo token symbol not set, setting defaults for type $TOKEN_TYPE
 | 
			
		||||
		TOKEN_SYMBOL="GFT"
 | 
			
		||||
		TOKEN_NAME="Giftable Token"
 | 
			
		||||
	elif [ -z "$TOKEN_NAME" ]; then
 | 
			
		||||
		>&2 echo token name not set, setting same as symbol for type $TOKEN_TYPE
 | 
			
		||||
		TOKEN_NAME=$TOKEN_SYMBOL
 | 
			
		||||
	fi
 | 
			
		||||
	>&2 echo deploying default token $TOKEN_TYPE
 | 
			
		||||
	echo giftable-token-deploy $fee_price_arg -p $RPC_PROVIDER -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -vv -s -ww --name "$TOKEN_NAME" --symbol $TOKEN_SYMBOL --decimals 6 -vv
 | 
			
		||||
	DEV_RESERVE_ADDRESS=`giftable-token-deploy $fee_price_arg -p $RPC_PROVIDER -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -vv -s -ww --name "$TOKEN_NAME" --symbol $TOKEN_SYMBOL --decimals 6 -vv`
 | 
			
		||||
elif [ "$TOKEN_TYPE" == "erc20_demurrage_token" ]; then
 | 
			
		||||
	if [ -z "$TOKEN_SYMBOL" ]; then
 | 
			
		||||
		>&2 echo token symbol not set, setting defaults for type $TOKEN_TYPE
 | 
			
		||||
		TOKEN_SYMBOL="DET"
 | 
			
		||||
		TOKEN_NAME="Demurrage Token"
 | 
			
		||||
	elif [ -z "$TOKEN_NAME" ]; then
 | 
			
		||||
		>&2 echo token name not set, setting same as symbol for type $TOKEN_TYPE
 | 
			
		||||
		TOKEN_NAME=$TOKEN_SYMBOL
 | 
			
		||||
	fi
 | 
			
		||||
	>&2 echo deploying token $TOKEN_TYPE
 | 
			
		||||
	if [ -z $TOKEN_SINK_ADDRESS ]; then
 | 
			
		||||
		if [ ! -z $TOKEN_REDISTRIBUTION_PERIOD ]; then
 | 
			
		||||
			>&2 echo -e "\033[;93mtoken sink address not set, so redistribution will be BURNED\033[;39m"
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
	DEV_RESERVE_ADDRESS=`erc20-demurrage-token-deploy $fee_price_arg -p $RPC_PROVIDER -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC --name "$TOKEN_NAME" --symbol $TOKEN_SYMBOL -vv -ww -s` 
 | 
			
		||||
else
 | 
			
		||||
	>&2 echo unknown token type $TOKEN_TYPE
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "giftable-token-gift $fee_price_arg -p $RPC_PROVIDER -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -vv -w -e $DEV_RESERVE_ADDRESS $DEV_RESERVE_AMOUNT"
 | 
			
		||||
giftable-token-gift $fee_price_arg -p $RPC_PROVIDER -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -u -vv -s -w -e $DEV_RESERVE_ADDRESS $DEV_RESERVE_AMOUNT
 | 
			
		||||
 | 
			
		||||
>&2 echo "deploy account index contract"
 | 
			
		||||
DEV_ACCOUNT_INDEX_ADDRESS=`eth-accounts-index-deploy $fee_price_arg -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -y $WALLET_KEY_FILE -vv -s -u -w`
 | 
			
		||||
>&2 echo "add deployer address as account index writer"
 | 
			
		||||
eth-accounts-index-writer $fee_price_arg -s -u -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -e $DEV_ACCOUNT_INDEX_ADDRESS -ww -vv $debug $DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER
 | 
			
		||||
 | 
			
		||||
>&2 echo "deploy contract registry contract"
 | 
			
		||||
CIC_REGISTRY_ADDRESS=`eth-contract-registry-deploy $fee_price_arg -i $CIC_CHAIN_SPEC -y $WALLET_KEY_FILE --identifier AccountRegistry --identifier TokenRegistry --identifier AddressDeclarator --identifier Faucet --identifier TransferAuthorization --identifier ContractRegistry -p $RPC_PROVIDER -vv -s -u -w`
 | 
			
		||||
eth-contract-registry-set $fee_price_arg -s -u -w -y $WALLET_KEY_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC  -p $RPC_PROVIDER -vv --identifier ContractRegistry $CIC_REGISTRY_ADDRESS
 | 
			
		||||
eth-contract-registry-set $fee_price_arg -s -u -w -y $WALLET_KEY_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -vv --identifier AccountRegistry $DEV_ACCOUNT_INDEX_ADDRESS
 | 
			
		||||
 | 
			
		||||
# Deploy address declarator registry
 | 
			
		||||
>&2 echo "deploy address declarator contract"
 | 
			
		||||
declarator_description=0x546869732069732074686520434943206e6574776f726b000000000000000000
 | 
			
		||||
DEV_DECLARATOR_ADDRESS=`eth-address-declarator-deploy -s -u -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -w -vv $declarator_description`
 | 
			
		||||
eth-contract-registry-set $fee_price_arg -s -u -w -y $WALLET_KEY_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -vv --identifier AddressDeclarator $DEV_DECLARATOR_ADDRESS
 | 
			
		||||
 | 
			
		||||
# Deploy transfer authorization contact
 | 
			
		||||
>&2 echo "deploy transfer auth contract"
 | 
			
		||||
DEV_TRANSFER_AUTHORIZATION_ADDRESS=`erc20-transfer-auth-deploy $gas_price_arg -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -w -vv`
 | 
			
		||||
eth-contract-registry-set $fee_price_arg -s -u -w -y $WALLET_KEY_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC  -p $RPC_PROVIDER -vv --identifier TransferAuthorization $DEV_TRANSFER_AUTHORIZATION_ADDRESS
 | 
			
		||||
 | 
			
		||||
# Deploy token index contract
 | 
			
		||||
>&2 echo "deploy token index contract"
 | 
			
		||||
DEV_TOKEN_INDEX_ADDRESS=`eth-token-index-deploy -s -u $fee_price_arg -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -w -vv`
 | 
			
		||||
eth-contract-registry-set $fee_price_arg -s -u -w -y $WALLET_KEY_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -vv --identifier TokenRegistry $DEV_TOKEN_INDEX_ADDRESS 
 | 
			
		||||
>&2 echo "add reserve token to token index"
 | 
			
		||||
eth-token-index-add $fee_price_arg -s -u -w -y $WALLET_KEY_FILE  -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -vv -e $DEV_TOKEN_INDEX_ADDRESS $DEV_RESERVE_ADDRESS
 | 
			
		||||
 | 
			
		||||
# Sarafu faucet contract
 | 
			
		||||
>&2 echo "deploy token faucet contract"
 | 
			
		||||
DEV_FAUCET_ADDRESS=`sarafu-faucet-deploy $fee_price_arg -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -w -vv --account-index-address $DEV_ACCOUNT_INDEX_ADDRESS $DEV_RESERVE_ADDRESS -s`
 | 
			
		||||
 | 
			
		||||
>&2 echo "set token faucet amount"
 | 
			
		||||
sarafu-faucet-set $fee_price_arg -y $WALLET_KEY_FILE -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -e $DEV_FAUCET_ADDRESS -vv -s --fee-limit 100000 $DEV_FAUCET_AMOUNT
 | 
			
		||||
 | 
			
		||||
>&2 echo "register faucet in registry"
 | 
			
		||||
eth-contract-registry-set -s -u $fee_price_arg -w -y $WALLET_KEY_FILE -e $CIC_REGISTRY_ADDRESS -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -vv --identifier Faucet $DEV_FAUCET_ADDRESS
 | 
			
		||||
 | 
			
		||||
>&2 echo "set faucet as token minter"
 | 
			
		||||
giftable-token-minter -s -u $fee_price_arg -w -y $WALLET_KEY_FILE -e $DEV_RESERVE_ADDRESS -i $CIC_CHAIN_SPEC -p $RPC_PROVIDER -vv $DEV_FAUCET_ADDRESS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
confini-dump --schema-module chainlib.eth.data.config --schema-module cic_eth.data.config --schema-dir ./config --prefix export > ${DEV_DATA_DIR}/env_reset
 | 
			
		||||
 | 
			
		||||
set +a
 | 
			
		||||
set +e
 | 
			
		||||
 | 
			
		||||
echo -n 2 > $init_level_file
 | 
			
		||||
 | 
			
		||||
exec "$@"
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,13 @@
 | 
			
		||||
#! /bin/bash
 | 
			
		||||
 | 
			
		||||
>&2 echo -e "\033[;96mRUNNING\033[;39m configurations"
 | 
			
		||||
. ./config.sh
 | 
			
		||||
if [ $? -ne "0" ]; then
 | 
			
		||||
	>&2 echo -e "\033[;31mFAILED\033[;39m configurations"
 | 
			
		||||
	exit 1;
 | 
			
		||||
fi
 | 
			
		||||
>&2 echo -e "\033[;32mSUCCEEDED\033[;39m configurations"
 | 
			
		||||
 | 
			
		||||
if [[ $((RUN_MASK & 1)) -eq 1 ]]
 | 
			
		||||
then
 | 
			
		||||
	>&2 echo -e "\033[;96mRUNNING\033[;39m RUN_MASK 1 - contract deployment"
 | 
			
		||||
 | 
			
		||||
@ -1,68 +1,40 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# defaults
 | 
			
		||||
#initlevel=`cat ${CIC_DATA_DIR}/.init`
 | 
			
		||||
#echo $inilevel
 | 
			
		||||
#if [ $initlevel -lt 2 ]; then
 | 
			
		||||
#	>&2 echo "initlevel too low $initlevel"
 | 
			
		||||
#	exit 1 
 | 
			
		||||
#fi
 | 
			
		||||
source ${CIC_DATA_DIR}/.env
 | 
			
		||||
source ${CIC_DATA_DIR}/.env_all
 | 
			
		||||
DEV_PIP_EXTRA_INDEX_URL=${DEV_PIP_EXTRA_INDEX_URL:-https://pip.grassrootseconomics.net:8433}
 | 
			
		||||
DEV_DATABASE_NAME_CIC_ETH=${DEV_DATABASE_NAME_CIC_ETH:-"cic-eth"}
 | 
			
		||||
CIC_DATA_DIR=${CIC_DATA_DIR:-/tmp/cic} 
 | 
			
		||||
ETH_PASSPHRASE=''
 | 
			
		||||
CIC_DEFAULT_TOKEN_SYMBOL=${CIC_DEFAULT_TOKEN_SYMBOL:-GFT}
 | 
			
		||||
TOKEN_SYMBOL=$CIC_DEFAULT_TOKEN_SYMBOL
 | 
			
		||||
 | 
			
		||||
CHAIN_SPEC=${CHAIN_SPEC:-$CIC_CHAIN_SPEC}
 | 
			
		||||
RPC_HTTP_PROVIDER=${RPC_HTTP_PROVIDER:-$ETH_PROVIDER}
 | 
			
		||||
source ${DEV_DATA_DIR}/env_reset
 | 
			
		||||
cat ${DEV_DATA_DIR}/env_reset
 | 
			
		||||
 | 
			
		||||
# Debug flag
 | 
			
		||||
DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER=0xEb3907eCad74a0013c259D5874AE7f22DcBcC95C
 | 
			
		||||
keystore_file=./keystore/UTC--2021-01-08T17-18-44.521011372Z--eb3907ecad74a0013c259d5874ae7f22dcbcc95c
 | 
			
		||||
debug='-vv'
 | 
			
		||||
gas_amount=100000000000000000000000
 | 
			
		||||
token_amount=${gas_amount}
 | 
			
		||||
env_out_file=${CIC_DATA_DIR}/.env_seed
 | 
			
		||||
init_level_file=${CIC_DATA_DIR}/.init
 | 
			
		||||
empty_config_dir=$CONFINI_DIR/empty
 | 
			
		||||
truncate $env_out_file -s 0
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
set -a
 | 
			
		||||
 | 
			
		||||
#pip install --extra-index-url $DEV_PIP_EXTRA_INDEX_URL  eth-address-index==0.1.1a7
 | 
			
		||||
 | 
			
		||||
export CONFINI_DIR=$_CONFINI_DIR
 | 
			
		||||
unset CONFINI_DIR
 | 
			
		||||
 | 
			
		||||
# get required addresses from registries
 | 
			
		||||
DEV_TOKEN_INDEX_ADDRESS=`eth-contract-registry-list -u -i $CHAIN_SPEC -p $ETH_PROVIDER -e $CIC_REGISTRY_ADDRESS -vv --raw TokenRegistry`
 | 
			
		||||
DEV_ACCOUNT_INDEX_ADDRESS=`eth-contract-registry-list -u -i $CHAIN_SPEC -p $ETH_PROVIDER -e $CIC_REGISTRY_ADDRESS -vv --raw AccountRegistry`
 | 
			
		||||
DEV_RESERVE_ADDRESS=`eth-token-index-list -i $CHAIN_SPEC -u -p $ETH_PROVIDER -e $DEV_TOKEN_INDEX_ADDRESS -vv --raw $CIC_DEFAULT_TOKEN_SYMBOL`
 | 
			
		||||
cat <<EOF
 | 
			
		||||
Token registry: $DEV_TOKEN_INDEX_ADDRESS
 | 
			
		||||
Account reigstry: $DEV_ACCOUNT_INDEX_ADDRESS
 | 
			
		||||
Reserve address: $DEV_RESERVE_ADDRESS ($CIC_DEFAULT_TOKEN_SYMBOL)
 | 
			
		||||
EOF
 | 
			
		||||
token_index_address=`eth-contract-registry-list -u -i $CHAIN_SPEC -p $RPC_PROVIDER -e $CIC_REGISTRY_ADDRESS -vv --raw TokenRegistry`
 | 
			
		||||
account_index_address=`eth-contract-registry-list -u -i $CHAIN_SPEC -p $RPC_PROVIDER -e $CIC_REGISTRY_ADDRESS -vv --raw AccountRegistry`
 | 
			
		||||
reserve_address=`eth-token-index-list -i $CHAIN_SPEC -u -p $RPC_PROVIDER -e $token_index_address -vv --raw $CIC_DEFAULT_TOKEN_SYMBOL`
 | 
			
		||||
 | 
			
		||||
>&2 echo "Token registry: $token_index_address"
 | 
			
		||||
>&2 echo "Account registry: $account_index_address"
 | 
			
		||||
>&2 echo "Reserve address: $reserve_address ($TOKEN_SYMBOL)"
 | 
			
		||||
 | 
			
		||||
>&2 echo "create account for gas gifter"
 | 
			
		||||
old_gas_provider=$DEV_ETH_ACCOUNT_GAS_PROVIDER
 | 
			
		||||
DEV_ETH_ACCOUNT_GAS_GIFTER=`CONFINI_DIR=$empty_config_dir cic-eth-create --redis-timeout 120 $debug --redis-host $REDIS_HOST --redis-host-callback=$REDIS_HOST --redis-port-callback=$REDIS_PORT --no-register`
 | 
			
		||||
echo DEV_ETH_ACCOUNT_GAS_GIFTER=$DEV_ETH_ACCOUNT_GAS_GIFTER >> $env_out_file
 | 
			
		||||
#DEV_ETH_ACCOUNT_GAS_GIFTER=`CONFINI_DIR=$empty_config_dir cic-eth-create --redis-timeout 120 $debug --redis-host $REDIS_HOST --redis-host-callback=$REDIS_HOST --redis-port-callback=$REDIS_PORT --no-register`
 | 
			
		||||
DEV_ETH_ACCOUNT_GAS_GIFTER=`cic-eth-create --redis-timeout 120 $debug --redis-host $REDIS_HOST --redis-host-callback=$REDIS_HOST --redis-port-callback=$REDIS_PORT --no-register`
 | 
			
		||||
cic-eth-tag -i $CHAIN_SPEC GAS_GIFTER $DEV_ETH_ACCOUNT_GAS_GIFTER
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
>&2 echo "create account for sarafu gifter"
 | 
			
		||||
DEV_ETH_ACCOUNT_SARAFU_GIFTER=`CONFINI_DIR=$empty_config_dir cic-eth-create $debug --redis-host $REDIS_HOST --redis-host-callback=$REDIS_HOST --redis-port-callback=$REDIS_PORT --no-register`
 | 
			
		||||
echo DEV_ETH_ACCOUNT_SARAFU_GIFTER=$DEV_ETH_ACCOUNT_SARAFU_GIFTER >> $env_out_file
 | 
			
		||||
cic-eth-tag -i $CHAIN_SPEC SARAFU_GIFTER $DEV_ETH_ACCOUNT_SARAFU_GIFTER
 | 
			
		||||
 | 
			
		||||
>&2 echo "create account for approval escrow owner"
 | 
			
		||||
DEV_ETH_ACCOUNT_TRANSFER_AUTHORIZATION_OWNER=`CONFINI_DIR=$empty_config_dir cic-eth-create $debug --redis-host $REDIS_HOST --redis-host-callback=$REDIS_HOST --redis-port-callback=$REDIS_PORT --no-register`
 | 
			
		||||
echo DEV_ETH_ACCOUNT_TRANSFER_AUTHORIZATION_OWNER=$DEV_ETH_ACCOUNT_TRANSFER_AUTHORIZATION_OWNER >> $env_out_file
 | 
			
		||||
cic-eth-tag -i $CHAIN_SPEC TRANSFER_AUTHORIZATION_OWNER $DEV_ETH_ACCOUNT_TRANSFER_AUTHORIZATION_OWNER 
 | 
			
		||||
 | 
			
		||||
#>&2 echo "create account for faucet owner"
 | 
			
		||||
@ -72,50 +44,43 @@ cic-eth-tag -i $CHAIN_SPEC TRANSFER_AUTHORIZATION_OWNER $DEV_ETH_ACCOUNT_TRANSFE
 | 
			
		||||
 | 
			
		||||
>&2 echo "create account for accounts index writer"
 | 
			
		||||
DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER=`CONFINI_DIR=$empty_config_dir cic-eth-create $debug --redis-host $REDIS_HOST --redis-host-callback=$REDIS_HOST --redis-port-callback=$REDIS_PORT --no-register`
 | 
			
		||||
echo DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER=$DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER >> $env_out_file
 | 
			
		||||
cic-eth-tag -i $CHAIN_SPEC ACCOUNT_REGISTRY_WRITER $DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER
 | 
			
		||||
>&2 echo "add acccounts index writer account as writer on contract"
 | 
			
		||||
eth-accounts-index-writer -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER -e $DEV_ACCOUNT_INDEX_ADDRESS -ww $debug $DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER
 | 
			
		||||
eth-accounts-index-writer -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER -e $account_index_address -ww $debug $DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER
 | 
			
		||||
 | 
			
		||||
# Transfer gas to custodial gas provider adddress
 | 
			
		||||
_CONFINI_DIR=$CONFINI_DIR
 | 
			
		||||
unset CONFINI_DIR
 | 
			
		||||
>&2 echo gift gas to gas gifter
 | 
			
		||||
>&2 eth-gas -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER -w $debug -a $DEV_ETH_ACCOUNT_GAS_GIFTER $gas_amount
 | 
			
		||||
>&2 eth-gas -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER -w $debug -a $DEV_ETH_ACCOUNT_GAS_GIFTER $DEV_GAS_AMOUNT
 | 
			
		||||
 | 
			
		||||
>&2 echo gift gas to sarafu token owner
 | 
			
		||||
>&2 eth-gas -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER -w $debug -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER $gas_amount
 | 
			
		||||
>&2 eth-gas -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER -w $debug -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER $DEV_GAS_AMOUNT
 | 
			
		||||
 | 
			
		||||
>&2 echo gift gas to account index owner
 | 
			
		||||
>&2 eth-gas -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER -w $debug -a $DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER $gas_amount
 | 
			
		||||
>&2 eth-gas -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER -w $debug -a $DEV_ETH_ACCOUNT_ACCOUNT_REGISTRY_WRITER $DEV_GAS_AMOUNT
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Send token to token creator
 | 
			
		||||
>&2 echo "gift tokens to sarafu owner"
 | 
			
		||||
echo "giftable-token-gift -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER -e $DEV_RESERVE_ADDRESS -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER -w $debug $token_amount"
 | 
			
		||||
>&2 giftable-token-gift -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER -e $DEV_RESERVE_ADDRESS -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER -w $debug $token_amount
 | 
			
		||||
echo "giftable-token-gift -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER -e $reserve_address -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER -w $debug $DEV_TOKEN_AMOUNT"
 | 
			
		||||
>&2 giftable-token-gift -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER -e $reserve_address -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER -w $debug $DEV_TOKEN_AMOUNT
 | 
			
		||||
 | 
			
		||||
# Send token to token gifter
 | 
			
		||||
>&2 echo "gift tokens to keystore address"
 | 
			
		||||
>&2 giftable-token-gift -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER -e $DEV_RESERVE_ADDRESS -a $DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER -w $debug $token_amount
 | 
			
		||||
>&2 giftable-token-gift -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER -e $reserve_address -a $DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER -w $debug $DEV_TOKEN_AMOUNT
 | 
			
		||||
 | 
			
		||||
>&2 echo "set sarafu token to reserve token (temporarily while bancor contracts are not connected)"
 | 
			
		||||
echo DEV_ETH_SARAFU_TOKEN_ADDRESS=$DEV_ETH_RESERVE_ADDRESS >> $env_out_file
 | 
			
		||||
export DEV_ETH_SARAFU_TOKEN_ADDRESS=$DEV_ETH_RESERVE_ADDRESS
 | 
			
		||||
 | 
			
		||||
# Transfer tokens to gifter address
 | 
			
		||||
>&2 echo "transfer tokens to token gifter address"
 | 
			
		||||
>&2 erc20-transfer -s -u -y $keystore_file -i $CHAIN_SPEC -p $ETH_PROVIDER --fee-limit 100000 -e $DEV_RESERVE_ADDRESS -w $debug -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER ${token_amount:0:-1}
 | 
			
		||||
>&2 erc20-transfer -s -u -y $WALLET_KEY_FILE -i $CHAIN_SPEC -p $RPC_PROVIDER --fee-limit 100000 -e $reserve_address -w $debug -a $DEV_ETH_ACCOUNT_SARAFU_GIFTER ${DEV_TOKEN_AMOUNT:0:-1}
 | 
			
		||||
 | 
			
		||||
#echo -n 0 > $init_level_file
 | 
			
		||||
 | 
			
		||||
#CONFINI_DIR=$_CONFINI_DIR
 | 
			
		||||
# Remove the SEND (8), QUEUE (16) and INIT (2) locks (or'ed), set by default at migration
 | 
			
		||||
cic-eth-ctl -i $CHAIN_SPEC unlock INIT
 | 
			
		||||
cic-eth-ctl -i $CHAIN_SPEC unlock SEND
 | 
			
		||||
cic-eth-ctl -i $CHAIN_SPEC unlock QUEUE
 | 
			
		||||
 | 
			
		||||
export CONFINI_DIR=$_CONFINI_DIR
 | 
			
		||||
 | 
			
		||||
set +a
 | 
			
		||||
set +e
 | 
			
		||||
 | 
			
		||||
@ -72,16 +72,12 @@ services:
 | 
			
		||||
        EXTRA_PIP_ARGS: $EXTRA_PIP_ARGS
 | 
			
		||||
    # image: registry.gitlab.com/grassrootseconomics/cic-internal-integration/contract-migration:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      CIC_REGISTRY_ADDRESS: $CIC_REGISTRY_ADDRESS
 | 
			
		||||
      ETH_PROVIDER: ${CIC_HTTP_PROVIDER:-http://eth:8545}
 | 
			
		||||
      RPC_HTTP_PROVIDER: ${CIC_HTTP_PROVIDER:-http://eth:8545}
 | 
			
		||||
      # And these two are for wait-for-it (could parse this)
 | 
			
		||||
      RPC_PROVIDER: ${RPC_PROVIDER:-http://eth:8545}
 | 
			
		||||
      DEV_USE_DOCKER_WAIT_SCRIPT: 1
 | 
			
		||||
      ETH_PROVIDER_HOST: eth 
 | 
			
		||||
      ETH_PROVIDER_PORT: 8545
 | 
			
		||||
      CHAIN_SPEC: ${CHAIN_SPEC:-evm:bloxberg:8996}
 | 
			
		||||
      CIC_CHAIN_SPEC: ${CHAIN_SPEC:-evm:bloxberg:8996}
 | 
			
		||||
      CIC_DATA_DIR: ${CIC_DATA_DIR:-/tmp/cic/config}
 | 
			
		||||
      DEV_DATA_DIR: ${DEV_DATA_DIR:-/tmp/cic/config}
 | 
			
		||||
      DEV_CONFIG_RESET: $DEV_CONFIG_RESET
 | 
			
		||||
      DATABASE_HOST: ${DATABASE_HOST:-postgres}
 | 
			
		||||
      DATABASE_PORT: ${DATABASE_PORT:-5432}
 | 
			
		||||
      DATABASE_NAME: ${DEV_DATABASE_NAME_CIC_ETH:-cic_eth}
 | 
			
		||||
@ -96,17 +92,15 @@ services:
 | 
			
		||||
      DEV_PIP_EXTRA_INDEX_URL: ${DEV_PIP_EXTRA_INDEX_URL:-https://pip.grassrootseconomics.net:8433}
 | 
			
		||||
      RUN_MASK: ${RUN_MASK:-0} # bit flags; 1: contract migrations 2: seed data
 | 
			
		||||
      DEV_FAUCET_AMOUNT: ${DEV_FAUCET_AMOUNT:-0}
 | 
			
		||||
      #DEV_SARAFU_DEMURRAGE_LEVEL: ${DEV_SARAFU_DEMURRAGE_LEVEL:-196454828847045000000000000000000}
 | 
			
		||||
      DEV_ETH_GAS_PRICE: ${DEV_ETH_GAS_PRICE:-1}
 | 
			
		||||
      CIC_DEFAULT_TOKEN_SYMBOL: $CIC_DEFAULT_TOKEN_SYMBOL
 | 
			
		||||
      TOKEN_NAME: $TOKEN_NAME
 | 
			
		||||
      DEV_ETH_GAS_PRICE: $DEV_ETH_GAS_PRICE
 | 
			
		||||
      CIC_DEFAULT_TOKEN_SYMBOL: ${CIC_DEFAULT_TOKEN_SYMBOL:-SARAFU}
 | 
			
		||||
      TOKEN_NAME: ${TOKEN_NAME:-Sarafu Token}
 | 
			
		||||
      TOKEN_DECIMALS: $TOKEN_DECIMALS
 | 
			
		||||
      TOKEN_REDISTRIBUTION_PERIOD: $TOKEN_REDISTRIBUTION_PERIOD
 | 
			
		||||
      TOKEN_REDISTRIBUTION_PERIOD: $TOKEN_DEMURRAGE_REDISTRIBUTION_PERIOD
 | 
			
		||||
      TOKEN_SUPPLY_LIMIT: $TOKEN_SUPPLY_LIMIT
 | 
			
		||||
      TOKEN_DEMURRAGE_LEVEL: ${TOKEN_DEMURRAGE_LEVEL:-196454828847045000000000000000000}
 | 
			
		||||
      TOKEN_DEMURRAGE_LEVEL: $TOKEN_DEMURRAGE_LEVEL
 | 
			
		||||
      TOKEN_SINK_ADDRESS: $TOKEN_SINK_ADDRESS
 | 
			
		||||
      TOKEN_TYPE: $TOKEN_TYPE
 | 
			
		||||
        #CONFINI_DIR: ${CONFINI_DIR:-/tmp/cic/config}
 | 
			
		||||
    command: ["./run_job.sh"]
 | 
			
		||||
        #command: ["./reset.sh"]
 | 
			
		||||
    depends_on:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user