types

package
v1.20.1 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRequest        = errors.New("request error")
	ErrParamsNotFound = errors.New("params not found")
)

errors

Functions

This section is empty.

Types

type Account added in v1.14.0

type Account struct {
	Type               string             `json:"@type"`
	Address            string             `json:"address,omitempty"`
	PubKey             interface{}        `json:"pub_key,omitempty"`
	AccountNumber      string             `json:"account_number,omitempty"`
	Sequence           string             `json:"sequence,omitempty"`
	BaseAccount        BaseAccount        `json:"base_account,omitempty"`
	BaseVestingAccount BaseVestingAccount `json:"base_vesting_account,omitempty"`
	Name               string             `json:"name,omitempty"`
	Permissions        []interface{}      `json:"permissions,omitempty"`
	StartTime          *int64             `json:"start_time,string,omitempty"`
	VestingPeriods     []VestingPeriod    `json:"vesting_periods,omitempty"`
}

type AppState

type AppState struct {
	Auth               Auth               `json:"auth"`
	Authz              Authz              `json:"authz"`
	Bank               Bank               `json:"bank"`
	Blob               BlobState          `json:"blob"`
	Capability         Capability         `json:"capability"`
	Crisis             Crisis             `json:"crisis"`
	Distribution       Distribution       `json:"distribution"`
	Evidence           Evidence           `json:"evidence"`
	Feegrant           Feegrant           `json:"feegrant"`
	Genutil            Genutil            `json:"genutil"`
	Gov                Gov                `json:"gov"`
	Ibc                Ibc                `json:"ibc"`
	InterchainAccounts InterchainAccounts `json:"interchainaccounts"`
	Mint               Mint               `json:"mint"`
	MinFee             MinFee             `json:"minfee"`
	Fibre              *Fibre             `json:"fibre"`
	Params             interface{}        `json:"params"`
	Qgb                Qgb                `json:"qgb"`
	Slashing           Slashing           `json:"slashing"`
	Staking            Staking            `json:"staking"`
	Transfer           Transfer           `json:"transfer"`
	Vesting            Vesting            `json:"vesting"`
}

type Auth

type Auth struct {
	Params   AuthParams `json:"params"`
	Accounts []Account  `json:"accounts"`
}

type AuthInfo

type AuthInfo struct {
	SignerInfos []SignerInfos `json:"signer_infos"`
	Fee         Fee           `json:"fee"`
	Tip         interface{}   `json:"tip"`
}

type AuthParams

type AuthParams struct {
	MaxMemoCharacters      string `json:"max_memo_characters"`
	TxSigLimit             string `json:"tx_sig_limit"`
	TxSizeCostPerByte      string `json:"tx_size_cost_per_byte"`
	SigVerifyCostEd25519   string `json:"sig_verify_cost_ed25519"`
	SigVerifyCostSecp256K1 string `json:"sig_verify_cost_secp256k1"`
}

type Authz

type Authz struct {
	Authorization []json.RawMessage `json:"authorization"`
}

type Balances

type Balances struct {
	Address string  `json:"address"`
	Coins   []Coins `json:"coins"`
}

type Bank

type Bank struct {
	Params        BankParams      `json:"params"`
	Balances      []Balances      `json:"balances"`
	Supply        []Supply        `json:"supply"`
	DenomMetadata []DenomMetadata `json:"denom_metadata"`
}

type BankParams

type BankParams struct {
	SendEnabled        []interface{} `json:"send_enabled"`
	DefaultSendEnabled bool          `json:"default_send_enabled"`
}

type BaseAccount

type BaseAccount struct {
	Address       string      `json:"address"`
	PubKey        interface{} `json:"pub_key"`
	AccountNumber string      `json:"account_number"`
	Sequence      string      `json:"sequence"`
}

type BaseVestingAccount

type BaseVestingAccount struct {
	BaseAccount      BaseAccount `json:"base_account"`
	OriginalVesting  []Coins     `json:"original_vesting"`
	DelegatedFree    []Coins     `json:"delegated_free"`
	DelegatedVesting []Coins     `json:"delegated_vesting"`
	EndTime          int64       `json:"end_time,string,omitempty"`
}

type Blob

type Blob struct {
	Namespace    string `json:"namespace"`
	Data         string `json:"data"`
	ShareVersion int    `json:"share_version"`
	Commitment   string `json:"commitment"`
}

type BlobParams

type BlobParams struct {
	GasPerBlobByte   int    `json:"gas_per_blob_byte"`
	GovMaxSquareSize string `json:"gov_max_square_size"`
}

type BlobState

type BlobState struct {
	Params BlobParams `json:"params"`
}

type Body

type Body struct {
	Messages                    []Messages    `json:"messages"`
	Memo                        string        `json:"memo"`
	TimeoutHeight               uint64        `json:"timeout_height,string"`
	ExtensionOptions            []interface{} `json:"extension_options"`
	NonCriticalExtensionOptions []interface{} `json:"non_critical_extension_options"`
}

type Capability

type Capability struct {
	Index  string        `json:"index"`
	Owners []interface{} `json:"owners"`
}

type ChannelGenesis

type ChannelGenesis struct {
	Channels            []interface{} `json:"channels"`
	Acknowledgements    []interface{} `json:"acknowledgements"`
	Commitments         []interface{} `json:"commitments"`
	Receipts            []interface{} `json:"receipts"`
	SendSequences       []interface{} `json:"send_sequences"`
	RecvSequences       []interface{} `json:"recv_sequences"`
	AckSequences        []interface{} `json:"ack_sequences"`
	NextChannelSequence string        `json:"next_channel_sequence"`
}

type ClientGenesis

type ClientGenesis struct {
	Clients            []interface{}       `json:"clients"`
	ClientsConsensus   []interface{}       `json:"clients_consensus"`
	ClientsMetadata    []interface{}       `json:"clients_metadata"`
	Params             ClientGenesisParams `json:"params"`
	CreateLocalhost    bool                `json:"create_localhost"`
	NextClientSequence string              `json:"next_client_sequence"`
}

type ClientGenesisParams

type ClientGenesisParams struct {
	AllowedClients []string `json:"allowed_clients"`
}

type Coins

type Coins struct {
	Denom  string `json:"denom"`
	Amount string `json:"amount"`
}

func (Coins) String

func (c Coins) String() string

type Commission

type Commission struct {
	Rate          string `json:"rate"`
	MaxRate       string `json:"max_rate"`
	MaxChangeRate string `json:"max_change_rate"`
}

type ConnectionGenesis

type ConnectionGenesis struct {
	Connections            []interface{}           `json:"connections"`
	ClientConnectionPaths  []interface{}           `json:"client_connection_paths"`
	NextConnectionSequence string                  `json:"next_connection_sequence"`
	Params                 ConnectionGenesisParams `json:"params"`
}

type ConnectionGenesisParams

type ConnectionGenesisParams struct {
	MaxExpectedTimePerBlock string `json:"max_expected_time_per_block"`
}

type Crisis

type Crisis struct {
	ConstantFee Coins `json:"constant_fee"`
}

type DenomMetadata

type DenomMetadata struct {
	Description string          `json:"description"`
	DenomUnits  json.RawMessage `json:"denom_units"`
	Base        string          `json:"base"`
	Display     string          `json:"display"`
	Name        string          `json:"name"`
	Symbol      string          `json:"symbol"`
	URI         string          `json:"uri"`
	URIHash     string          `json:"uri_hash"`
}

type DepositParams

type DepositParams struct {
	MinDeposit       []Coins `json:"min_deposit"`
	MaxDepositPeriod string  `json:"max_deposit_period"`
}

type Description

type Description struct {
	Moniker         string `json:"moniker"`
	Identity        string `json:"identity"`
	Website         string `json:"website"`
	SecurityContact string `json:"security_contact"`
	Details         string `json:"details"`
}

type Distribution

type Distribution struct {
	Params                          DistributionParams `json:"params"`
	FeePool                         FeePool            `json:"fee_pool"`
	DelegatorWithdrawInfos          []interface{}      `json:"delegator_withdraw_infos"`
	PreviousProposer                string             `json:"previous_proposer"`
	OutstandingRewards              []interface{}      `json:"outstanding_rewards"`
	ValidatorAccumulatedCommissions []interface{}      `json:"validator_accumulated_commissions"`
	ValidatorHistoricalRewards      []interface{}      `json:"validator_historical_rewards"`
	ValidatorCurrentRewards         []interface{}      `json:"validator_current_rewards"`
	DelegatorStartingInfos          []interface{}      `json:"delegator_starting_infos"`
	ValidatorSlashEvents            []interface{}      `json:"validator_slash_events"`
}

type DistributionParams

type DistributionParams struct {
	CommunityTax        string `json:"community_tax"`
	BaseProposerReward  string `json:"base_proposer_reward"`
	BonusProposerReward string `json:"bonus_proposer_reward"`
	WithdrawAddrEnabled bool   `json:"withdraw_addr_enabled"`
}

type Error

type Error struct {
	Code    int64           `json:"code"`
	Message string          `json:"message"`
	Data    json.RawMessage `json:"data"`
}

Error -

func (Error) Error

func (e Error) Error() string

Error -

type Evidence

type Evidence struct {
	Evidence []interface{} `json:"evidence"`
}

type Fee

type Fee struct {
	Amount   []interface{} `json:"amount"`
	GasLimit string        `json:"gas_limit"`
	Payer    string        `json:"payer"`
	Granter  string        `json:"granter"`
}

type FeePool

type FeePool struct {
	CommunityPool []interface{} `json:"community_pool"`
}

type Feegrant

type Feegrant struct {
	FeeGrants []json.RawMessage `json:"allowances"`
}

type Fibre added in v1.20.0

type Fibre struct {
	Params FibreParams `json:"params"`
}

Fibre is present only in genesis of chains launched at app version 10 or later: a chain that upgraded into v10 never had the module at genesis.

type FibreParams added in v1.20.0

type FibreParams struct {
	WithdrawalDelay            string `json:"withdrawal_delay"`
	PaymentPromiseTimeout      string `json:"payment_promise_timeout"`
	PaymentPromiseHeightWindow string `json:"payment_promise_height_window"`
	ShardRetention             string `json:"shard_retention"`
	FullStakeStorageBudget     string `json:"full_stake_storage_budget"`
}

FibreParams holds the params as the SDK codec renders them: durations as protobuf duration strings ("86400s") and uint64 as decimal strings.

type GenTxs

type GenTxs struct {
	Body       Body     `json:"body"`
	AuthInfo   AuthInfo `json:"auth_info"`
	Signatures []string `json:"signatures"`
}

type Genesis

type Genesis struct {
	GenesisTime     time.Time             `json:"genesis_time"`
	ChainID         string                `json:"chain_id"`
	InitialHeight   int64                 `json:"initial_height,string"`
	ConsensusParams types.ConsensusParams `json:"consensus_params"`
	AppHash         types.Hex             `json:"app_hash"`
	AppState        AppState              `json:"app_state"`
}

type GenesisOutput added in v1.14.0

type GenesisOutput struct {
	Genesis

	ModuleAccs []Account
}

type Genutil

type Genutil struct {
	GenTxs []json.RawMessage `json:"gen_txs"`
}

type Gov

type Gov struct {
	StartingProposalID string         `json:"starting_proposal_id"`
	Deposits           []interface{}  `json:"deposits"`
	Votes              []interface{}  `json:"votes"`
	Proposals          []interface{}  `json:"proposals"`
	DepositParams      *DepositParams `json:"deposit_params"`
	Params             *GovParams     `json:"params"`
	VotingParams       *VotingParams  `json:"voting_params"`
	TallyParams        *TallyParams   `json:"tally_params"`
}

func (Gov) GetDepositParams added in v1.19.8

func (gov Gov) GetDepositParams() (DepositParams, error)

func (Gov) GetTallyParams added in v1.19.8

func (gov Gov) GetTallyParams() (TallyParams, error)

func (Gov) GetVotingParams added in v1.19.8

func (gov Gov) GetVotingParams() (VotingParams, error)

type GovParams added in v1.19.8

type GovParams struct {
	MinDeposit                 []Coins `json:"min_deposit"`
	MaxDepositPeriod           string  `json:"max_deposit_period"`
	VotingPeriod               string  `json:"voting_period"`
	Quorum                     string  `json:"quorum"`
	Threshold                  string  `json:"threshold"`
	VetoThreshold              string  `json:"veto_threshold"`
	MinInitialDepositRatio     string  `json:"min_initial_deposit_ratio"`
	ProposalCancelRatio        string  `json:"proposal_cancel_ratio"`
	ProposalCancelDest         string  `json:"proposal_cancel_dest"`
	ExpeditedVotingPeriod      string  `json:"expedited_voting_period"`
	ExpeditedThreshold         string  `json:"expedited_threshold"`
	ExpeditedMinDeposit        []Coins `json:"expedited_min_deposit"`
	BurnVoteQuorum             bool    `json:"burn_vote_quorum"`
	BurnProposalDepositPrevote bool    `json:"burn_proposal_deposit_prevote"`
	BurnVoteVeto               bool    `json:"burn_vote_veto"`
	MinDepositRatio            string  `json:"min_deposit_ratio"`
}

type Ibc

type Ibc struct {
	ClientGenesis     ClientGenesis     `json:"client_genesis"`
	ConnectionGenesis ConnectionGenesis `json:"connection_genesis"`
	ChannelGenesis    ChannelGenesis    `json:"channel_genesis"`
}

type InterchainAccounts added in v1.20.0

type InterchainAccounts struct {
	HostGenesisState struct {
		Port   string                   `json:"port"`
		Params InterchainAccountsParams `json:"params"`
	} `json:"host_genesis_state"`
}

type InterchainAccountsParams added in v1.20.0

type InterchainAccountsParams struct {
	HostEnabled   bool            `json:"host_enabled"`
	AllowMessages json.RawMessage `json:"allow_messages"`
}

type Messages

type Messages struct {
	Type              string      `json:"@type"`
	Description       Description `json:"description"`
	Commission        Commission  `json:"commission"`
	MinSelfDelegation string      `json:"min_self_delegation"`
	DelegatorAddress  string      `json:"delegator_address"`
	ValidatorAddress  string      `json:"validator_address"`
	Pubkey            Pubkey      `json:"pubkey"`
	Value             Coins       `json:"value"`
	EvmAddress        string      `json:"evm_address"`
}

type MinFee added in v1.19.9

type MinFee struct {
	NetworkMinGasPrice string `json:"network_min_gas_price"`
	Params             struct {
		NetworkMinGasPrice string `json:"network_min_gas_price"`
	} `json:"params"`
}

func (MinFee) GetNetworkMinGasPrice added in v1.19.9

func (fee MinFee) GetNetworkMinGasPrice() string

type Mint

type Mint struct {
	Minter Minter `json:"minter"`
}

type Minter

type Minter struct {
	InflationRate     string      `json:"inflation_rate"`
	AnnualProvisions  string      `json:"annual_provisions"`
	PreviousBlockTime interface{} `json:"previous_block_time"`
	BondDenom         string      `json:"bond_denom"`
}

type ModeInfo

type ModeInfo struct {
	Single Single `json:"single"`
}

type Proof

type Proof struct {
	Start int64    `json:"start"`
	End   int64    `json:"end"`
	Nodes []string `json:"nodes"`
}

type Pubkey

type Pubkey struct {
	Type string `json:"@type"`
	Key  string `json:"key"`
}

type Qgb

type Qgb struct {
	Params QgbParams `json:"params"`
}

type QgbParams

type QgbParams struct {
	DataCommitmentWindow string `json:"data_commitment_window"`
}

type Request

type Request struct {
	Method  string `json:"method"`
	Params  []any  `json:"params"`
	Id      int64  `json:"id"`
	JsonRpc string `json:"jsonrpc"`
}

type Response

type Response[T any] struct {
	Id      int64  `json:"id"`
	JsonRpc string `json:"jsonrpc"`
	Error   *Error `json:"error,omitempty"`
	Result  T      `json:"result"`
}

type SignerInfos

type SignerInfos struct {
	PublicKey Pubkey   `json:"public_key"`
	ModeInfo  ModeInfo `json:"mode_info"`
	Sequence  string   `json:"sequence"`
}

type Single

type Single struct {
	Mode string `json:"mode"`
}

type Slashing

type Slashing struct {
	Params       SlashingParams `json:"params"`
	SigningInfos []interface{}  `json:"signing_infos"`
	MissedBlocks []interface{}  `json:"missed_blocks"`
}

type SlashingParams

type SlashingParams struct {
	SignedBlocksWindow      string `json:"signed_blocks_window"`
	MinSignedPerWindow      string `json:"min_signed_per_window"`
	DowntimeJailDuration    string `json:"downtime_jail_duration"`
	SlashFractionDoubleSign string `json:"slash_fraction_double_sign"`
	SlashFractionDowntime   string `json:"slash_fraction_downtime"`
}

type Staking

type Staking struct {
	Params               StakingParams `json:"params"`
	LastTotalPower       string        `json:"last_total_power"`
	LastValidatorPowers  []interface{} `json:"last_validator_powers"`
	Validators           []interface{} `json:"validators"`
	Delegations          []interface{} `json:"delegations"`
	UnbondingDelegations []interface{} `json:"unbonding_delegations"`
	Redelegations        []interface{} `json:"redelegations"`
	Exported             bool          `json:"exported"`
}

type StakingParams

type StakingParams struct {
	UnbondingTime     string `json:"unbonding_time"`
	MaxValidators     int    `json:"max_validators"`
	MaxEntries        int    `json:"max_entries"`
	HistoricalEntries int    `json:"historical_entries"`
	BondDenom         string `json:"bond_denom"`
	MinCommissionRate string `json:"min_commission_rate"`
}

type Supply

type Supply struct {
	Denom  string `json:"denom"`
	Amount string `json:"amount"`
}

type TallyParams

type TallyParams struct {
	Quorum        string `json:"quorum"`
	Threshold     string `json:"threshold"`
	VetoThreshold string `json:"veto_threshold"`
}

type Transfer

type Transfer struct {
	PortID      string         `json:"port_id"`
	DenomTraces []interface{}  `json:"denom_traces"`
	Params      TransferParams `json:"params"`
}

type TransferParams

type TransferParams struct {
	SendEnabled    bool `json:"send_enabled"`
	ReceiveEnabled bool `json:"receive_enabled"`
}

type Vesting

type Vesting struct {
}

type VestingPeriod added in v1.7.0

type VestingPeriod struct {
	Length int64   `json:"length,string"`
	Amount []Coins `json:"amount"`
}

type VotingParams

type VotingParams struct {
	VotingPeriod string `json:"voting_period"`
}

Jump to

Keyboard shortcuts

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