chainregistry

package
v29.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

package chainregistry is a package that contains the chain.json and assetlist.json structs from the chain registry. Useful when parsing or creating chain.json and assetlist.json files.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIProvider

type APIProvider struct {
	Address  string `json:"address"`
	Provider string `json:"provider"`
}

type APIs

type APIs struct {
	RPC  []APIProvider `json:"rpc"`
	Rest []APIProvider `json:"rest"`
	Grpc []APIProvider `json:"grpc"`
}

type Asset

type Asset struct {
	Description string      `json:"description"`
	DenomUnits  []DenomUnit `json:"denom_units"`
	Base        string      `json:"base"`
	Name        string      `json:"name"`
	Display     string      `json:"display"`
	Symbol      string      `json:"symbol"`
	LogoURIs    LogoURIs    `json:"logo_URIs"`
	CoingeckoID string      `json:"coingecko_id,omitempty"`
	Socials     Socials     `json:"socials,omitempty"`
	TypeAsset   string      `json:"type_asset"`
}

type AssetList

type AssetList struct {
	ChainName string  `json:"chain_name"`
	Assets    []Asset `json:"assets"`
}

AssetList represents the assetlist.json file from the chain registry. https://raw.githubusercontent.com/cosmos/chain-registry/master/assetlist.schema.json https://github.com/cosmos/chain-registry?tab=readme-ov-file#assetlists

func (AssetList) SaveJSON

func (c AssetList) SaveJSON(out string) error

SaveJSON saves the assetlist.json to the given out directory.

type Chain

type Chain struct {
	ChainName    string      `json:"chain_name"`
	Status       ChainStatus `json:"status"`
	NetworkType  NetworkType `json:"network_type"`
	Website      string      `json:"website"`
	PrettyName   string      `json:"pretty_name"`
	ChainType    ChainType   `json:"chain_type"`
	ChainID      string      `json:"chain_id"`
	Bech32Prefix string      `json:"bech32_prefix"`
	DaemonName   string      `json:"daemon_name"`
	NodeHome     string      `json:"node_home"`
	KeyAlgos     []KeyAlgos  `json:"key_algos"`
	Slip44       uint32      `json:"slip44"`
	Fees         Fees        `json:"fees"`
	Staking      Staking     `json:"staking"`
	Codebase     Codebase    `json:"codebase"`
	Description  string      `json:"description"`
	APIs         APIs        `json:"apis"`
}

Chain represents the chain.json file from the chain registry. https://raw.githubusercontent.com/cosmos/chain-registry/master/chain.schema.json

func (Chain) SaveJSON

func (c Chain) SaveJSON(out string) error

SaveJSON saves the chainJSON to the given out directory.

type ChainStatus

type ChainStatus string
const (
	// ChainStatusActive is the live chain status.
	ChainStatusActive ChainStatus = "live"

	// ChainStatusUpcoming is the upcoming chain status.
	ChainStatusUpcoming ChainStatus = "upcoming"

	// ChainStatusKilled is the inactive chain status.
	ChainStatusKilled ChainStatus = "killed"
)

type ChainType

type ChainType string
const (
	// ChainTypeCosmos is the cosmos chain type.
	ChainTypeCosmos ChainType = "cosmos"

	// ChainTypeEip155 is the eip155 chain type.
	ChainTypeEip155 ChainType = "eip155"
)

type Codebase

type Codebase struct {
	GitRepo            string              `json:"git_repo"`
	Genesis            CodebaseGenesis     `json:"genesis"`
	RecommendedVersion string              `json:"recommended_version"`
	CompatibleVersions []string            `json:"compatible_versions"`
	Consensus          CodebaseInfo        `json:"consensus"`
	Sdk                CodebaseInfo        `json:"sdk"`
	Ibc                CodebaseInfo        `json:"ibc,omitempty"`
	Cosmwasm           CodebaseInfoEnabled `json:"cosmwasm,omitempty"`
}

type CodebaseGenesis

type CodebaseGenesis struct {
	GenesisURL string `json:"genesis_url"`
}

type CodebaseInfo

type CodebaseInfo struct {
	Type    string `json:"type"`
	Version string `json:"version"`
	Repo    string `json:"repo,omitempty"`
	Tag     string `json:"tag,omitempty"`
}

type CodebaseInfoEnabled

type CodebaseInfoEnabled struct {
	Version string `json:"version,omitempty"`
	Repo    string `json:"repo,omitempty"`
	Tag     string `json:"tag,omitempty"`
	Enabled bool   `json:"enabled"`
}

type DenomUnit

type DenomUnit struct {
	Denom    string `json:"denom"`
	Exponent int    `json:"exponent"`
}

type FeeToken

type FeeToken struct {
	Denom            string  `json:"denom"`
	FixedMinGasPrice float64 `json:"fixed_min_gas_price"`
	LowGasPrice      float64 `json:"low_gas_price"`
	AverageGasPrice  float64 `json:"average_gas_price"`
	HighGasPrice     float64 `json:"high_gas_price"`
}

type Fees

type Fees struct {
	FeeTokens []FeeToken `json:"fee_tokens"`
}

type KeyAlgos

type KeyAlgos string
const (
	// KeyAlgoSecp256k1 is the secp256k1 key algorithm.
	KeyAlgoSecp256k1 KeyAlgos = "secp256k1"

	// KeyAlgosEthSecp256k1 is the secp256k1 key algorithm with ethereum compatibility.
	KeyAlgosEthSecp256k1 KeyAlgos = "ethsecp256k1"

	// KeyAlgoEd25519 is the ed25519 key algorithm.
	KeyAlgoEd25519 KeyAlgos = "ed25519"
)

type LogoURIs

type LogoURIs struct {
	Png string `json:"png"`
	Svg string `json:"svg"`
}

type NetworkType

type NetworkType string
const (
	// NetworkTypeMainnet is the mainnet network type.
	NetworkTypeMainnet NetworkType = "mainnet"

	// NetworkTypeTestnet is the testnet network type.
	NetworkTypeTestnet NetworkType = "testnet"

	// NetworkTypeDevnet is the devnet network type.
	NetworkTypeDevnet NetworkType = "devnet"
)

type Socials

type Socials struct {
	Website string `json:"website"`
	Twitter string `json:"twitter"`
}

type Staking

type Staking struct {
	StakingTokens []StakingToken `json:"staking_tokens"`
}

type StakingToken

type StakingToken struct {
	Denom string `json:"denom"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL