diff --git a/packages/cosmwasm/src/msgs.ts b/packages/cosmwasm/src/msgs.ts index 02d70e4a..fabd9c9a 100644 --- a/packages/cosmwasm/src/msgs.ts +++ b/packages/cosmwasm/src/msgs.ts @@ -144,3 +144,75 @@ export interface MsgMigrateContract extends Msg { export function isMsgMigrateContract(msg: Msg): msg is MsgMigrateContract { return (msg as MsgMigrateContract).type === "wasm/MsgMigrateContract"; } + +interface BankSendMsg { + readonly send: { + readonly from_address: string; + readonly to_address: string; + readonly amount: readonly Coin[]; + }; +} + +export interface BankMsg { + readonly bank: BankSendMsg; +} + +export interface CustomMsg { + readonly custom: Record; +} + +interface StakingDelegateMsg { + readonly delegate: { + readonly validator: string; + readonly amount: Coin; + }; +} + +interface StakingRedelegateMsg { + readonly redelgate: { + readonly src_validator: string; + readonly dst_validator: string; + readonly amount: Coin; + }; +} + +interface StakingUndelegateMsg { + readonly undelegate: { + readonly validator: string; + readonly amount: Coin; + }; +} + +interface StakingWithdrawMsg { + readonly withdraw: { + readonly validator: string; + readonly recipient?: string; + }; +} + +export interface StakingMsg { + readonly staking: StakingDelegateMsg | StakingRedelegateMsg | StakingUndelegateMsg | StakingWithdrawMsg; +} + +interface WasmExecuteMsg { + readonly execute: { + readonly contract_address: string; + readonly msg: any; + readonly send: readonly Coin[]; + }; +} + +interface WasmInstantiateMsg { + readonly instantiate: { + readonly code_id: string; + readonly msg: any; + readonly send: readonly Coin[]; + readonly label?: string; + }; +} + +export interface WasmMsg { + readonly wasm: WasmExecuteMsg | WasmInstantiateMsg; +} + +export type CosmosMsg = BankMsg | CustomMsg | StakingMsg | WasmMsg; diff --git a/packages/cosmwasm/types/msgs.d.ts b/packages/cosmwasm/types/msgs.d.ts index 9b9c89c4..744b47fd 100644 --- a/packages/cosmwasm/types/msgs.d.ts +++ b/packages/cosmwasm/types/msgs.d.ts @@ -117,3 +117,64 @@ export interface MsgMigrateContract extends Msg { }; } export declare function isMsgMigrateContract(msg: Msg): msg is MsgMigrateContract; +interface BankSendMsg { + readonly send: { + readonly from_address: string; + readonly to_address: string; + readonly amount: readonly Coin[]; + }; +} +export interface BankMsg { + readonly bank: BankSendMsg; +} +export interface CustomMsg { + readonly custom: Record; +} +interface StakingDelegateMsg { + readonly delegate: { + readonly validator: string; + readonly amount: Coin; + }; +} +interface StakingRedelegateMsg { + readonly redelgate: { + readonly src_validator: string; + readonly dst_validator: string; + readonly amount: Coin; + }; +} +interface StakingUndelegateMsg { + readonly undelegate: { + readonly validator: string; + readonly amount: Coin; + }; +} +interface StakingWithdrawMsg { + readonly withdraw: { + readonly validator: string; + readonly recipient?: string; + }; +} +export interface StakingMsg { + readonly staking: StakingDelegateMsg | StakingRedelegateMsg | StakingUndelegateMsg | StakingWithdrawMsg; +} +interface WasmExecuteMsg { + readonly execute: { + readonly contract_address: string; + readonly msg: any; + readonly send: readonly Coin[]; + }; +} +interface WasmInstantiateMsg { + readonly instantiate: { + readonly code_id: string; + readonly msg: any; + readonly send: readonly Coin[]; + readonly label?: string; + }; +} +export interface WasmMsg { + readonly wasm: WasmExecuteMsg | WasmInstantiateMsg; +} +export declare type CosmosMsg = BankMsg | CustomMsg | StakingMsg | WasmMsg; +export {};