diff --git a/modules/sdk-core/src/bitgo/wallet/iWallet.ts b/modules/sdk-core/src/bitgo/wallet/iWallet.ts index 568eea39c2..9583cee260 100644 --- a/modules/sdk-core/src/bitgo/wallet/iWallet.ts +++ b/modules/sdk-core/src/bitgo/wallet/iWallet.ts @@ -18,6 +18,7 @@ import { IPendingApproval, PendingApprovalData } from '../pendingApproval'; import { IGoStakingWallet, IStakingWallet } from '../staking'; import { ITradingAccount } from '../trading'; import { + CantonCommandParams, CustomCommitmentGeneratingFunction, CustomEddsaMPCv2SigningRound1GeneratingFunction, CustomEddsaMPCv2SigningRound2GeneratingFunction, @@ -291,6 +292,10 @@ export interface PrebuildTransactionOptions { * Used with type: 'bridging' for cross-chain bridging operations. */ bridgingParams?: BridgingParams; + /** + * Parameters for executing DAML commands on Canton. + */ + cantonCommandParams?: CantonCommandParams; } export interface PrebuildAndSignTransactionOptions extends PrebuildTransactionOptions, WalletSignTransactionOptions { diff --git a/modules/sdk-core/src/bitgo/wallet/wallet.ts b/modules/sdk-core/src/bitgo/wallet/wallet.ts index ba7ed03488..80b0133f8f 100644 --- a/modules/sdk-core/src/bitgo/wallet/wallet.ts +++ b/modules/sdk-core/src/bitgo/wallet/wallet.ts @@ -4292,6 +4292,23 @@ export class Wallet implements IWallet { ); break; } + case 'cantonCommand': { + if (!params.cantonCommandParams) { + throw new Error('cantonCommandParams is required for cantonCommand intent'); + } + txRequest = await this.tssUtils!.prebuildTxWithIntent( + { + reqId, + intentType: 'cantonCommand', + cantonCommandParams: params.cantonCommandParams, + sequenceId: params.sequenceId, + comment: params.comment, + }, + apiVersion, + params.preview + ); + break; + } case 'customTx': txRequest = await this.tssUtils!.prebuildTxWithIntent( {