From 777fce5ff9f2efad532985f30fe4984d6b7d0d64 Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 10 Apr 2024 13:05:35 -0400 Subject: [PATCH] fix: update existing MR --- .../src/signingcosmwasmclient.ts | 27 ++++++++++++++++++- packages/stargate/src/index.ts | 2 ++ packages/stargate/src/modules/index.ts | 2 ++ .../stargate/src/signingstargateclient.ts | 27 ++++++++++++++++++- 4 files changed, 56 insertions(+), 2 deletions(-) diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index 955cff5e..af09c695 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -24,6 +24,7 @@ import { GasPrice, isDeliverTxFailure, logs, + MsgCancelUnbondingDelegationEncodeObject, MsgDelegateEncodeObject, MsgSendEncodeObject, MsgUndelegateEncodeObject, @@ -34,7 +35,11 @@ import { import { CometClient, connectComet, HttpEndpoint } from "@cosmjs/tendermint-rpc"; import { assert, assertDefined } from "@cosmjs/utils"; import { MsgWithdrawDelegatorReward } from "cosmjs-types/cosmos/distribution/v1beta1/tx"; -import { MsgDelegate, MsgUndelegate } from "cosmjs-types/cosmos/staking/v1beta1/tx"; +import { + MsgCancelUnbondingDelegation, + MsgDelegate, + MsgUndelegate, +} from "cosmjs-types/cosmos/staking/v1beta1/tx"; import { SignMode } from "cosmjs-types/cosmos/tx/signing/v1beta1/signing"; import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import { @@ -532,6 +537,26 @@ export class SigningCosmWasmClient extends CosmWasmClient { return this.signAndBroadcast(senderAddress, [sendMsg], fee, memo); } + public async cancelUnbondingDelegation( + delegatorAddress: string, + validatorAddress: string, + amount: Coin, + creationHeight: number, + fee: StdFee | "auto" | number, + memo = "", + ): Promise { + const cancelUnbondingDelegationMsg: MsgCancelUnbondingDelegationEncodeObject = { + typeUrl: "/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation", + value: MsgCancelUnbondingDelegation.fromPartial({ + delegatorAddress: delegatorAddress, + validatorAddress: validatorAddress, + amount: amount, + creationHeight: creationHeight, + }), + }; + return this.signAndBroadcast(delegatorAddress, [cancelUnbondingDelegationMsg], fee, memo); + } + public async delegateTokens( delegatorAddress: string, validatorAddress: string, diff --git a/packages/stargate/src/index.ts b/packages/stargate/src/index.ts index e424bed7..c43480c0 100644 --- a/packages/stargate/src/index.ts +++ b/packages/stargate/src/index.ts @@ -64,6 +64,7 @@ export { isAminoMsgWithdrawDelegatorReward, isAminoMsgWithdrawValidatorCommission, isMsgBeginRedelegateEncodeObject, + isMsgCancelUnbondingDelegationEncodeObject, isMsgCreateValidatorEncodeObject, isMsgDelegateEncodeObject, isMsgDepositEncodeObject, @@ -78,6 +79,7 @@ export { MintExtension, MintParams, MsgBeginRedelegateEncodeObject, + MsgCancelUnbondingDelegationEncodeObject, MsgCreateValidatorEncodeObject, MsgDelegateEncodeObject, MsgDepositEncodeObject, diff --git a/packages/stargate/src/modules/index.ts b/packages/stargate/src/modules/index.ts index 7d41cd24..b8cf466f 100644 --- a/packages/stargate/src/modules/index.ts +++ b/packages/stargate/src/modules/index.ts @@ -87,11 +87,13 @@ export { } from "./staking/aminomessages"; export { isMsgBeginRedelegateEncodeObject, + isMsgCancelUnbondingDelegationEncodeObject, isMsgCreateValidatorEncodeObject, isMsgDelegateEncodeObject, isMsgEditValidatorEncodeObject, isMsgUndelegateEncodeObject, MsgBeginRedelegateEncodeObject, + MsgCancelUnbondingDelegationEncodeObject, MsgCreateValidatorEncodeObject, MsgDelegateEncodeObject, MsgEditValidatorEncodeObject, diff --git a/packages/stargate/src/signingstargateclient.ts b/packages/stargate/src/signingstargateclient.ts index 13e4461f..43f2ea85 100644 --- a/packages/stargate/src/signingstargateclient.ts +++ b/packages/stargate/src/signingstargateclient.ts @@ -16,7 +16,11 @@ import { CometClient, connectComet, HttpEndpoint } from "@cosmjs/tendermint-rpc" import { assert, assertDefined } from "@cosmjs/utils"; import { Coin } from "cosmjs-types/cosmos/base/v1beta1/coin"; import { MsgWithdrawDelegatorReward } from "cosmjs-types/cosmos/distribution/v1beta1/tx"; -import { MsgDelegate, MsgUndelegate } from "cosmjs-types/cosmos/staking/v1beta1/tx"; +import { + MsgCancelUnbondingDelegation, + MsgDelegate, + MsgUndelegate, +} from "cosmjs-types/cosmos/staking/v1beta1/tx"; import { SignMode } from "cosmjs-types/cosmos/tx/signing/v1beta1/signing"; import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import { MsgTransfer } from "cosmjs-types/ibc/applications/transfer/v1/tx"; @@ -32,6 +36,7 @@ import { govTypes, groupTypes, ibcTypes, + MsgCancelUnbondingDelegationEncodeObject, MsgDelegateEncodeObject, MsgSendEncodeObject, MsgTransferEncodeObject, @@ -209,6 +214,26 @@ export class SigningStargateClient extends StargateClient { return this.signAndBroadcast(senderAddress, [sendMsg], fee, memo); } + public async cancelUnbondingDelegation( + delegatorAddress: string, + validatorAddress: string, + amount: Coin, + creationHeight: number, + fee: StdFee | "auto" | number, + memo = "", + ): Promise { + const cancelUnbondingDelegationMsg: MsgCancelUnbondingDelegationEncodeObject = { + typeUrl: "/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation", + value: MsgCancelUnbondingDelegation.fromPartial({ + delegatorAddress: delegatorAddress, + validatorAddress: validatorAddress, + amount: amount, + creationHeight: creationHeight, + }), + }; + return this.signAndBroadcast(delegatorAddress, [cancelUnbondingDelegationMsg], fee, memo); + } + public async delegateTokens( delegatorAddress: string, validatorAddress: string,