// Copyright 2020 The go-ethereum Authors
// This file is part of go-ethereum.
//
// go-ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// go-ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
package utils
import (
"fmt"
"strings"
"github.com/ethereum/go-ethereum/eth/ethconfig"
"github.com/ethereum/go-ethereum/node"
"gopkg.in/urfave/cli.v1"
)
var ShowDeprecated = cli . Command {
Action : showDeprecated ,
Name : "show-deprecated-flags" ,
Usage : "Show flags that have been deprecated" ,
ArgsUsage : " " ,
Category : "MISCELLANEOUS COMMANDS" ,
Description : "Show flags that have been deprecated and will soon be removed" ,
}
var DeprecatedFlags = [ ] cli . Flag {
LegacyMinerGasTargetFlag ,
}
var (
// (Deprecated May 2020, shown in aliased flags section)
LegacyRPCEnabledFlag = cli . BoolFlag {
Name : "rpc" ,
Usage : "Enable the HTTP-RPC server (deprecated and will be removed June 2021, use --http)" ,
}
LegacyRPCListenAddrFlag = cli . StringFlag {
Name : "rpcaddr" ,
Usage : "HTTP-RPC server listening interface (deprecated and will be removed June 2021, use --http.addr)" ,
Value : node . DefaultHTTPHost ,
}
LegacyRPCPortFlag = cli . IntFlag {
Name : "rpcport" ,
Usage : "HTTP-RPC server listening port (deprecated and will be removed June 2021, use --http.port)" ,
Value : node . DefaultHTTPPort ,
}
LegacyRPCCORSDomainFlag = cli . StringFlag {
Name : "rpccorsdomain" ,
Usage : "Comma separated list of domains from which to accept cross origin requests (browser enforced) (deprecated and will be removed June 2021, use --http.corsdomain)" ,
Value : "" ,
}
LegacyRPCVirtualHostsFlag = cli . StringFlag {
Name : "rpcvhosts" ,
Usage : "Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (deprecated and will be removed June 2021, use --http.vhosts)" ,
Value : strings . Join ( node . DefaultConfig . HTTPVirtualHosts , "," ) ,
}
LegacyRPCApiFlag = cli . StringFlag {
Name : "rpcapi" ,
Usage : "API's offered over the HTTP-RPC interface (deprecated and will be removed June 2021, use --http.api)" ,
Value : "" ,
}
// (Deprecated July 2021, shown in aliased flags section)
LegacyMinerGasTargetFlag = cli . Uint64Flag {
Name : "miner.gastarget" ,
Usage : "Target gas floor for mined blocks (deprecated)" ,
Value : ethconfig . Defaults . Miner . GasFloor ,
}
)
// showDeprecated displays deprecated flags that will be soon removed from the codebase.
func showDeprecated ( * cli . Context ) {
fmt . Println ( "--------------------------------------------------------------------" )
fmt . Println ( "The following flags are deprecated and will be removed in the future!" )
fmt . Println ( "--------------------------------------------------------------------" )
fmt . Println ( )
for _ , flag := range DeprecatedFlags {
fmt . Println ( flag . String ( ) )
}
fmt . Println ( )
}