diff --git a/modules/sdk-core/src/bitgo/utils/mpcUtils.ts b/modules/sdk-core/src/bitgo/utils/mpcUtils.ts index e328512199..412f312aa3 100644 --- a/modules/sdk-core/src/bitgo/utils/mpcUtils.ts +++ b/modules/sdk-core/src/bitgo/utils/mpcUtils.ts @@ -224,6 +224,7 @@ export abstract class MpcUtils { recipients: intentRecipients, tokenName: params.tokenName, isTestTransaction: params.isTestTransaction, + execType: params.execType, }; if (baseCoin.isEVM() && baseCoin.supportsTss()) { diff --git a/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts b/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts index 306dd20549..45f6c1d3e5 100644 --- a/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts +++ b/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts @@ -269,6 +269,11 @@ export interface TokenTransferRecipientParams { tokenId?: string; decimalPlaces?: number; } +export enum ExecType { + EXEC_UNSPECIFIED = 'EXEC_UNSPECIFIED', + EXEC_TRY = 'EXEC_TRY', +} + interface IntentOptionsBase { reqId: IRequestTracer; intentType: string; @@ -278,6 +283,7 @@ interface IntentOptionsBase { memo?: Memo; custodianTransactionId?: string; custodianMessageId?: string; + execType?: ExecType; } /** @@ -393,6 +399,7 @@ interface PopulatedIntentBase { comment?: string; memo?: string; isTss?: boolean; + execType?: ExecType; } export interface PopulatedIntentForMessageSigning extends PopulatedIntentBase { diff --git a/modules/sdk-core/src/bitgo/wallet/iWallet.ts b/modules/sdk-core/src/bitgo/wallet/iWallet.ts index 2a087e3df4..e867a5ed1d 100644 --- a/modules/sdk-core/src/bitgo/wallet/iWallet.ts +++ b/modules/sdk-core/src/bitgo/wallet/iWallet.ts @@ -33,6 +33,7 @@ import { CustomPaillierModulusGetterFunction, CustomRShareGeneratingFunction, CustomSShareGeneratingFunction, + ExecType, TokenEnablement, TokenTransferRecipientParams, TxRequest, @@ -297,6 +298,7 @@ export interface PrebuildTransactionOptions { * Parameters for executing DAML commands on Canton. */ cantonCommandParams?: CantonCommandParams; + execType?: ExecType; } 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 46c4e9a0b7..b84d64bc58 100644 --- a/modules/sdk-core/src/bitgo/wallet/wallet.ts +++ b/modules/sdk-core/src/bitgo/wallet/wallet.ts @@ -4181,6 +4181,7 @@ export class Wallet implements IWallet { unspents: params.unspents, senderAddress: params.senderAddress, isTestTransaction: params.isTestTransaction, + execType: params.execType, }, apiVersion, params.preview @@ -4198,6 +4199,7 @@ export class Wallet implements IWallet { feeToken: params.feeToken, unspents: params.unspents, sequenceId: params.sequenceId, + execType: params.execType, }, apiVersion, params.preview @@ -4211,6 +4213,7 @@ export class Wallet implements IWallet { recipients: params.recipients || [], enableTokens: params.enableTokens, memo: params.memo, + execType: params.execType, }, apiVersion, params.preview @@ -4223,6 +4226,7 @@ export class Wallet implements IWallet { intentType: 'closeAssociatedTokenAccount', recipients: params.recipients || [], memo: params.memo, + execType: params.execType, }, apiVersion, params.preview @@ -4238,6 +4242,7 @@ export class Wallet implements IWallet { receiveAddress: params.receiveAddress, feeOptions, feeToken: params.feeToken, + execType: params.execType, }, apiVersion, params.preview @@ -4253,6 +4258,7 @@ export class Wallet implements IWallet { receiveAddress: params.receiveAddress, feeOptions, feeToken: params.feeToken, + execType: params.execType, }, apiVersion, params.preview @@ -4265,6 +4271,7 @@ export class Wallet implements IWallet { intentType: 'tokenApproval', tokenName: params.tokenName, feeToken: params.feeToken, + execType: params.execType, }, apiVersion, params.preview @@ -4276,6 +4283,7 @@ export class Wallet implements IWallet { reqId, intentType: 'createAccount', recipients: params.recipients || [], + execType: params.execType, }, apiVersion, params.preview @@ -4288,6 +4296,7 @@ export class Wallet implements IWallet { intentType: 'transferAccept', txRequestId: params.txRequestId, sequenceId: params.txRequestId, + execType: params.execType, }, apiVersion, params.preview @@ -4301,6 +4310,7 @@ export class Wallet implements IWallet { intentType: 'transferReject', txRequestId: params.txRequestId, sequenceId: params.txRequestId, + execType: params.execType, }, apiVersion, params.preview @@ -4314,6 +4324,7 @@ export class Wallet implements IWallet { intentType: 'transferOfferWithdrawn', transferOfferId: params.transferOfferId, sequenceId: params.transferOfferId, + execType: params.execType, }, apiVersion, params.preview @@ -4332,6 +4343,7 @@ export class Wallet implements IWallet { tokenName: params.tokenName, sequenceId: params.sequenceId, comment: params.comment, + execType: params.execType, }, apiVersion, params.preview @@ -4352,6 +4364,7 @@ export class Wallet implements IWallet { nonce: params.nonce, memo: params.memo, feeOptions, + execType: params.execType, }, apiVersion, params.preview @@ -4368,6 +4381,7 @@ export class Wallet implements IWallet { nonce: params.nonce, feeOptions, feeToken: params.feeToken, + execType: params.execType, }, apiVersion, params.preview @@ -4384,6 +4398,7 @@ export class Wallet implements IWallet { nonce: params.nonce, feeOptions, feeToken: params.feeToken, + execType: params.execType, }, apiVersion, params.preview @@ -4397,6 +4412,7 @@ export class Wallet implements IWallet { sequenceId: params.sequenceId, comment: params.comment, recipients: params.recipients || [], + execType: params.execType, }, apiVersion, params.preview @@ -4410,6 +4426,7 @@ export class Wallet implements IWallet { sequenceId: params.sequenceId, comment: params.comment, recipients: params.recipients || [], + execType: params.execType, }, apiVersion, params.preview @@ -4425,6 +4442,7 @@ export class Wallet implements IWallet { amount: string; clientIdempotencyKey?: string; }, + execType: params.execType, }, apiVersion, params.preview @@ -4441,6 +4459,7 @@ export class Wallet implements IWallet { operationId?: string; clientIdempotencyKey?: string; }, + execType: params.execType, }, apiVersion, params.preview