@@ -758,36 +758,12 @@ export abstract class BaseProvider extends AbstractProvider {
758758 return minedNonce + pendingNonce ;
759759 } ;
760760
761- getSubstrateNonce = async (
762- addressOrName : string | Promise < string > ,
763- blockTag ?: BlockTag | Promise < BlockTag >
764- ) : Promise < number > => {
765- const resolvedBlockTag = await blockTag ;
766-
767- const address = await addressOrName ;
768- const [ substrateAddress , blockHash ] = await Promise . all ( [
769- this . getSubstrateAddress ( address ) ,
770- this . _getBlockHash ( blockTag ) ,
771- ] ) ;
772-
773- if ( resolvedBlockTag === 'pending' ) {
774- const idx = await this . api . rpc . system . accountNextIndex ( substrateAddress ) ;
775- return idx . toNumber ( ) ;
776- }
777-
778- const accountInfo = await this . queryStorage ( 'system.account' , [ substrateAddress ] , blockHash ) ;
779-
780- return accountInfo . nonce . toNumber ( ) ;
781- } ;
782-
783761 getCode = async (
784762 addressOrName : string | Promise < string > ,
785763 _blockTag ?: BlockTag | Promise < BlockTag > | Eip1898BlockTag
786764 ) : Promise < string > => {
787765 const blockTag = await this . _ensureSafeModeBlockTagFinalization ( await parseBlockTag ( _blockTag ) ) ;
788766
789- if ( blockTag === 'pending' ) return '0x' ;
790-
791767 const [ address , blockHash ] = await Promise . all ( [
792768 addressOrName ,
793769 this . _getBlockHash ( blockTag ) ,
@@ -944,7 +920,7 @@ export abstract class BaseProvider extends AbstractProvider {
944920 */
945921 estimateGas = async (
946922 transaction : Deferrable < TransactionRequest > ,
947- blockTag ?: BlockTag | Promise < BlockTag >
923+ blockTag ?: BlockTag ,
948924 ) : Promise < BigNumber > => {
949925 const blockHash = blockTag && blockTag !== 'latest'
950926 ? await this . _getBlockHash ( blockTag )
@@ -1186,7 +1162,7 @@ export abstract class BaseProvider extends AbstractProvider {
11861162 } ;
11871163 } ;
11881164
1189- getSubstrateAddress = async ( addressOrName : string , blockTag ?: BlockTag | Promise < BlockTag > ) : Promise < string > => {
1165+ getSubstrateAddress = async ( addressOrName : string , blockTag ?: BlockTag ) : Promise < string > => {
11901166 const [ address , blockHash ] = await Promise . all ( [
11911167 addressOrName ,
11921168 this . _getBlockHash ( blockTag ) ,
@@ -1197,7 +1173,7 @@ export abstract class BaseProvider extends AbstractProvider {
11971173 return substrateAccount . isEmpty ? computeDefaultSubstrateAddress ( address ) : substrateAccount . toString ( ) ;
11981174 } ;
11991175
1200- getEvmAddress = async ( substrateAddress : string , blockTag ?: BlockTag | Promise < BlockTag > ) : Promise < string > => {
1176+ getEvmAddress = async ( substrateAddress : string , blockTag ?: BlockTag ) : Promise < string > => {
12011177 const blockHash = await this . _getBlockHash ( blockTag ) ;
12021178 const evmAddress = await this . queryStorage < Option < H160 > > ( 'evmAccounts.evmAddresses' , [ substrateAddress ] , blockHash ) ;
12031179
@@ -1208,10 +1184,7 @@ export abstract class BaseProvider extends AbstractProvider {
12081184 addressOrName : string | Promise < string > ,
12091185 _blockTag ?: BlockTag | Promise < BlockTag > | Eip1898BlockTag
12101186 ) : Promise < Option < EvmAccountInfo > > => {
1211- let blockTag = await this . _ensureSafeModeBlockTagFinalization ( await parseBlockTag ( _blockTag ) ) ;
1212- if ( blockTag === 'pending' ) {
1213- blockTag = 'latest' ;
1214- }
1187+ const blockTag = await this . _ensureSafeModeBlockTagFinalization ( await parseBlockTag ( _blockTag ) ) ;
12151188
12161189 const [ address , blockHash ] = await Promise . all ( [
12171190 addressOrName ,
@@ -1502,9 +1475,7 @@ export abstract class BaseProvider extends AbstractProvider {
15021475
15031476 _getBlockNumber = async ( blockTag : BlockTag ) : Promise < number > => {
15041477 switch ( blockTag ) {
1505- case 'pending' : {
1506- return logger . throwError ( 'pending tag not implemented' , Logger . errors . UNSUPPORTED_OPERATION ) ;
1507- }
1478+ case 'pending' :
15081479 case 'latest' : {
15091480 return this . getBlockNumber ( ) ;
15101481 }
@@ -1531,13 +1502,11 @@ export abstract class BaseProvider extends AbstractProvider {
15311502 }
15321503 } ;
15331504
1534- _getBlockHash = async ( _blockTag ?: BlockTag | Promise < BlockTag > ) : Promise < string > => {
1535- const blockTag = ( await _blockTag ) || 'latest' ;
1505+ _getBlockHash = async ( _blockTag ?: BlockTag ) : Promise < string > => {
1506+ const blockTag = _blockTag ?? 'latest' ;
15361507
15371508 switch ( blockTag ) {
1538- case 'pending' : {
1539- return logger . throwError ( 'pending tag not supported' , Logger . errors . UNSUPPORTED_OPERATION ) ;
1540- }
1509+ case 'pending' :
15411510 case 'latest' : {
15421511 return this . safeMode ? this . finalizedBlockHash : this . bestBlockHash ;
15431512 }
@@ -1638,7 +1607,7 @@ export abstract class BaseProvider extends AbstractProvider {
16381607 } ;
16391608
16401609 _getBlockHeader = async ( blockTag ?: BlockTag | Promise < BlockTag > ) : Promise < Header > => {
1641- const blockHash = await this . _getBlockHash ( blockTag ) ;
1610+ const blockHash = await this . _getBlockHash ( await blockTag ) ;
16421611
16431612 try {
16441613 const header = await this . api . rpc . chain . getHeader ( blockHash ) ;
0 commit comments