mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-04-04 15:55:23 +00:00 
			
		
		
		
	add chaincfg to save all configration of chain
This commit is contained in:
		
							parent
							
								
									b995c16abd
								
							
						
					
					
						commit
						4c21606bb5
					
				
							
								
								
									
										22
									
								
								chaincfg/coin.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								chaincfg/coin.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| package chaincfg | ||||
| 
 | ||||
| import ( | ||||
| 	sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	// Bip44CoinType satisfies EIP84. See https://github.com/ethereum/EIPs/issues/84 for more info.
 | ||||
| 	Bip44CoinType uint32 = 459 // TODO: need new coin type for 0g-chain (a0gi)
 | ||||
| 	// eth = 60
 | ||||
| 	// kava = 459 // see https://github.com/satoshilabs/slips/blob/master/slip-0044.md
 | ||||
| 	// BIP44HDPath is the default BIP44 HD path used on Ethereum.
 | ||||
| 	//BIP44HDPath = ethaccounts.DefaultBaseDerivationPath.String()
 | ||||
| ) | ||||
| 
 | ||||
| // TODO: Implement BIP44CoinType and BIP44HDPath
 | ||||
| // SetBip44CoinType sets the global coin type to be used in hierarchical deterministic wallets.
 | ||||
| func setBip44CoinType(config *sdk.Config) { | ||||
| 	config.SetCoinType(Bip44CoinType) | ||||
| 	//config.SetPurpose(sdk.Purpose)            // Shared
 | ||||
| 	//config.SetFullFundraiserPath(BIP44HDPath) //nolint: staticcheck
 | ||||
| } | ||||
							
								
								
									
										15
									
								
								chaincfg/config.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								chaincfg/config.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| package chaincfg | ||||
| 
 | ||||
| import sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| 
 | ||||
| const ( | ||||
| 	AppName   = "0gchain" | ||||
| 	EnvPrefix = "0GCHAIN" | ||||
| ) | ||||
| 
 | ||||
| func SetSDKConfig() *sdk.Config { | ||||
| 	config := sdk.GetConfig() | ||||
| 	setBech32Prefixes(config) | ||||
| 	setBip44CoinType(config) | ||||
| 	return config | ||||
| } | ||||
							
								
								
									
										27
									
								
								chaincfg/denoms.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								chaincfg/denoms.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| package chaincfg | ||||
| 
 | ||||
| import ( | ||||
| 	sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| 	// DisplayDenom defines the denomination displayed to users in client applications.
 | ||||
| 	DisplayDenom = "a0gi" | ||||
| 	// BaseDenom defines to the default denomination used in 0g-chain
 | ||||
| 	BaseDenom = "neuron" | ||||
| 
 | ||||
| 	BaseDenomUnit = 18 | ||||
| 
 | ||||
| 	ConversionMultiplier = 1e18 | ||||
| ) | ||||
| 
 | ||||
| // RegisterDenoms registers the base and display denominations to the SDK.
 | ||||
| func RegisterDenoms() { | ||||
| 	if err := sdk.RegisterDenom(DisplayDenom, sdk.OneDec()); err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
| 
 | ||||
| 	if err := sdk.RegisterDenom(BaseDenom, sdk.NewDecWithPrec(1, BaseDenomUnit)); err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										25
									
								
								chaincfg/homedir.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								chaincfg/homedir.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| package chaincfg | ||||
| 
 | ||||
| import ( | ||||
| 	stdlog "log" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| 	HomeDirName = ".0gchain" | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	// DefaultNodeHome default home directories for the application daemon
 | ||||
| 	DefaultNodeHome string | ||||
| ) | ||||
| 
 | ||||
| func init() { | ||||
| 	userHomeDir, err := os.UserHomeDir() | ||||
| 	if err != nil { | ||||
| 		stdlog.Printf("Failed to get home dir %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	DefaultNodeHome = filepath.Join(userHomeDir, HomeDirName) | ||||
| } | ||||
							
								
								
									
										44
									
								
								chaincfg/prefix.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								chaincfg/prefix.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| package chaincfg | ||||
| 
 | ||||
| import ( | ||||
| 	sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| 	// Bech32Prefix defines the Bech32 prefix used for EthAccounts
 | ||||
| 	Bech32Prefix = "0g" | ||||
| 
 | ||||
| 	// PrefixAccount is the prefix for account keys
 | ||||
| 	PrefixAccount = "acc" | ||||
| 	// PrefixValidator is the prefix for validator keys
 | ||||
| 	PrefixValidator = "val" | ||||
| 	// PrefixConsensus is the prefix for consensus keys
 | ||||
| 	PrefixConsensus = "cons" | ||||
| 	// PrefixPublic is the prefix for public keys
 | ||||
| 	PrefixPublic = "pub" | ||||
| 	// PrefixOperator is the prefix for operator keys
 | ||||
| 	PrefixOperator = "oper" | ||||
| 
 | ||||
| 	// PrefixAddress is the prefix for addresses
 | ||||
| 	PrefixAddress = "addr" | ||||
| 
 | ||||
| 	// Bech32PrefixAccAddr defines the Bech32 prefix of an account's address
 | ||||
| 	Bech32PrefixAccAddr = Bech32Prefix | ||||
| 	// Bech32PrefixAccPub defines the Bech32 prefix of an account's public key
 | ||||
| 	Bech32PrefixAccPub = Bech32Prefix + PrefixPublic | ||||
| 	// Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address
 | ||||
| 	Bech32PrefixValAddr = Bech32Prefix + PrefixValidator + PrefixOperator | ||||
| 	// Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key
 | ||||
| 	Bech32PrefixValPub = Bech32Prefix + PrefixValidator + PrefixOperator + PrefixPublic | ||||
| 	// Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address
 | ||||
| 	Bech32PrefixConsAddr = Bech32Prefix + PrefixValidator + PrefixConsensus | ||||
| 	// Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key
 | ||||
| 	Bech32PrefixConsPub = Bech32Prefix + PrefixValidator + PrefixConsensus + PrefixPublic | ||||
| ) | ||||
| 
 | ||||
| // setBech32Prefixes sets the global prefixes to be used when serializing addresses and public keys to Bech32 strings.
 | ||||
| func setBech32Prefixes(config *sdk.Config) { | ||||
| 	config.SetBech32PrefixForAccount(Bech32PrefixAccAddr, Bech32PrefixAccPub) | ||||
| 	config.SetBech32PrefixForValidator(Bech32PrefixValAddr, Bech32PrefixValPub) | ||||
| 	config.SetBech32PrefixForConsensusNode(Bech32PrefixConsAddr, Bech32PrefixConsPub) | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Solovyov1796
						Solovyov1796