fix: zero fee addresses flag

This commit is contained in:
mrekucci 2024-11-26 21:18:12 +08:00
parent dd8d982cac
commit c790bb7e21
3 changed files with 18 additions and 6 deletions

View file

@ -146,6 +146,7 @@ var (
configFileFlag, configFileFlag,
utils.LogDebugFlag, utils.LogDebugFlag,
utils.LogBacktraceAtFlag, utils.LogBacktraceAtFlag,
utils.ZeroFeeAddressesFlag,
}, utils.NetworkFlags, utils.DatabaseFlags) }, utils.NetworkFlags, utils.DatabaseFlags)
rpcFlags = []cli.Flag{ rpcFlags = []cli.Flag{

View file

@ -497,10 +497,9 @@ var (
Category: flags.VMCategory, Category: flags.VMCategory,
} }
ZeroFeeAddressesFlag = &cli.StringFlag{ ZeroFeeAddressesFlag = &cli.StringSliceFlag{
Name: "zeroofeeaddresses", Name: "zero-fee-addresses",
Usage: "Comma separated list of addresses that are allowed to send transactions with zero fees", Usage: "Comma separated list of addresses that are allowed to send transactions with zero fees",
Value: "",
Category: flags.VMCategory, Category: flags.VMCategory,
} }
// API options. // API options.
@ -2128,9 +2127,11 @@ func MakeChain(ctx *cli.Context, stack *node.Node, readonly bool) (*core.BlockCh
vmcfg := vm.Config{EnablePreimageRecording: ctx.Bool(VMEnableDebugFlag.Name)} vmcfg := vm.Config{EnablePreimageRecording: ctx.Bool(VMEnableDebugFlag.Name)}
if ctx.IsSet(ZeroFeeAddressesFlag.Name) { if ctx.IsSet(ZeroFeeAddressesFlag.Name) {
addressStrings := strings.Split(ctx.String(ZeroFeeAddressesFlag.Name), ",") for _, addr := range ctx.StringSlice(ZeroFeeAddressesFlag.Name) {
for _, addr := range addressStrings { vmcfg.ZeroFeeAddresses = append(
vmcfg.ZeroFeeAddresses = append(vmcfg.ZeroFeeAddresses, common.HexToAddress(strings.TrimSpace(addr))) vmcfg.ZeroFeeAddresses,
common.HexToAddress(strings.TrimSpace(addr)),
)
} }
} }
// Disable transaction indexing/unindexing by default. // Disable transaction indexing/unindexing by default.

View file

@ -12,6 +12,7 @@ GETH_DATA_DIR=${GETH_DATA_DIR:-/data}
GETH_CHAINDATA_DIR="$GETH_DATA_DIR/geth/chaindata" GETH_CHAINDATA_DIR="$GETH_DATA_DIR/geth/chaindata"
GETH_KEYSTORE_DIR="$GETH_DATA_DIR/keystore" GETH_KEYSTORE_DIR="$GETH_DATA_DIR/keystore"
GETH_KEYSTORE_PASSWORD=${GETH_KEYSTORE_PASSWORD:-"primev"} GETH_KEYSTORE_PASSWORD=${GETH_KEYSTORE_PASSWORD:-"primev"}
GETH_ZERO_FEE_ADDRESSES=${GETH_ZERO_FEE_ADDRESSES:-}
CHAIN_ID=$(cat "$GENESIS_L1_PATH" | jq -r .config.chainId) CHAIN_ID=$(cat "$GENESIS_L1_PATH" | jq -r .config.chainId)
RPC_PORT="${RPC_PORT:-8545}" RPC_PORT="${RPC_PORT:-8545}"
WS_PORT="${WS_PORT:-8546}" WS_PORT="${WS_PORT:-8546}"
@ -23,6 +24,12 @@ else
LOG_TAGS_OPTION="" LOG_TAGS_OPTION=""
fi fi
if [ -n "$GETH_ZERO_FEE_ADDRESSES" ]; then
ZERO_FEE_ADDRESSES="--zero-fee-addresses=$GETH_ZERO_FEE_ADDRESSES"
else
ZERO_FEE_ADDRESSES=""
fi
# Generate signer key if needed # Generate signer key if needed
if [ "$GETH_NODE_TYPE" = "signer" ]; then if [ "$GETH_NODE_TYPE" = "signer" ]; then
if [ ! -f "$GETH_DATA_DIR/password" ]; then if [ ! -f "$GETH_DATA_DIR/password" ]; then
@ -94,6 +101,7 @@ if [ "$GETH_NODE_TYPE" = "bootnode" ]; then
--verbosity="$GETH_VERBOSITY" \ --verbosity="$GETH_VERBOSITY" \
--log.format="$GETH_LOG_FORMAT" \ --log.format="$GETH_LOG_FORMAT" \
$LOG_TAGS_OPTION \ $LOG_TAGS_OPTION \
$ZERO_FEE_ADDRESSES \
--datadir="$GETH_DATA_DIR" \ --datadir="$GETH_DATA_DIR" \
--port 30301 \ --port 30301 \
--http \ --http \
@ -138,6 +146,7 @@ elif [ "$GETH_NODE_TYPE" = "signer" ]; then
--verbosity="$GETH_VERBOSITY" \ --verbosity="$GETH_VERBOSITY" \
--log.format="$GETH_LOG_FORMAT" \ --log.format="$GETH_LOG_FORMAT" \
$LOG_TAGS_OPTION \ $LOG_TAGS_OPTION \
$ZERO_FEE_ADDRESSES \
--datadir="$GETH_DATA_DIR" \ --datadir="$GETH_DATA_DIR" \
--port="$GETH_PORT" \ --port="$GETH_PORT" \
--syncmode="${GETH_SYNC_MODE}" \ --syncmode="${GETH_SYNC_MODE}" \
@ -190,6 +199,7 @@ elif [ "$GETH_NODE_TYPE" = "member" ]; then
--verbosity="$GETH_VERBOSITY" \ --verbosity="$GETH_VERBOSITY" \
--log.format="$GETH_LOG_FORMAT" \ --log.format="$GETH_LOG_FORMAT" \
$LOG_TAGS_OPTION \ $LOG_TAGS_OPTION \
$ZERO_FEE_ADDRESSES \
--datadir="$GETH_DATA_DIR" \ --datadir="$GETH_DATA_DIR" \
--port="$GETH_PORT" \ --port="$GETH_PORT" \
--syncmode="${GETH_SYNC_MODE}" \ --syncmode="${GETH_SYNC_MODE}" \