diff --git a/packages/stack/src/blockchain/blockchain-electrum.ts b/packages/stack/src/blockchain/blockchain-electrum.ts index bf55a8c..824f964 100644 --- a/packages/stack/src/blockchain/blockchain-electrum.ts +++ b/packages/stack/src/blockchain/blockchain-electrum.ts @@ -109,17 +109,18 @@ export class BlockchainElectrum extends BaseBlockchain< /** * Creates a new BlockchainElectrum instance. - * @param {BlockchainElectrumParams} params - The parameters for the BlockchainElectrum instance. - * @returns {BlockchainElectrum} A new BlockchainElectrum instance. + * @param params - The parameters for the BlockchainElectrum instance. + * @returns A new BlockchainElectrum instance. */ - static async from( + static async from( + this: T, params: BlockchainElectrumParams = {}, - ): Promise { - const blockchain = new BlockchainElectrum(params); + ) { + const blockchain = new this(params); await blockchain.start(); - return blockchain; + return blockchain as InstanceType; } async start() { diff --git a/packages/stack/src/blockchain/blockchain-inmemory.ts b/packages/stack/src/blockchain/blockchain-inmemory.ts index 9ad9dc8..2ba3665 100644 --- a/packages/stack/src/blockchain/blockchain-inmemory.ts +++ b/packages/stack/src/blockchain/blockchain-inmemory.ts @@ -24,8 +24,10 @@ import { // Local Blockchain Adapter. // This simulates the BCH Blockchain. export class BlockchainInMemory extends BaseBlockchain { - static from() { - return new BlockchainInMemory(); + static async from(this: T) { + const blockchain = new this(); + await blockchain.start(); + return blockchain as InstanceType; } private transactions: BlockchainTransactions;