Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 7b8aa6e

Browse files
authored
fix: remove NonceTrackerSubprovider (#271)
1 parent a3448ab commit 7b8aa6e

1 file changed

Lines changed: 3 additions & 16 deletions

File tree

src/utils/signer.ts

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { TxData } from '@0x/contract-wrappers';
22
import { SupportedProvider, Web3Wrapper } from '@0x/dev-utils';
3-
import { NonceTrackerSubprovider, PrivateKeyWalletSubprovider, Web3ProviderEngine } from '@0x/subproviders';
3+
import { PrivateKeyWalletSubprovider, Web3ProviderEngine } from '@0x/subproviders';
44
import { BigNumber, providerUtils } from '@0x/utils';
55
import { utils as web3WrapperUtils } from '@0x/web3-wrapper/lib/src/utils';
66

@@ -12,17 +12,14 @@ import { SubproviderAdapter } from './subprovider_adapter';
1212
export class Signer {
1313
public readonly publicAddress: string;
1414
private readonly _provider: SupportedProvider;
15-
private readonly _nonceTrackerSubprovider: NonceTrackerSubprovider;
1615
private readonly _privateWalletSubprovider: PrivateKeyWalletSubprovider;
1716
private readonly _web3Wrapper: Web3Wrapper;
1817

1918
private static _createWeb3Provider(
2019
provider: SupportedProvider,
2120
privateWalletSubprovider: PrivateKeyWalletSubprovider,
22-
nonceTrackerSubprovider: NonceTrackerSubprovider,
2321
): SupportedProvider {
2422
const providerEngine = new Web3ProviderEngine();
25-
providerEngine.addProvider(nonceTrackerSubprovider);
2623
providerEngine.addProvider(privateWalletSubprovider);
2724
providerEngine.addProvider(new SubproviderAdapter(provider));
2825
providerUtils.startProviderEngine(providerEngine);
@@ -31,12 +28,7 @@ export class Signer {
3128

3229
constructor(privateKeyHex: string, provider: SupportedProvider) {
3330
this._privateWalletSubprovider = new PrivateKeyWalletSubprovider(privateKeyHex);
34-
this._nonceTrackerSubprovider = new NonceTrackerSubprovider();
35-
this._provider = Signer._createWeb3Provider(
36-
provider,
37-
this._privateWalletSubprovider,
38-
this._nonceTrackerSubprovider,
39-
);
31+
this._provider = Signer._createWeb3Provider(provider, this._privateWalletSubprovider);
4032
this._web3Wrapper = new Web3Wrapper(this._provider);
4133
this.publicAddress = (this._privateWalletSubprovider as any)._address;
4234
}
@@ -111,12 +103,7 @@ export class Signer {
111103
}
112104

113105
private async _getNonceAsync(senderAddress: string): Promise<string> {
114-
// HACK(fabio): NonceTrackerSubprovider doesn't expose the subsequent nonce
115-
// to use so we fetch it from its private instance variable
116-
let nonce = (this._nonceTrackerSubprovider as any)._nonceCache[senderAddress];
117-
if (nonce === undefined) {
118-
nonce = await this._getTransactionCountAsync(senderAddress);
119-
}
106+
const nonce = await this._getTransactionCountAsync(senderAddress);
120107
return nonce;
121108
}
122109
private async _getTransactionCountAsync(address: string): Promise<string> {

0 commit comments

Comments
 (0)