@txfence/cosmos
v0.1.2
Published
Cosmos chain adapter for txfence. Simulation, transaction building, signing, and broadcast for Cosmos Hub, Osmosis, and CosmJS-compatible chains.
Readme
@txfence/cosmos
Cosmos chain adapter for txfence. Simulation, transaction building, signing, and broadcast across Cosmos Hub, Osmosis, and other CosmJS-compatible chains.
Installation
npm install @txfence/cosmos @txfence/core@txfence/cosmos depends on @cosmjs/stargate, @cosmjs/proto-signing, and @cosmjs/encoding.
Quick start
import { createAgent, type Policy } from '@txfence/core'
import {
simulateCosmosAction,
executeCosmosAction,
createCosmosSignerFromMnemonic,
} from '@txfence/cosmos'
const signer = await createCosmosSignerFromMnemonic(
process.env.MNEMONIC!,
{ chainId: 'cosmoshub-4', prefix: 'cosmos' },
)
const agent = createAgent(
{ chains: ['cosmoshub'], policies: policy, signer },
{ cosmoshub: { simulate: simulateCosmosAction } },
{ cosmoshub: 'https://cosmos-rpc.publicnode.com' },
(action, chainId, rpcUrl, evaluation, simulation) =>
executeCosmosAction(action, chainId, rpcUrl, signer, evaluation, simulation),
)Supported chains
COSMOS_CHAIN_CONFIGS ships built-in entries for:
cosmoshub(Cosmos Hub, prefixcosmos)osmosis(Osmosis, prefixosmo)
Use isCosmosChain(chainId) to gate Cosmos-specific code paths.
Custom chain configuration
import { createCosmosSignerFromMnemonic } from '@txfence/cosmos'
const signer = await createCosmosSignerFromMnemonic(mnemonic, {
chainId: 'juno-1',
prefix: 'juno',
feeDenom: 'ujuno',
})Building transactions outside the pipeline
buildCosmosTransaction() returns a CosmosSerializedTransaction suitable for offline signing or external broadcast.
Exports
simulateCosmosAction— pre-flight simulationbuildCosmosTransaction,executeCosmosAction— build and broadcastcreateCosmosSignerFromMnemonic— mnemonic-backed signerisCosmosChain,COSMOS_CHAIN_CONFIGS,COSMOS_CHAIN_IDS
Full project README: https://github.com/AdityaChauhanX07/txfence
License
MIT
