@@ -3243,6 +3243,28 @@ export class Wallet implements IWallet {
32433243 }
32443244 }
32453245
3246+ /**
3247+ * Builds wallet initialization
3248+ * @param {PrebuildTransactionOptions } params
3249+ * @returns {Promise<PrebuildTransactionResult> }
3250+ */
3251+ public async buildWalletInitialization ( params : PrebuildTransactionOptions ) : Promise < PrebuildTransactionResult > {
3252+ if ( ! this . baseCoin . requiresWalletInitializationTransaction ( ) ) {
3253+ throw new Error ( `Wallet initialization is not required for ${ this . baseCoin . getFullName ( ) } ` ) ;
3254+ }
3255+ if ( this . _wallet . multisigType !== 'tss' ) {
3256+ throw new Error ( 'Wallet initialization transaction is only supported for TSS wallets' ) ;
3257+ }
3258+ if ( params . reqId ) {
3259+ this . bitgo . setRequestTracer ( params . reqId ) ;
3260+ }
3261+ const buildParams : PrebuildTransactionOptions = _ . pick ( params , this . prebuildWhitelistedParams ( ) ) ;
3262+ if ( ! buildParams . type ) {
3263+ buildParams . type = 'createAccount' ;
3264+ }
3265+ return await this . prebuildTransaction ( buildParams ) ;
3266+ }
3267+
32463268 /**
32473269 * Signs and sends a single unsigned token enablement transaction
32483270 * @param params
@@ -3327,20 +3349,7 @@ export class Wallet implements IWallet {
33273349 * @param params
33283350 */
33293351 public async sendWalletInitialization ( params : PrebuildTransactionOptions = { } ) : Promise < WalletInitResult > {
3330- if ( ! this . baseCoin . requiresWalletInitializationTransaction ( ) ) {
3331- throw new Error ( `Wallet initialization is not required for ${ this . baseCoin . getFullName ( ) } ` ) ;
3332- }
3333- if ( this . _wallet . multisigType !== 'tss' ) {
3334- throw new Error ( 'Wallet initialization transaction is only supported for TSS wallets' ) ;
3335- }
3336- if ( params . reqId ) {
3337- this . bitgo . setRequestTracer ( params . reqId ) ;
3338- }
3339- const buildParams : PrebuildTransactionOptions = _ . pick ( params , this . prebuildWhitelistedParams ( ) ) ;
3340- if ( ! buildParams . type ) {
3341- buildParams . type = 'createAccount' ;
3342- }
3343- const prebuildTx = await this . prebuildTransaction ( buildParams ) ;
3352+ const prebuildTx = await this . buildWalletInitialization ( params ) ;
33443353 const unsignedBuildWithOptions : PrebuildAndSignTransactionOptions = {
33453354 ...params ,
33463355 prebuildTx,
0 commit comments