11import { TxData } from '@0x/contract-wrappers' ;
22import { SupportedProvider , Web3Wrapper } from '@0x/dev-utils' ;
3- import { NonceTrackerSubprovider , PrivateKeyWalletSubprovider , Web3ProviderEngine } from '@0x/subproviders' ;
3+ import { PrivateKeyWalletSubprovider , Web3ProviderEngine } from '@0x/subproviders' ;
44import { BigNumber , providerUtils } from '@0x/utils' ;
55import { utils as web3WrapperUtils } from '@0x/web3-wrapper/lib/src/utils' ;
66
@@ -12,17 +12,14 @@ import { SubproviderAdapter } from './subprovider_adapter';
1212export 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