Skip to content

Commit ddd9376

Browse files
committed
feat(sdk-coin-canton): added wallet initialize builder to the builder factory
Ticket: COIN-6080
1 parent 5821b1e commit ddd9376

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

modules/sdk-coin-canton/src/lib/transactionBuilderFactory.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
import { BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
1+
import { BaseTransaction, BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
22
import { TransactionBuilder } from './transactionBuilder';
33
import { TransferBuilder } from './transferBuilder';
4+
import { WalletInitBuilder } from './walletInitBuilder';
5+
import { WalletInitTransaction } from './walletInitialization/walletInitTransaction';
46

57
export class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
68
/** @inheritdoc */
@@ -14,7 +16,17 @@ export class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
1416
}
1517

1618
/** @inheritdoc */
17-
getWalletInitializationBuilder(): void {
18-
throw new Error('Method not implemented.');
19+
getWalletInitializationBuilder(tx?: WalletInitTransaction): WalletInitBuilder {
20+
return TransactionBuilderFactory.initializeBuilder(tx, new WalletInitBuilder(this._coinConfig));
21+
}
22+
23+
private static initializeBuilder<TTx extends BaseTransaction, TBuilder extends { initBuilder(tx: TTx): void }>(
24+
tx: TTx | undefined,
25+
builder: TBuilder
26+
): TBuilder {
27+
if (tx) {
28+
builder.initBuilder(tx);
29+
}
30+
return builder;
1931
}
2032
}

0 commit comments

Comments
 (0)