From c26c364bc6100eb3494dbc40b314dd3f19e770a7 Mon Sep 17 00:00:00 2001 From: Maxim Kucherov Date: Tue, 9 Aug 2022 23:58:50 +0300 Subject: [PATCH] Fix toolkit providers --- .../web3BlockchainToolkitProvider.ts | 6 +++--- src/ethereum/signers/web3EthereumSigner.ts | 12 ++++-------- .../tezosBlockchainToolkitProvider.ts | 2 +- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/ethereum/blockchainToolkitProviders/web3BlockchainToolkitProvider.ts b/src/ethereum/blockchainToolkitProviders/web3BlockchainToolkitProvider.ts index ebfae963..6098fb74 100644 --- a/src/ethereum/blockchainToolkitProviders/web3BlockchainToolkitProvider.ts +++ b/src/ethereum/blockchainToolkitProviders/web3BlockchainToolkitProvider.ts @@ -5,7 +5,7 @@ import { Web3EthereumSigner } from '../index'; export class Web3BlockchainToolkitProvider implements BlockchainToolkitProvider { readonly toolkitId = 'web3'; - + protected readonlyToolkit: Web3 | undefined; protected toolkit: Web3 | undefined; @@ -32,7 +32,7 @@ export class Web3BlockchainToolkitProvider implements BlockchainToolkitProvider if (!(signer instanceof Web3EthereumSigner)) return false; - this.readonlyToolkit = new Web3(signer.provider); + this.toolkit = new Web3(signer.web3.currentProvider); return true; } @@ -41,7 +41,7 @@ export class Web3BlockchainToolkitProvider implements BlockchainToolkitProvider if (!(signer instanceof Web3EthereumSigner)) return false; - this.readonlyToolkit = undefined; + this.toolkit = undefined; return true; } diff --git a/src/ethereum/signers/web3EthereumSigner.ts b/src/ethereum/signers/web3EthereumSigner.ts index c58328f3..f86d188c 100644 --- a/src/ethereum/signers/web3EthereumSigner.ts +++ b/src/ethereum/signers/web3EthereumSigner.ts @@ -14,20 +14,16 @@ export class Web3EthereumSigner implements Signer { constructor( readonly atomexNetwork: AtomexNetwork, readonly atomexContext: AtomexContext, - readonly provider: Web3['currentProvider'] + readonly web3: Web3 ) { } - static bind(atomex: Atomex, provider: Web3['currentProvider']): void { - const signer = new Web3EthereumSigner(atomex.atomexNetwork, atomex.atomexContext, provider); + static bind(atomex: Atomex, web3: Web3): void { + const signer = new Web3EthereumSigner(atomex.atomexNetwork, atomex.atomexContext, web3); atomex.addSigner(signer); } async getAddress(): Promise { - const web3 = await this.atomexContext.providers.blockchainProvider.getReadonlyToolkit(this.blockchain, 'web3') as Web3 | undefined; - if (!web3) - throw new Error('readonly web3 toolkit is unavailable'); - - const accounts = await web3.eth.getAccounts(); + const accounts = await this.web3.eth.getAccounts(); const address = accounts[0]; if (!address) throw new Error('Address is unavailable'); diff --git a/src/tezos/blockchainToolkitProviders/tezosBlockchainToolkitProvider.ts b/src/tezos/blockchainToolkitProviders/tezosBlockchainToolkitProvider.ts index 83817496..a12bedfc 100644 --- a/src/tezos/blockchainToolkitProviders/tezosBlockchainToolkitProvider.ts +++ b/src/tezos/blockchainToolkitProviders/tezosBlockchainToolkitProvider.ts @@ -46,7 +46,7 @@ export class TezosBlockchainToolkitProvider implements BlockchainToolkitProvider if (!walletProvider) return false; - this.readonlyToolkit = undefined; + this.toolkit = undefined; return true; }