Documentation ¶
Overview ¶
Package cosmos provides an implementation of ibc.Chain backed by Cosmos-based blockchains.
Index ¶
- Constants
- Variables
- func BroadcastTx(ctx context.Context, broadcaster *Broadcaster, broadcastingUser User, ...) (sdk.TxResponse, error)
- func CondenseMoniker(m string) string
- func DefaultEncoding() testutil.TestEncodingConfig
- func ModifyGenesis(genesisKV []GenesisKV) func(ibc.ChainConfig, []byte) ([]byte, error)
- func NewCosmosHeighlinerChainConfig(name string, binary string, bech32Prefix string, denom string, ...) ibc.ChainConfig
- func NewWallet(keyname string, address []byte, mnemonic string, chainCfg ibc.ChainConfig) ibc.Wallet
- func OsmosisCreatePool(c *CosmosChain, ctx context.Context, keyName string, params OsmosisPoolParams) (string, error)
- func OsmosisSwapExactAmountIn(c *CosmosChain, ctx context.Context, keyName string, coinIn string, ...) (string, error)
- func PollForBalance(ctx context.Context, chain *CosmosChain, deltaBlocks int64, ...) error
- func PollForMessage[T any](ctx context.Context, chain *CosmosChain, registry codectypes.InterfaceRegistry, ...) (T, error)
- func PollForProposalStatus(ctx context.Context, chain *CosmosChain, ...) (*govv1beta1.Proposal, error)
- func PollForProposalStatusV1(ctx context.Context, chain *CosmosChain, startHeight, maxHeight int64, ...) (*govv1.Proposal, error)
- func RangeBlockMessages(ctx context.Context, interfaceRegistry codectypes.InterfaceRegistry, ...) error
- func SetSDKConfig(bech32Prefix string) *sdk.Config
- func TokenFactoryBurnDenom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64) (string, error)
- func TokenFactoryBurnDenomFrom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64, ...) (string, error)
- func TokenFactoryChangeAdmin(c *CosmosChain, ctx context.Context, keyName, fullDenom, newAdmin string) (string, error)
- func TokenFactoryCreateDenom(c *CosmosChain, ctx context.Context, user ibc.Wallet, denomName string, ...) (string, string, error)
- func TokenFactoryForceTransferDenom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64, ...) (string, error)
- func TokenFactoryMetadata(c *CosmosChain, ctx context.Context, ...) (string, error)
- func TokenFactoryMintDenom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64) (string, error)
- func TokenFactoryMintDenomTo(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64, ...) (string, error)
- type AccountRetriever
- func (ar AccountRetriever) EnsureExists(clientCtx client.Context, addr sdk.AccAddress) error
- func (ar AccountRetriever) GetAccount(clientCtx client.Context, addr sdk.AccAddress) (client.Account, error)
- func (ar AccountRetriever) GetAccountNumberSequence(clientCtx client.Context, addr sdk.AccAddress) (uint64, uint64, error)
- func (ar AccountRetriever) GetAccountWithHeight(clientCtx client.Context, addr sdk.AccAddress) (client.Account, int64, error)
- type BankMetaData
- type BinaryBuildInformation
- type Broadcaster
- func (b *Broadcaster) ConfigureClientContextOptions(opts ...ClientContextOpt)
- func (b *Broadcaster) ConfigureFactoryOptions(opts ...FactoryOpt)
- func (b *Broadcaster) GetClientContext(ctx context.Context, user User) (client.Context, error)
- func (b *Broadcaster) GetFactory(ctx context.Context, user User) (tx.Factory, error)
- func (b *Broadcaster) GetTxResponseBytes(ctx context.Context, user User) ([]byte, error)
- func (b *Broadcaster) UnmarshalTxResponseBytes(ctx context.Context, bytes []byte) (sdk.TxResponse, error)
- type BuildDependency
- type ChainNode
- func (tn *ChainNode) AccountKeyBech32(ctx context.Context, name string) (string, error)
- func (tn *ChainNode) AddGenesisAccount(ctx context.Context, address string, genesisAmount []types.Coin) error
- func (tn *ChainNode) BinCommand(command ...string) []string
- func (tn *ChainNode) Bind() []string
- func (tn *ChainNode) CliContext() client.Context
- func (tn *ChainNode) CollectGentxs(ctx context.Context) error
- func (tn *ChainNode) ConsumerAdditionProposal(ctx context.Context, keyName string, ...) (string, error)
- func (tn *ChainNode) ContainerID() string
- func (tn *ChainNode) CopyFile(ctx context.Context, srcPath, dstPath string) error
- func (tn *ChainNode) CreateKey(ctx context.Context, name string) error
- func (tn *ChainNode) CreateNodeContainer(ctx context.Context) error
- func (tn *ChainNode) DumpContractState(ctx context.Context, contractAddress string, height int64) (*DumpContractStateResponse, error)
- func (tn *ChainNode) Exec(ctx context.Context, cmd []string, env []string) ([]byte, []byte, error)
- func (tn *ChainNode) ExecBin(ctx context.Context, command ...string) ([]byte, []byte, error)
- func (tn *ChainNode) ExecQuery(ctx context.Context, command ...string) ([]byte, []byte, error)
- func (tn *ChainNode) ExecTx(ctx context.Context, keyName string, command ...string) (string, error)
- func (tn *ChainNode) ExecuteContract(ctx context.Context, keyName string, contractAddress string, message string, ...) (res *types.TxResponse, err error)
- func (tn *ChainNode) ExportState(ctx context.Context, height int64) (string, error)
- func (tn *ChainNode) FindTxs(ctx context.Context, height int64) ([]blockdb.Tx, error)
- func (tn *ChainNode) GenesisFileContent(ctx context.Context) ([]byte, error)
- func (tn *ChainNode) Gentx(ctx context.Context, name string, genesisSelfDelegation types.Coin) error
- func (tn *ChainNode) GetBuildInformation(ctx context.Context) *BinaryBuildInformation
- func (tn *ChainNode) GetHostAddress(ctx context.Context, portID string) (string, error)
- func (tn *ChainNode) GetModuleAccount(ctx context.Context, moduleName string) (QueryModuleAccountResponse, error)
- func (tn *ChainNode) GetModuleAddress(ctx context.Context, moduleName string) (string, error)
- func (tn *ChainNode) GetTransaction(clientCtx client.Context, txHash string) (*types.TxResponse, error)
- func (tn *ChainNode) HasCommand(ctx context.Context, command ...string) bool
- func (tn *ChainNode) Height(ctx context.Context) (int64, error)
- func (tn *ChainNode) HomeDir() string
- func (tn *ChainNode) HostName() string
- func (tn *ChainNode) ICSVersion(ctx context.Context) string
- func (tn *ChainNode) InitFullNodeFiles(ctx context.Context) error
- func (tn *ChainNode) InitHomeFolder(ctx context.Context) error
- func (tn *ChainNode) InitValidatorGenTx(ctx context.Context, chainType *ibc.ChainConfig, genesisAmounts []types.Coin, ...) error
- func (tn *ChainNode) InstantiateContract(ctx context.Context, keyName string, codeID string, initMessage string, ...) (string, error)
- func (tn *ChainNode) IsAboveSDK47(ctx context.Context) bool
- func (tn *ChainNode) KeyBech32(ctx context.Context, name string, bech string) (string, error)
- func (tn *ChainNode) MigrateContract(ctx context.Context, keyName string, contractAddress string, codeID string, ...) (res *types.TxResponse, err error)
- func (tn *ChainNode) Name() string
- func (tn *ChainNode) NewClient(addr string) error
- func (tn *ChainNode) NewSidecarProcess(ctx context.Context, preStart bool, processName string, ...) error
- func (tn *ChainNode) NodeCommand(command ...string) []string
- func (tn *ChainNode) NodeID(ctx context.Context) (string, error)
- func (tn *ChainNode) OverwriteGenesisFile(ctx context.Context, content []byte) error
- func (tn *ChainNode) OverwritePrivValFile(ctx context.Context, content []byte) error
- func (tn *ChainNode) ParamChangeProposal(ctx context.Context, keyName string, prop *paramsutils.ParamChangeProposalJSON) (string, error)
- func (tn *ChainNode) PauseContainer(ctx context.Context) error
- func (tn *ChainNode) PrivValFileContent(ctx context.Context) ([]byte, error)
- func (tn *ChainNode) QueryBankMetadata(ctx context.Context, denom string) (*BankMetaData, error)
- func (tn *ChainNode) QueryClientContractCode(ctx context.Context, codeHash string, response any) error
- func (tn *ChainNode) QueryCommand(command ...string) []string
- func (tn *ChainNode) QueryContract(ctx context.Context, contractAddress string, queryMsg any, response any) error
- func (tn *ChainNode) QueryICA(ctx context.Context, connectionID, address string) (string, error)
- func (tn *ChainNode) QueryParam(ctx context.Context, subspace, key string) (*ParamChange, error)
- func (tn *ChainNode) QueryProposal(ctx context.Context, proposalID string) (*ProposalResponse, error)
- func (tn *ChainNode) ReadFile(ctx context.Context, relPath string) ([]byte, error)
- func (tn *ChainNode) RecoverKey(ctx context.Context, keyName, mnemonic string) error
- func (tn *ChainNode) RegisterICA(ctx context.Context, keyName, connectionID string) (string, error)
- func (tn *ChainNode) RemoveContainer(ctx context.Context) error
- func (tn *ChainNode) SendFunds(ctx context.Context, keyName string, amount ibc.WalletAmount) error
- func (tn *ChainNode) SendIBCTransfer(ctx context.Context, channelID string, keyName string, amount ibc.WalletAmount, ...) (string, error)
- func (tn *ChainNode) SendICABankTransfer(ctx context.Context, connectionID, fromAddr string, amount ibc.WalletAmount) error
- func (tn *ChainNode) SendICATx(ctx context.Context, keyName, connectionID string, ...) (string, error)
- func (tn *ChainNode) SetPeers(ctx context.Context, peers string) error
- func (tn *ChainNode) SetTestConfig(ctx context.Context) error
- func (tn *ChainNode) StakingDelegate(ctx context.Context, keyName, validatorAddr, amount string) error
- func (tn *ChainNode) StartContainer(ctx context.Context) error
- func (tn *ChainNode) StopContainer(ctx context.Context) error
- func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fileName string, ...) (string, error)
- func (tn *ChainNode) StoreContract(ctx context.Context, keyName string, fileName string, ...) (string, error)
- func (tn *ChainNode) SubmitProposal(ctx context.Context, keyName string, prop TxProposalv1) (string, error)
- func (tn *ChainNode) TextProposal(ctx context.Context, keyName string, prop TextProposal) (string, error)
- func (tn *ChainNode) TxCommand(keyName string, command ...string) []string
- func (tn *ChainNode) UnpauseContainer(ctx context.Context) error
- func (tn *ChainNode) UnsafeResetAll(ctx context.Context) error
- func (tn *ChainNode) UpgradeProposal(ctx context.Context, keyName string, prop SoftwareUpgradeProposal) (string, error)
- func (tn *ChainNode) VoteOnProposal(ctx context.Context, keyName string, proposalID int64, vote string) error
- func (tn *ChainNode) WriteFile(ctx context.Context, content []byte, relPath string) error
- type ChainNodes
- type ClientContextOpt
- type CodeInfo
- type CodeInfosResponse
- type ContractStateModels
- type CosmosChain
- func (c *CosmosChain) AccAddressFromBech32(address string) (addr sdk.AccAddress, err error)
- func (c *CosmosChain) AccAddressToBech32(addr sdk.AccAddress) (string, error)
- func (c *CosmosChain) Acknowledgements(ctx context.Context, height int64) ([]ibc.PacketAcknowledgement, error)
- func (c *CosmosChain) AddFullNodes(ctx context.Context, configFileOverrides map[string]any, inc int) error
- func (c *CosmosChain) AllBalances(ctx context.Context, address string) (types.Coins, error)
- func (c *CosmosChain) BankQueryBalance(ctx context.Context, address string, denom string) (sdkmath.Int, error)
- func (c *CosmosChain) BuildProposal(messages []cosmosproto.Message, title, summary, metadata, depositStr string) (TxProposalv1, error)
- func (c *CosmosChain) BuildRelayerWallet(ctx context.Context, keyName string) (ibc.Wallet, error)
- func (c *CosmosChain) BuildWallet(ctx context.Context, keyName string, mnemonic string) (ibc.Wallet, error)
- func (c *CosmosChain) Config() ibc.ChainConfig
- func (c *CosmosChain) ConsumerAdditionProposal(ctx context.Context, keyName string, ...) (tx TxProposal, _ error)
- func (c *CosmosChain) CreateKey(ctx context.Context, keyName string) error
- func (c *CosmosChain) DumpContractState(ctx context.Context, contractAddress string, height int64) (*DumpContractStateResponse, error)
- func (c *CosmosChain) Exec(ctx context.Context, cmd []string, env []string) (stdout, stderr []byte, err error)
- func (c *CosmosChain) ExecuteContract(ctx context.Context, keyName string, contractAddress string, message string, ...) (res *types.TxResponse, err error)
- func (c *CosmosChain) ExportState(ctx context.Context, height int64) (string, error)
- func (c *CosmosChain) FindTxs(ctx context.Context, height int64) ([]blockdb.Tx, error)
- func (c *CosmosChain) FinishICSProviderSetup(ctx context.Context, r ibc.Relayer, eRep *testreporter.RelayerExecReporter, ...) error
- func (c *CosmosChain) FlushPendingICSPackets(ctx context.Context, r ibc.Relayer, eRep *testreporter.RelayerExecReporter, ...) error
- func (c *CosmosChain) GetAPIAddress() string
- func (c *CosmosChain) GetAddress(ctx context.Context, keyName string) ([]byte, error)
- func (c *CosmosChain) GetBalance(ctx context.Context, address string, denom string) (sdkmath.Int, error)
- func (c *CosmosChain) GetGRPCAddress() string
- func (c *CosmosChain) GetGasFeesInNativeDenom(gasPaid int64) int64
- func (c *CosmosChain) GetGovernanceAddress(ctx context.Context) (string, error)
- func (c *CosmosChain) GetHostAPIAddress() string
- func (c *CosmosChain) GetHostGRPCAddress() string
- func (c *CosmosChain) GetHostRPCAddress() string
- func (c *CosmosChain) GetModuleAddress(ctx context.Context, moduleName string) (string, error)
- func (c *CosmosChain) GetNode() *ChainNode
- func (c *CosmosChain) GetRPCAddress() string
- func (c *CosmosChain) GetTransaction(txhash string) (*types.TxResponse, error)
- func (c *CosmosChain) GovQueryParams(ctx context.Context, paramsType string) (*govv1.Params, error)
- func (c *CosmosChain) GovQueryProposal(ctx context.Context, proposalID int64) (*govv1beta1.Proposal, error)
- func (c *CosmosChain) GovQueryProposalV1(ctx context.Context, proposalID int64) (*govv1.Proposal, error)
- func (c *CosmosChain) GovQueryProposalsV1(ctx context.Context, status govv1.ProposalStatus) ([]*govv1.Proposal, error)
- func (c *CosmosChain) GovQueryVote(ctx context.Context, proposalID uint64, voter string) (*govv1.Vote, error)
- func (c *CosmosChain) GovQueryVotes(ctx context.Context, proposalID uint64) ([]*govv1.Vote, error)
- func (c *CosmosChain) Height(ctx context.Context) (int64, error)
- func (c *CosmosChain) HomeDir() string
- func (c *CosmosChain) Initialize(ctx context.Context, testName string, cli *client.Client, networkID string) error
- func (c *CosmosChain) InstantiateContract(ctx context.Context, keyName string, codeID string, initMessage string, ...) (string, error)
- func (c *CosmosChain) MigrateContract(ctx context.Context, keyName string, contractAddress string, codeID string, ...) (res *types.TxResponse, err error)
- func (c *CosmosChain) NewChainNode(ctx context.Context, testName string, cli *client.Client, networkID string, ...) (*ChainNode, error)
- func (c *CosmosChain) NewSidecarProcess(ctx context.Context, preStart bool, processName string, testName string, ...) error
- func (c *CosmosChain) Nodes() ChainNodes
- func (c *CosmosChain) ParamChangeProposal(ctx context.Context, keyName string, prop *paramsutils.ParamChangeProposalJSON) (tx TxProposal, _ error)
- func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName string, fileName string, prop TxProposalv1) (TxProposal, string, error)
- func (c *CosmosChain) QueryBankMetadata(ctx context.Context, denom string) (*BankMetaData, error)
- func (c *CosmosChain) QueryClientContractCode(ctx context.Context, codeHash string, response any) error
- func (c *CosmosChain) QueryContract(ctx context.Context, contractAddress string, query any, response any) error
- func (c *CosmosChain) QueryICAAddress(ctx context.Context, connectionID, address string) (string, error)
- func (c *CosmosChain) QueryParam(ctx context.Context, subspace, key string) (*ParamChange, error)
- func (c *CosmosChain) QueryProposal(ctx context.Context, proposalID string) (*ProposalResponse, error)
- func (c *CosmosChain) RecoverKey(ctx context.Context, keyName, mnemonic string) error
- func (c *CosmosChain) RegisterICA(ctx context.Context, keyName string, connectionID string) (string, error)
- func (c *CosmosChain) SendFunds(ctx context.Context, keyName string, amount ibc.WalletAmount) error
- func (c *CosmosChain) SendIBCTransfer(ctx context.Context, channelID string, keyName string, amount ibc.WalletAmount, ...) (tx ibc.Tx, _ error)
- func (c *CosmosChain) SendICATx(ctx context.Context, keyName, connectionID string, msgs []sdk.Msg, ...) (string, error)
- func (c *CosmosChain) StakingQueryDelegationsTo(ctx context.Context, validator string) ([]*stakingtypes.DelegationResponse, error)
- func (c *CosmosChain) StakingQueryValidators(ctx context.Context, status string) ([]stakingtypes.Validator, error)
- func (c *CosmosChain) Start(testName string, ctx context.Context, ...) error
- func (c *CosmosChain) StartAllNodes(ctx context.Context) error
- func (c *CosmosChain) StartAllSidecars(ctx context.Context) error
- func (c *CosmosChain) StartAllValSidecars(ctx context.Context) error
- func (c *CosmosChain) StartConsumer(testName string, ctx context.Context, ...) error
- func (c *CosmosChain) StartProvider(testName string, ctx context.Context, ...) error
- func (c *CosmosChain) StopAllNodes(ctx context.Context) error
- func (c *CosmosChain) StopAllSidecars(ctx context.Context) error
- func (c *CosmosChain) StoreClientContract(ctx context.Context, keyName string, fileName string, ...) (string, error)
- func (c *CosmosChain) StoreContract(ctx context.Context, keyName string, fileName string, ...) (string, error)
- func (c *CosmosChain) SubmitProposal(ctx context.Context, keyName string, prop TxProposalv1) (tx TxProposal, _ error)
- func (c *CosmosChain) TextProposal(ctx context.Context, keyName string, prop TextProposal) (tx TxProposal, _ error)
- func (c *CosmosChain) Timeouts(ctx context.Context, height int64) ([]ibc.PacketTimeout, error)
- func (c *CosmosChain) UpgradeProposal(ctx context.Context, keyName string, prop SoftwareUpgradeProposal) (tx TxProposal, _ error)
- func (c *CosmosChain) UpgradeVersion(ctx context.Context, cli *client.Client, containerRepo, version string)
- func (c *CosmosChain) VoteOnProposalAllValidators(ctx context.Context, proposalID int64, vote string) error
- type CosmosTx
- type CosmosWallet
- type DenomAuthorityMetadata
- type DumpContractStateResponse
- type FactoryOpt
- type GenesisFile
- type GenesisKV
- type GenesisValidatorPubKey
- type GenesisValidators
- type InstantiateContractAttribute
- type InstantiateContractEvent
- type InstantiateContractLog
- type InstantiateContractResponse
- type OsmosisPoolParams
- type ParamChange
- type PrivValidatorKey
- type PrivValidatorKeyFile
- type ProposalContent
- type ProposalDeposit
- type ProposalFinalTallyResult
- type ProposalResponse
- type QueryContractResponse
- type QueryDenomAuthorityMetadataResponse
- type QueryModuleAccountResponse
- type SidecarProcess
- func (s *SidecarProcess) Bind() []string
- func (s *SidecarProcess) CopyFile(ctx context.Context, srcPath, dstPath string) error
- func (s *SidecarProcess) CreateContainer(ctx context.Context) error
- func (s *SidecarProcess) Exec(ctx context.Context, cmd []string, env []string) ([]byte, []byte, error)
- func (s *SidecarProcess) GetHostPorts(ctx context.Context, portIDs ...string) ([]string, error)
- func (s *SidecarProcess) HomeDir() string
- func (s *SidecarProcess) HostName() string
- func (s *SidecarProcess) Name() string
- func (s *SidecarProcess) PauseContainer(ctx context.Context) error
- func (s *SidecarProcess) ReadFile(ctx context.Context, relPath string) ([]byte, error)
- func (s *SidecarProcess) RemoveContainer(ctx context.Context) error
- func (s *SidecarProcess) StartContainer(ctx context.Context) error
- func (s *SidecarProcess) StopContainer(ctx context.Context) error
- func (s *SidecarProcess) UnpauseContainer(ctx context.Context) error
- func (s *SidecarProcess) WriteFile(ctx context.Context, content []byte, relPath string) error
- type SidecarProcesses
- type SoftwareUpgradeProposal
- type TextProposal
- type TxProposal
- type TxProposalv1
- type User
- type ValidatorWithIntPower
Constants ¶
const ( ProposalVoteYes = "yes" ProposalVoteNo = "no" ProposalVoteNoWithVeto = "noWithVeto" ProposalVoteAbstain = "abstain" )
Variables ¶
var (
DefaultProviderUnbondingPeriod = 504 * time.Hour
)
Functions ¶
func BroadcastTx ¶
func BroadcastTx(ctx context.Context, broadcaster *Broadcaster, broadcastingUser User, msgs ...sdk.Msg) (sdk.TxResponse, error)
BroadcastTx uses the provided Broadcaster to broadcast all the provided messages which will be signed by the User provided. The sdk.TxResponse and an error are returned.
func CondenseMoniker ¶
CondenseMoniker fits a moniker into the cosmos character limit for monikers. If the moniker already fits, it is returned unmodified. Otherwise, the middle is truncated, and a hash is appended to the end in case the only unique data was in the middle.
func DefaultEncoding ¶
func DefaultEncoding() testutil.TestEncodingConfig
func ModifyGenesis ¶
func OsmosisCreatePool ¶
func OsmosisCreatePool(c *CosmosChain, ctx context.Context, keyName string, params OsmosisPoolParams) (string, error)
func PollForBalance ¶
func PollForBalance(ctx context.Context, chain *CosmosChain, deltaBlocks int64, balance ibc.WalletAmount) error
PollForBalance polls until the balance matches
func PollForMessage ¶
func PollForMessage[T any](ctx context.Context, chain *CosmosChain, registry codectypes.InterfaceRegistry, startHeight, maxHeight int64, fn func(found T) bool) (T, error)
PollForMessage searches every transaction for a message. Must pass a coded registry capable of decoding the cosmos transaction. fn is optional. Return true from the fn to stop polling and return the found message. If fn is nil, returns the first message to match type T.
func PollForProposalStatus ¶
func PollForProposalStatus(ctx context.Context, chain *CosmosChain, startHeight, maxHeight, proposalID int64, status govv1beta1.ProposalStatus) (*govv1beta1.Proposal, error)
PollForProposalStatus attempts to find a proposal with matching ID and status.
func PollForProposalStatusV1 ¶ added in v7.1.0
func PollForProposalStatusV1(ctx context.Context, chain *CosmosChain, startHeight, maxHeight int64, proposalID int64, status govv1.ProposalStatus) (*govv1.Proposal, error)
PollForProposalStatus attempts to find a proposal with matching ID and status using gov v1.
func RangeBlockMessages ¶
func RangeBlockMessages(ctx context.Context, interfaceRegistry codectypes.InterfaceRegistry, client blockClient, height int64, done func(sdk.Msg) bool) error
RangeBlockMessages iterates through all a block's transactions and each transaction's messages yielding to f. Return true from f to stop iteration.
func SetSDKConfig ¶
func TokenFactoryBurnDenom ¶
func TokenFactoryBurnDenom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64) (string, error)
TokenFactoryBurnDenom burns a tokenfactory denomination from the holders account.
func TokenFactoryBurnDenomFrom ¶
func TokenFactoryBurnDenomFrom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64, fromAddr string) (string, error)
TokenFactoryBurnDenomFrom burns a tokenfactory denomination from any other users account. Only the admin of the token can perform this action.
func TokenFactoryChangeAdmin ¶
func TokenFactoryChangeAdmin(c *CosmosChain, ctx context.Context, keyName, fullDenom, newAdmin string) (string, error)
TokenFactoryChangeAdmin moves the admin of a tokenfactory token to a new address.
func TokenFactoryCreateDenom ¶
func TokenFactoryCreateDenom(c *CosmosChain, ctx context.Context, user ibc.Wallet, denomName string, gas uint64) (string, string, error)
TokenFactoryCreateDenom creates a new tokenfactory token in the format 'factory/accountaddress/name'. This token will be viewable by standard bank balance queries and send functionality. Depending on the chain parameters, this may require a lot of gas (Juno, Osmosis) if the DenomCreationGasConsume param is enabled. If not, the default implementation cost 10,000,000 micro tokens (utoken) of the chain's native token.
func TokenFactoryForceTransferDenom ¶
func TokenFactoryForceTransferDenom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64, fromAddr, toAddr string) (string, error)
TokenFactoryForceTransferDenom force moves a token from 1 account to another. Only the admin of the token can perform this action.
func TokenFactoryMetadata ¶
func TokenFactoryMetadata(c *CosmosChain, ctx context.Context, keyName, fullDenom, ticker, description string, exponent uint64) (string, error)
TokenFactoryMetadata sets the x/bank metadata for a tokenfactory token. This gives the token more detailed information to be queried by frontend UIs and other applications. Only the admin of the token can perform this action.
func TokenFactoryMintDenom ¶
func TokenFactoryMintDenom(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64) (string, error)
TokenFactoryMintDenom mints a tokenfactory denomination to the admins account. Only the admin of the token can perform this action.
func TokenFactoryMintDenomTo ¶
func TokenFactoryMintDenomTo(c *CosmosChain, ctx context.Context, keyName, fullDenom string, amount uint64, toAddr string) (string, error)
TokenFactoryMintDenomTo mints a token to any external account. Only the admin of the token can perform this action.
Types ¶
type AccountRetriever ¶ added in v7.1.0
type AccountRetriever struct {
// contains filtered or unexported fields
}
AccountRetriever defines the properties of a type that can be used to retrieve accounts.
func (AccountRetriever) EnsureExists ¶ added in v7.1.0
func (ar AccountRetriever) EnsureExists(clientCtx client.Context, addr sdk.AccAddress) error
EnsureExists returns an error if no account exists for the given address else nil.
func (AccountRetriever) GetAccount ¶ added in v7.1.0
func (ar AccountRetriever) GetAccount(clientCtx client.Context, addr sdk.AccAddress) (client.Account, error)
GetAccount queries for an account given an address and a block height. An error is returned if the query or decoding fails.
func (AccountRetriever) GetAccountNumberSequence ¶ added in v7.1.0
func (ar AccountRetriever) GetAccountNumberSequence(clientCtx client.Context, addr sdk.AccAddress) (uint64, uint64, error)
GetAccountNumberSequence returns sequence and account number for the given address. It returns an error if the account couldn't be retrieved from the state.
func (AccountRetriever) GetAccountWithHeight ¶ added in v7.1.0
func (ar AccountRetriever) GetAccountWithHeight(clientCtx client.Context, addr sdk.AccAddress) (client.Account, int64, error)
GetAccountWithHeight queries for an account given an address. Returns the height of the query with the account. An error is returned if the query or decoding fails.
type BankMetaData ¶
type BankMetaData struct { Metadata struct { Description string `json:"description"` DenomUnits []struct { Denom string `json:"denom"` Exponent int `json:"exponent"` Aliases []string `json:"aliases"` } `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"` } `json:"metadata"` }
type BinaryBuildInformation ¶
type BinaryBuildInformation struct { Name string `json:"name"` ServerName string `json:"server_name"` Version string `json:"version"` Commit string `json:"commit"` BuildTags string `json:"build_tags"` Go string `json:"go"` BuildDeps []BuildDependency `json:"build_deps"` CosmosSdkVersion string `json:"cosmos_sdk_version"` }
type Broadcaster ¶
type Broadcaster struct {
// contains filtered or unexported fields
}
func NewBroadcaster ¶
func NewBroadcaster(t *testing.T, chain *CosmosChain) *Broadcaster
NewBroadcaster returns a instance of Broadcaster which can be used with broadcast.Tx to broadcast messages sdk messages.
func (*Broadcaster) ConfigureClientContextOptions ¶
func (b *Broadcaster) ConfigureClientContextOptions(opts ...ClientContextOpt)
ConfigureClientContextOptions ensure the given configuration functions are run when calling GetClientContext after all default options have been applied.
func (*Broadcaster) ConfigureFactoryOptions ¶
func (b *Broadcaster) ConfigureFactoryOptions(opts ...FactoryOpt)
ConfigureFactoryOptions ensure the given configuration functions are run when calling GetFactory after all default options have been applied.
func (*Broadcaster) GetClientContext ¶
GetClientContext returns a client context that is configured with this Broadcaster's CosmosChain and the provided user. ConfigureClientContextOptions can be used to configure arbitrary options to configure the returned client.Context.
func (*Broadcaster) GetFactory ¶
GetFactory returns an instance of tx.Factory that is configured with this Broadcaster's CosmosChain and the provided user. ConfigureFactoryOptions can be used to specify arbitrary options to configure the returned factory.
func (*Broadcaster) GetTxResponseBytes ¶
GetTxResponseBytes returns the sdk.TxResponse bytes which returned from broadcast.Tx.
func (*Broadcaster) UnmarshalTxResponseBytes ¶
func (b *Broadcaster) UnmarshalTxResponseBytes(ctx context.Context, bytes []byte) (sdk.TxResponse, error)
UnmarshalTxResponseBytes accepts the sdk.TxResponse bytes and unmarshalls them into an instance of sdk.TxResponse.
type BuildDependency ¶
type ChainNode ¶
type ChainNode struct { VolumeName string Index int Chain ibc.Chain Validator bool NetworkID string DockerClient *dockerclient.Client Client rpcclient.Client GrpcConn *grpc.ClientConn TestName string Image ibc.DockerImage // Additional processes that need to be run on a per-validator basis. Sidecars SidecarProcesses // contains filtered or unexported fields }
ChainNode represents a node in the test network that is being created
func NewChainNode ¶
func NewChainNode(log *zap.Logger, validator bool, chain *CosmosChain, dockerClient *dockerclient.Client, networkID string, testName string, image ibc.DockerImage, index int) *ChainNode
func (*ChainNode) AccountKeyBech32 ¶
AccountKeyBech32 retrieves the named key's address in bech32 account format.
func (*ChainNode) AddGenesisAccount ¶
func (tn *ChainNode) AddGenesisAccount(ctx context.Context, address string, genesisAmount []types.Coin) error
AddGenesisAccount adds a genesis account for each key
func (*ChainNode) BinCommand ¶
BinCommand is a helper to retrieve a full command for a chain node binary. For example, if chain node binary is `gaiad`, and desired command is `gaiad keys show key1`, pass ("keys", "show", "key1") for command to return the full command. Will include additional flags for home directory and chain ID.
func (*ChainNode) CliContext ¶
CliContext creates a new Cosmos SDK client context
func (*ChainNode) CollectGentxs ¶
CollectGentxs runs collect gentxs on the node's home folders
func (*ChainNode) ConsumerAdditionProposal ¶
func (*ChainNode) ContainerID ¶
func (*ChainNode) CopyFile ¶
CopyFile adds a file from the host filesystem to the docker filesystem relPath describes the location of the file in the docker volume relative to the home directory
func (*ChainNode) CreateKey ¶
CreateKey creates a key in the keyring backend test for the given node
func (*ChainNode) CreateNodeContainer ¶
func (*ChainNode) DumpContractState ¶
func (tn *ChainNode) DumpContractState(ctx context.Context, contractAddress string, height int64) (*DumpContractStateResponse, error)
DumpContractState dumps the state of a contract at a block height.
func (*ChainNode) ExecBin ¶
ExecBin is a helper to execute a command for a chain node binary. For example, if chain node binary is `gaiad`, and desired command is `gaiad keys show key1`, pass ("keys", "show", "key1") for command to execute the command against the node. Will include additional flags for home directory and chain ID.
func (*ChainNode) ExecQuery ¶
ExecQuery is a helper to execute a query command. For example, if chain node binary is gaiad, and desired command is `gaiad query gov params`, pass ("gov", "params") for command to execute the query against the node. Returns response in json format.
func (*ChainNode) ExecTx ¶
ExecTx executes a transaction, waits for 2 blocks if successful, then returns the tx hash.
func (*ChainNode) ExecuteContract ¶
func (tn *ChainNode) ExecuteContract(ctx context.Context, keyName string, contractAddress string, message string, extraExecTxArgs ...string) (res *types.TxResponse, err error)
ExecuteContract executes a contract transaction with a message using it's address.
func (*ChainNode) ExportState ¶
func (*ChainNode) GenesisFileContent ¶
func (*ChainNode) Gentx ¶
func (tn *ChainNode) Gentx(ctx context.Context, name string, genesisSelfDelegation types.Coin) error
Gentx generates the gentx for a given node
func (*ChainNode) GetBuildInformation ¶
func (tn *ChainNode) GetBuildInformation(ctx context.Context) *BinaryBuildInformation
GetBuildInformation returns the build information and dependencies for the chain binary.
func (*ChainNode) GetHostAddress ¶ added in v7.1.0
GetHostAddress returns the host-accessible url for a port in the container. This is useful for finding the url & random host port for ports exposed via ChainConfig.ExposeAdditionalPorts
func (*ChainNode) GetModuleAccount ¶
func (tn *ChainNode) GetModuleAccount(ctx context.Context, moduleName string) (QueryModuleAccountResponse, error)
GetModuleAccount performs a query to get the account details of the specified chain module
func (*ChainNode) GetModuleAddress ¶
GetModuleAddress performs a query to get the address of the specified chain module
func (*ChainNode) GetTransaction ¶
func (*ChainNode) HasCommand ¶
HasCommand checks if a command in the chain binary is available.
func (*ChainNode) ICSVersion ¶ added in v7.1.0
ICSVersion returns the version of interchain-security the binary was built with. If it doesn't depend on interchain-security, it returns an empty string.
func (*ChainNode) InitFullNodeFiles ¶
func (*ChainNode) InitHomeFolder ¶
InitHomeFolder initializes a home folder for the given node
func (*ChainNode) InitValidatorGenTx ¶
func (tn *ChainNode) InitValidatorGenTx( ctx context.Context, chainType *ibc.ChainConfig, genesisAmounts []types.Coin, genesisSelfDelegation types.Coin, ) error
InitValidatorFiles creates the node files and signs a genesis transaction
func (*ChainNode) InstantiateContract ¶
func (tn *ChainNode) InstantiateContract(ctx context.Context, keyName string, codeID string, initMessage string, needsNoAdminFlag bool, extraExecTxArgs ...string) (string, error)
InstantiateContract takes a code id for a smart contract and initialization message and returns the instantiated contract address.
func (*ChainNode) KeyBech32 ¶
KeyBech32 retrieves the named key's address in bech32 format from the node. bech is the bech32 prefix (acc|val|cons). If empty, defaults to the account key (same as "acc").
func (*ChainNode) MigrateContract ¶ added in v7.1.0
func (tn *ChainNode) MigrateContract(ctx context.Context, keyName string, contractAddress string, codeID string, message string, extraExecTxArgs ...string) (res *types.TxResponse, err error)
MigrateContract performs contract migration
func (*ChainNode) NewClient ¶
NewClient creates and assigns a new Tendermint RPC client to the ChainNode
func (*ChainNode) NewSidecarProcess ¶
func (*ChainNode) NodeCommand ¶
NodeCommand is a helper to retrieve a full command for a chain node binary. when interactions with the RPC endpoint are necessary. For example, if chain node binary is `gaiad`, and desired command is `gaiad keys show key1`, pass ("keys", "show", "key1") for command to return the full command. Will include additional flags for node URL, home directory, and chain ID.
func (*ChainNode) OverwriteGenesisFile ¶
func (*ChainNode) OverwritePrivValFile ¶ added in v7.1.0
func (*ChainNode) ParamChangeProposal ¶
func (tn *ChainNode) ParamChangeProposal(ctx context.Context, keyName string, prop *paramsutils.ParamChangeProposalJSON) (string, error)
ParamChangeProposal submits a param change proposal to the chain, signed by keyName.
func (*ChainNode) PrivValFileContent ¶ added in v7.1.0
func (*ChainNode) QueryBankMetadata ¶
QueryBankMetadata returns the bank metadata of a token denomination.
func (*ChainNode) QueryClientContractCode ¶
func (tn *ChainNode) QueryClientContractCode(ctx context.Context, codeHash string, response any) error
QueryClientContractCode performs a query with the contract codeHash as the input and code as the output
func (*ChainNode) QueryCommand ¶
QueryCommand is a helper to retrieve the full query command. For example, if chain node binary is gaiad, and desired command is `gaiad query gov params`, pass ("gov", "params") for command to return the full command with all necessary flags to query the specific node.
func (*ChainNode) QueryContract ¶
func (tn *ChainNode) QueryContract(ctx context.Context, contractAddress string, queryMsg any, response any) error
QueryContract performs a smart query, taking in a query struct and returning a error with the response struct populated.
func (*ChainNode) QueryICA ¶
QueryICA will query for an interchain account controlled by the specified address on the counterparty chain.
func (*ChainNode) QueryParam ¶
QueryParam returns the state and details of a subspace param.
func (*ChainNode) QueryProposal ¶
func (tn *ChainNode) QueryProposal(ctx context.Context, proposalID string) (*ProposalResponse, error)
QueryProposal returns the state and details of a governance proposal.
func (*ChainNode) ReadFile ¶
ReadFile reads the contents of a single file at the specified path in the docker filesystem. relPath describes the location of the file in the docker volume relative to the home directory.
func (*ChainNode) RecoverKey ¶
RecoverKey restores a key from a given mnemonic.
func (*ChainNode) RegisterICA ¶
RegisterICA will attempt to register an interchain account on the counterparty chain.
func (*ChainNode) SendIBCTransfer ¶
func (*ChainNode) SendICABankTransfer ¶
func (tn *ChainNode) SendICABankTransfer(ctx context.Context, connectionID, fromAddr string, amount ibc.WalletAmount) error
SendICABankTransfer builds a bank transfer message for a specified address and sends it to the specified interchain account.
func (*ChainNode) SendICATx ¶ added in v7.1.0
func (tn *ChainNode) SendICATx(ctx context.Context, keyName, connectionID string, registry codectypes.InterfaceRegistry, msgs []sdk.Msg, icaTxMemo string) (string, error)
SendICATx sends an interchain account transaction for a specified address and sends it to the specified interchain account.
func (*ChainNode) SetTestConfig ¶
SetTestConfig modifies the config to reasonable values for use within interchaintest.
func (*ChainNode) StakingDelegate ¶ added in v7.1.0
func (tn *ChainNode) StakingDelegate(ctx context.Context, keyName, validatorAddr, amount string) error
StakingDelegate delegates tokens to a validator.
func (*ChainNode) StoreClientContract ¶
func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fileName string, extraExecTxArgs ...string) (string, error)
StoreClientContract takes a file path to a client smart contract and stores it on-chain. Returns the contracts code id.
func (*ChainNode) StoreContract ¶
func (tn *ChainNode) StoreContract(ctx context.Context, keyName string, fileName string, extraExecTxArgs ...string) (string, error)
StoreContract takes a file path to smart contract and stores it on-chain. Returns the contracts code id.
func (*ChainNode) SubmitProposal ¶
func (tn *ChainNode) SubmitProposal(ctx context.Context, keyName string, prop TxProposalv1) (string, error)
SubmitProposal submits a gov v1 proposal to the chain.
func (*ChainNode) TextProposal ¶
func (tn *ChainNode) TextProposal(ctx context.Context, keyName string, prop TextProposal) (string, error)
TextProposal submits a text governance proposal to the chain.
func (*ChainNode) TxCommand ¶
TxCommand is a helper to retrieve a full command for broadcasting a tx with the chain node binary.
func (*ChainNode) UnpauseContainer ¶
func (*ChainNode) UpgradeProposal ¶
func (tn *ChainNode) UpgradeProposal(ctx context.Context, keyName string, prop SoftwareUpgradeProposal) (string, error)
UpgradeProposal submits a software-upgrade governance proposal to the chain.
func (*ChainNode) VoteOnProposal ¶
func (tn *ChainNode) VoteOnProposal(ctx context.Context, keyName string, proposalID int64, vote string) error
VoteOnProposal submits a vote for the specified proposal.
type ChainNodes ¶
type ChainNodes []*ChainNode
ChainNodes is a collection of ChainNode
func (ChainNodes) LogGenesisHashes ¶
func (nodes ChainNodes) LogGenesisHashes(ctx context.Context) error
LogGenesisHashes logs the genesis hashes for the various nodes
func (ChainNodes) PeerString ¶
func (nodes ChainNodes) PeerString(ctx context.Context) string
PeerString returns the string for connecting the nodes passed in
type CodeInfosResponse ¶
type CodeInfosResponse struct {
CodeInfos []CodeInfo `json:"code_infos"`
}
type ContractStateModels ¶
type CosmosChain ¶
type CosmosChain struct { NumValidators int Validators ChainNodes FullNodes ChainNodes Provider *CosmosChain Consumers []*CosmosChain // Additional processes that need to be run on a per-chain basis. Sidecars SidecarProcesses // contains filtered or unexported fields }
CosmosChain is a local docker testnet for a Cosmos SDK chain. Implements the ibc.Chain interface.
func NewCosmosChain ¶
func NewCosmosChain(testName string, chainConfig ibc.ChainConfig, numValidators int, numFullNodes int, log *zap.Logger) *CosmosChain
func (*CosmosChain) AccAddressFromBech32 ¶ added in v7.1.0
func (c *CosmosChain) AccAddressFromBech32(address string) (addr sdk.AccAddress, err error)
AccAddressFromBech32 creates an AccAddress from a Bech32 string. https://github.com/cosmos/cosmos-sdk/blob/v0.50.2/types/address.go#L193-L212
func (*CosmosChain) AccAddressToBech32 ¶ added in v7.1.0
func (c *CosmosChain) AccAddressToBech32(addr sdk.AccAddress) (string, error)
func (*CosmosChain) Acknowledgements ¶
func (c *CosmosChain) Acknowledgements(ctx context.Context, height int64) ([]ibc.PacketAcknowledgement, error)
Acknowledgements implements ibc.Chain, returning all acknowledgments in block at height
func (*CosmosChain) AddFullNodes ¶
func (c *CosmosChain) AddFullNodes(ctx context.Context, configFileOverrides map[string]any, inc int) error
AddFullNodes adds new fullnodes to the network, peering with the existing nodes.
func (*CosmosChain) AllBalances ¶
AllBalances fetches an account address's balance for all denoms it holds
func (*CosmosChain) BankQueryBalance ¶ added in v7.1.0
func (c *CosmosChain) BankQueryBalance(ctx context.Context, address string, denom string) (sdkmath.Int, error)
BankGetBalance is an alias for GetBalance
func (*CosmosChain) BuildProposal ¶
func (c *CosmosChain) BuildProposal(messages []cosmosproto.Message, title, summary, metadata, depositStr string) (TxProposalv1, error)
Build a gov v1 proposal type.
func (*CosmosChain) BuildRelayerWallet ¶
BuildRelayerWallet will return a Cosmos wallet populated with the mnemonic so that the wallet can be restored in the relayer node using the mnemonic. After it is built, that address is included in genesis with some funds.
func (*CosmosChain) BuildWallet ¶
func (c *CosmosChain) BuildWallet(ctx context.Context, keyName string, mnemonic string) (ibc.Wallet, error)
BuildWallet will return a Cosmos wallet If mnemonic != "", it will restore using that mnemonic If mnemonic == "", it will create a new key
func (*CosmosChain) Config ¶
func (c *CosmosChain) Config() ibc.ChainConfig
Implements Chain interface
func (*CosmosChain) ConsumerAdditionProposal ¶
func (c *CosmosChain) ConsumerAdditionProposal(ctx context.Context, keyName string, prop ccvclient.ConsumerAdditionProposalJSON) (tx TxProposal, _ error)
ConsumerAdditionProposal submits a legacy governance proposal to add a consumer to the chain.
func (*CosmosChain) CreateKey ¶
func (c *CosmosChain) CreateKey(ctx context.Context, keyName string) error
Implements Chain interface
func (*CosmosChain) DumpContractState ¶
func (c *CosmosChain) DumpContractState(ctx context.Context, contractAddress string, height int64) (*DumpContractStateResponse, error)
DumpContractState dumps the state of a contract at a block height.
func (*CosmosChain) Exec ¶
func (c *CosmosChain) Exec(ctx context.Context, cmd []string, env []string) (stdout, stderr []byte, err error)
Exec implements ibc.Chain.
func (*CosmosChain) ExecuteContract ¶
func (c *CosmosChain) ExecuteContract(ctx context.Context, keyName string, contractAddress string, message string, extraExecTxArgs ...string) (res *types.TxResponse, err error)
ExecuteContract executes a contract transaction with a message using it's address.
func (*CosmosChain) ExportState ¶
ExportState exports the chain state at specific height. Implements Chain interface
func (*CosmosChain) FinishICSProviderSetup ¶ added in v7.1.0
func (c *CosmosChain) FinishICSProviderSetup(ctx context.Context, r ibc.Relayer, eRep *testreporter.RelayerExecReporter, ibcPath string) error
FinishICSProviderSetup sets up the base of an ICS connection with respect to the relayer, provider actions, and flushing of packets. 1. Stop the relayer, then start it back up. This completes the ICS20-1 transfer channel setup.
- You must set look-back block history >100 blocks in [interchaintest.NewBuiltinRelayerFactory].
2. Get the first provider validator, and delegate 1,000,000denom to it. This triggers a CometBFT power increase of 1. 3. Flush the pending ICS packets to the consumer chain.
func (*CosmosChain) FlushPendingICSPackets ¶ added in v7.1.0
func (c *CosmosChain) FlushPendingICSPackets(ctx context.Context, r ibc.Relayer, eRep *testreporter.RelayerExecReporter, ibcPath string) error
FlushPendingICSPackets flushes the pending ICS packets to the consumer chain from the "provider" port.
func (*CosmosChain) GetAPIAddress ¶
func (c *CosmosChain) GetAPIAddress() string
Implements Chain interface
func (*CosmosChain) GetAddress ¶
Implements Chain interface
func (*CosmosChain) GetBalance ¶
func (c *CosmosChain) GetBalance(ctx context.Context, address string, denom string) (sdkmath.Int, error)
GetBalance fetches the current balance for a specific account address and denom. Implements Chain interface
func (*CosmosChain) GetGRPCAddress ¶
func (c *CosmosChain) GetGRPCAddress() string
Implements Chain interface
func (*CosmosChain) GetGasFeesInNativeDenom ¶
func (c *CosmosChain) GetGasFeesInNativeDenom(gasPaid int64) int64
func (*CosmosChain) GetGovernanceAddress ¶
func (c *CosmosChain) GetGovernanceAddress(ctx context.Context) (string, error)
GetGovernanceAddress performs a query to get the address of the chain's x/gov module
func (*CosmosChain) GetHostAPIAddress ¶
func (c *CosmosChain) GetHostAPIAddress() string
GetHostAPIAddress returns the address of the REST API server accessible by the host. This will not return a valid address until the chain has been started.
func (*CosmosChain) GetHostGRPCAddress ¶
func (c *CosmosChain) GetHostGRPCAddress() string
GetHostGRPCAddress returns the address of the gRPC server accessible by the host. This will not return a valid address until the chain has been started.
func (*CosmosChain) GetHostRPCAddress ¶
func (c *CosmosChain) GetHostRPCAddress() string
GetHostRPCAddress returns the address of the RPC server accessible by the host. This will not return a valid address until the chain has been started.
func (*CosmosChain) GetModuleAddress ¶
GetModuleAddress performs a query to get the address of the specified chain module
func (*CosmosChain) GetNode ¶
func (c *CosmosChain) GetNode() *ChainNode
func (*CosmosChain) GetRPCAddress ¶
func (c *CosmosChain) GetRPCAddress() string
Implements Chain interface
func (*CosmosChain) GetTransaction ¶
func (c *CosmosChain) GetTransaction(txhash string) (*types.TxResponse, error)
func (*CosmosChain) GovQueryParams ¶ added in v7.1.0
GovQueryParams returns the current governance parameters.
func (*CosmosChain) GovQueryProposal ¶ added in v7.1.0
func (c *CosmosChain) GovQueryProposal(ctx context.Context, proposalID int64) (*govv1beta1.Proposal, error)
GovQueryProposal returns the state and details of a v1beta1 governance proposal.
func (*CosmosChain) GovQueryProposalV1 ¶ added in v7.1.0
func (c *CosmosChain) GovQueryProposalV1(ctx context.Context, proposalID int64) (*govv1.Proposal, error)
GovQueryProposalV1 returns the state and details of a v1 governance proposal.
func (*CosmosChain) GovQueryProposalsV1 ¶ added in v7.1.0
func (c *CosmosChain) GovQueryProposalsV1(ctx context.Context, status govv1.ProposalStatus) ([]*govv1.Proposal, error)
GovQueryProposalsV1 returns all proposals with a given status.
func (*CosmosChain) GovQueryVote ¶ added in v7.1.0
func (c *CosmosChain) GovQueryVote(ctx context.Context, proposalID uint64, voter string) (*govv1.Vote, error)
GovQueryVote returns the vote for a proposal from a specific voter.
func (*CosmosChain) GovQueryVotes ¶ added in v7.1.0
GovQueryVotes returns all votes for a proposal.
func (*CosmosChain) Height ¶
func (c *CosmosChain) Height(ctx context.Context) (int64, error)
Height implements ibc.Chain
func (*CosmosChain) Initialize ¶
func (c *CosmosChain) Initialize(ctx context.Context, testName string, cli *client.Client, networkID string) error
Implements Chain interface
func (*CosmosChain) InstantiateContract ¶
func (c *CosmosChain) InstantiateContract(ctx context.Context, keyName string, codeID string, initMessage string, needsNoAdminFlag bool, extraExecTxArgs ...string) (string, error)
InstantiateContract takes a code id for a smart contract and initialization message and returns the instantiated contract address.
func (*CosmosChain) MigrateContract ¶ added in v7.1.0
func (c *CosmosChain) MigrateContract(ctx context.Context, keyName string, contractAddress string, codeID string, message string, extraExecTxArgs ...string) (res *types.TxResponse, err error)
MigrateContract performs contract migration
func (*CosmosChain) NewChainNode ¶
func (c *CosmosChain) NewChainNode( ctx context.Context, testName string, cli *client.Client, networkID string, image ibc.DockerImage, validator bool, index int, ) (*ChainNode, error)
NewChainNode constructs a new cosmos chain node with a docker volume.
func (*CosmosChain) NewSidecarProcess ¶
func (c *CosmosChain) NewSidecarProcess( ctx context.Context, preStart bool, processName string, testName string, cli *client.Client, networkID string, image ibc.DockerImage, homeDir string, index int, ports []string, startCmd []string, env []string, ) error
NewSidecarProcess constructs a new sidecar process with a docker volume.
func (*CosmosChain) Nodes ¶
func (c *CosmosChain) Nodes() ChainNodes
Nodes returns all nodes, including validators and fullnodes.
func (*CosmosChain) ParamChangeProposal ¶
func (c *CosmosChain) ParamChangeProposal(ctx context.Context, keyName string, prop *paramsutils.ParamChangeProposalJSON) (tx TxProposal, _ error)
ParamChangeProposal submits a param change proposal to the chain, signed by keyName.
func (*CosmosChain) PushNewWasmClientProposal ¶
func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName string, fileName string, prop TxProposalv1) (TxProposal, string, error)
PushNewWasmClientProposal submits a new wasm client governance proposal to the chain
func (*CosmosChain) QueryBankMetadata ¶
func (c *CosmosChain) QueryBankMetadata(ctx context.Context, denom string) (*BankMetaData, error)
QueryBankMetadata returns the metadata of a given token denomination.
func (*CosmosChain) QueryClientContractCode ¶
func (c *CosmosChain) QueryClientContractCode(ctx context.Context, codeHash string, response any) error
QueryClientContractCode performs a query with the contract codeHash as the input and code as the output
func (*CosmosChain) QueryContract ¶
func (c *CosmosChain) QueryContract(ctx context.Context, contractAddress string, query any, response any) error
QueryContract performs a smart query, taking in a query struct and returning a error with the response struct populated.
func (*CosmosChain) QueryICAAddress ¶ added in v7.1.0
func (c *CosmosChain) QueryICAAddress(ctx context.Context, connectionID, address string) (string, error)
QueryICA will query for an interchain account controlled by the given address on the counterparty chain.
func (*CosmosChain) QueryParam ¶
func (c *CosmosChain) QueryParam(ctx context.Context, subspace, key string) (*ParamChange, error)
QueryParam returns the param state of a given key.
func (*CosmosChain) QueryProposal ¶
func (c *CosmosChain) QueryProposal(ctx context.Context, proposalID string) (*ProposalResponse, error)
QueryProposal returns the state and details of a governance proposal.
func (*CosmosChain) RecoverKey ¶
func (c *CosmosChain) RecoverKey(ctx context.Context, keyName, mnemonic string) error
Implements Chain interface
func (*CosmosChain) RegisterICA ¶ added in v7.1.0
func (c *CosmosChain) RegisterICA(ctx context.Context, keyName string, connectionID string) (string, error)
RegisterICA will attempt to register an interchain account on the given counterparty chain.
func (*CosmosChain) SendFunds ¶
func (c *CosmosChain) SendFunds(ctx context.Context, keyName string, amount ibc.WalletAmount) error
Implements Chain interface
func (*CosmosChain) SendIBCTransfer ¶
func (c *CosmosChain) SendIBCTransfer( ctx context.Context, channelID string, keyName string, amount ibc.WalletAmount, options ibc.TransferOptions, ) (tx ibc.Tx, _ error)
Implements Chain interface
func (*CosmosChain) SendICATx ¶ added in v7.1.0
func (c *CosmosChain) SendICATx(ctx context.Context, keyName, connectionID string, msgs []sdk.Msg, icaTxMemo string) (string, error)
SendICATx sends an interchain account transaction for a specified address and sends it to the respective interchain account on the counterparty chain.
func (*CosmosChain) StakingQueryDelegationsTo ¶ added in v7.1.0
func (c *CosmosChain) StakingQueryDelegationsTo(ctx context.Context, validator string) ([]*stakingtypes.DelegationResponse, error)
StakingQueryDelegationsTo returns all delegations to a validator.
func (*CosmosChain) StakingQueryValidators ¶ added in v7.1.0
func (c *CosmosChain) StakingQueryValidators(ctx context.Context, status string) ([]stakingtypes.Validator, error)
StakingQueryValidators returns all validators.
func (*CosmosChain) Start ¶
func (c *CosmosChain) Start(testName string, ctx context.Context, additionalGenesisWallets ...ibc.WalletAmount) error
Bootstraps the chain and starts it from genesis
func (*CosmosChain) StartAllNodes ¶
func (c *CosmosChain) StartAllNodes(ctx context.Context) error
StartAllNodes creates and starts new containers for each node. Should only be used if the chain has previously been started with .Start.
func (*CosmosChain) StartAllSidecars ¶
func (c *CosmosChain) StartAllSidecars(ctx context.Context) error
StartAllSidecars creates and starts new containers for each sidecar process. Should only be used if the chain has previously been started with .Start.
func (*CosmosChain) StartAllValSidecars ¶
func (c *CosmosChain) StartAllValSidecars(ctx context.Context) error
StartAllValSidecars creates and starts new containers for each validator sidecar process. Should only be used if the chain has previously been started with .Start.
func (*CosmosChain) StartConsumer ¶
func (c *CosmosChain) StartConsumer(testName string, ctx context.Context, additionalGenesisWallets ...ibc.WalletAmount) error
Bootstraps the consumer chain and starts it from genesis
func (*CosmosChain) StartProvider ¶
func (c *CosmosChain) StartProvider(testName string, ctx context.Context, additionalGenesisWallets ...ibc.WalletAmount) error
Bootstraps the provider chain and starts it from genesis
func (*CosmosChain) StopAllNodes ¶
func (c *CosmosChain) StopAllNodes(ctx context.Context) error
StopAllNodes stops and removes all long running containers (validators and full nodes)
func (*CosmosChain) StopAllSidecars ¶
func (c *CosmosChain) StopAllSidecars(ctx context.Context) error
StopAllSidecars stops and removes all long-running containers for sidecar processes.
func (*CosmosChain) StoreClientContract ¶
func (c *CosmosChain) StoreClientContract(ctx context.Context, keyName string, fileName string, extraExecTxArgs ...string) (string, error)
StoreClientContract takes a file path to a client smart contract and stores it on-chain. Returns the contracts code id.
func (*CosmosChain) StoreContract ¶
func (c *CosmosChain) StoreContract(ctx context.Context, keyName string, fileName string, extraExecTxArgs ...string) (string, error)
StoreContract takes a file path to smart contract and stores it on-chain. Returns the contracts code id.
func (*CosmosChain) SubmitProposal ¶
func (c *CosmosChain) SubmitProposal(ctx context.Context, keyName string, prop TxProposalv1) (tx TxProposal, _ error)
SubmitProposal submits a gov v1 proposal to the chain.
func (*CosmosChain) TextProposal ¶
func (c *CosmosChain) TextProposal(ctx context.Context, keyName string, prop TextProposal) (tx TxProposal, _ error)
TextProposal submits a text governance proposal to the chain.
func (*CosmosChain) Timeouts ¶
func (c *CosmosChain) Timeouts(ctx context.Context, height int64) ([]ibc.PacketTimeout, error)
Timeouts implements ibc.Chain, returning all timeouts in block at height
func (*CosmosChain) UpgradeProposal ¶
func (c *CosmosChain) UpgradeProposal(ctx context.Context, keyName string, prop SoftwareUpgradeProposal) (tx TxProposal, _ error)
UpgradeProposal submits a software-upgrade governance proposal to the chain.
func (*CosmosChain) UpgradeVersion ¶
func (*CosmosChain) VoteOnProposalAllValidators ¶
type CosmosWallet ¶
type CosmosWallet struct {
// contains filtered or unexported fields
}
func (*CosmosWallet) Address ¶
func (w *CosmosWallet) Address() []byte
Get Address with chain's prefix
func (*CosmosWallet) FormattedAddress ¶
func (w *CosmosWallet) FormattedAddress() string
Get formatted address, passing in a prefix
func (*CosmosWallet) FormattedAddressWithPrefix ¶
func (w *CosmosWallet) FormattedAddressWithPrefix(prefix string) string
func (*CosmosWallet) KeyName ¶
func (w *CosmosWallet) KeyName() string
func (*CosmosWallet) Mnemonic ¶
func (w *CosmosWallet) Mnemonic() string
Get mnemonic, only used for relayer wallets
type DenomAuthorityMetadata ¶
type DenomAuthorityMetadata struct { // Can be empty for no admin, or a valid address Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty" yaml:"admin"` }
type DumpContractStateResponse ¶
type DumpContractStateResponse struct {
Models []ContractStateModels `json:"models"`
}
type GenesisFile ¶
type GenesisFile struct {
Validators []GenesisValidators `json:"validators"`
}
type GenesisKV ¶
type GenesisKV struct { Key string `json:"key"` Value interface{} `json:"value"` }
func NewGenesisKV ¶
type GenesisValidatorPubKey ¶
type GenesisValidators ¶
type GenesisValidators struct { Address string `json:"address"` Name string `json:"name"` Power string `json:"power"` PubKey GenesisValidatorPubKey `json:"pub_key"` }
type InstantiateContractAttribute ¶
type InstantiateContractAttribute struct {
Value string `json:"value"`
}
type InstantiateContractEvent ¶
type InstantiateContractEvent struct {
Attributes []InstantiateContractAttribute `json:"attributes"`
}
type InstantiateContractLog ¶
type InstantiateContractLog struct {
Events []InstantiateContractEvent `json:"event"`
}
type InstantiateContractResponse ¶
type InstantiateContractResponse struct {
Logs []InstantiateContractLog `json:"log"`
}
type OsmosisPoolParams ¶
type OsmosisPoolParams struct { Weights string `json:"weights"` InitialDeposit string `json:"initial-deposit"` SwapFee string `json:"swap-fee"` ExitFee string `json:"exit-fee"` FutureGovernor string `json:"future-governor"` }
OsmosisPoolParams defines parameters for creating an osmosis gamm liquidity pool
type ParamChange ¶
type PrivValidatorKey ¶
type PrivValidatorKeyFile ¶
type PrivValidatorKeyFile struct { Address string `json:"address"` PubKey PrivValidatorKey `json:"pub_key"` PrivKey PrivValidatorKey `json:"priv_key"` }
type ProposalContent ¶
type ProposalDeposit ¶
type ProposalResponse ¶
type ProposalResponse struct { ProposalID string `json:"proposal_id"` Content ProposalContent `json:"content"` Status string `json:"status"` FinalTallyResult ProposalFinalTallyResult `json:"final_tally_result"` SubmitTime string `json:"submit_time"` DepositEndTime string `json:"deposit_end_time"` TotalDeposit []ProposalDeposit `json:"total_deposit"` VotingStartTime string `json:"voting_start_time"` VotingEndTime string `json:"voting_end_time"` }
ProposalResponse is the proposal query response.
type QueryContractResponse ¶
type QueryContractResponse struct {
Contracts []string `json:"contracts"`
}
type QueryDenomAuthorityMetadataResponse ¶
type QueryDenomAuthorityMetadataResponse struct {
AuthorityMetadata DenomAuthorityMetadata `` /* 128-byte string literal not displayed */
}
func TokenFactoryGetAdmin ¶
func TokenFactoryGetAdmin(c *CosmosChain, ctx context.Context, fullDenom string) (*QueryDenomAuthorityMetadataResponse, error)
TokenFactoryGetAdmin returns the admin of a tokenfactory token.
type SidecarProcess ¶
type SidecarProcess struct { Index int Chain ibc.Chain ProcessName string TestName string VolumeName string DockerClient *dockerclient.Client NetworkID string Image ibc.DockerImage // contains filtered or unexported fields }
SidecarProcess represents a companion process that may be required on a per chain or per validator basis.
func NewSidecar ¶
func NewSidecar( log *zap.Logger, validatorProcess bool, preStart bool, chain ibc.Chain, dockerClient *dockerclient.Client, networkID, processName, testName string, image ibc.DockerImage, homeDir string, index int, ports []string, startCmd []string, env []string, ) *SidecarProcess
NewSidecar instantiates a new SidecarProcess.
func (*SidecarProcess) Bind ¶
func (s *SidecarProcess) Bind() []string
Bind returns the home folder bind point for running the process.
func (*SidecarProcess) CopyFile ¶
func (s *SidecarProcess) CopyFile(ctx context.Context, srcPath, dstPath string) error
CopyFile adds a file from the host filesystem to the docker filesystem relPath describes the location of the file in the docker volume relative to the home directory
func (*SidecarProcess) CreateContainer ¶
func (s *SidecarProcess) CreateContainer(ctx context.Context) error
func (*SidecarProcess) Exec ¶
func (s *SidecarProcess) Exec(ctx context.Context, cmd []string, env []string) ([]byte, []byte, error)
Exec enables the execution of arbitrary CLI cmds against the process.
func (*SidecarProcess) GetHostPorts ¶
func (*SidecarProcess) HomeDir ¶
func (s *SidecarProcess) HomeDir() string
HomeDir returns the path name where any configuration files will be written to the Docker filesystem.
func (*SidecarProcess) HostName ¶
func (s *SidecarProcess) HostName() string
func (*SidecarProcess) Name ¶
func (s *SidecarProcess) Name() string
Name returns a string identifier based on if this process is configured to run on a chain level or on a per validator level.
func (*SidecarProcess) PauseContainer ¶
func (s *SidecarProcess) PauseContainer(ctx context.Context) error
func (*SidecarProcess) ReadFile ¶
ReadFile reads the contents of a single file at the specified path in the docker filesystem. relPath describes the location of the file in the docker volume relative to the home directory.
func (*SidecarProcess) RemoveContainer ¶
func (s *SidecarProcess) RemoveContainer(ctx context.Context) error
func (*SidecarProcess) StartContainer ¶
func (s *SidecarProcess) StartContainer(ctx context.Context) error
func (*SidecarProcess) StopContainer ¶
func (s *SidecarProcess) StopContainer(ctx context.Context) error
func (*SidecarProcess) UnpauseContainer ¶
func (s *SidecarProcess) UnpauseContainer(ctx context.Context) error
type SidecarProcesses ¶
type SidecarProcesses []*SidecarProcess
type SoftwareUpgradeProposal ¶
type SoftwareUpgradeProposal struct { Deposit string Title string Name string Description string Height int64 Info string // optional }
SoftwareUpgradeProposal defines the required and optional parameters for submitting a software-upgrade proposal.
type TextProposal ¶
SoftwareUpgradeProposal defines the required and optional parameters for submitting a software-upgrade proposal.
type TxProposal ¶
type TxProposal struct { // The block height. Height int64 // The transaction hash. TxHash string // Amount of gas charged to the account. GasSpent int64 // Amount deposited for proposal. DepositAmount string // ID of proposal. ProposalID string // Type of proposal. ProposalType string }
TxProposal contains chain proposal transaction details.
type TxProposalv1 ¶
type TxProposalv1 struct { Messages []json.RawMessage `json:"messages"` Metadata string `json:"metadata"` Deposit string `json:"deposit"` Title string `json:"title"` Summary string `json:"summary"` }
TxProposalv1 contains chain proposal transaction detail for gov module v1 (sdk v0.46.0+)