AbstractProvider
An AbstractProvider provides a base class for other sub-classes to implement the Provider API by normalizing input arguments and formatting output results as well as tracking events for consistent behaviour on an eventually-consistent network.
Extended by
Type parameters
Type parameter | Value |
---|---|
C | FetchRequest |
Implements
Constructors
new AbstractProvider()
new AbstractProvider<C>(_network?, options?): AbstractProvider<C>
Create a new AbstractProvider connected to network
, or use the various network detection capabilities to
discover the Network if necessary.
Parameters
Parameter | Type | Description |
---|---|---|
_network ? | Networkish | The network to connect to, or "any" to |
options ? | AbstractProviderOptions | The options to configure the provider. |
Returns
Source
providers/abstract-provider.ts:697
Accessors
connect
get connect(): FetchRequest[]
Get the list of connected FetchRequests.
Returns
The list of connected FetchRequests.
Source
providers/abstract-provider.ts:796
destroyed
get destroyed(): boolean
If this provider has been destroyed using the destroy method.
Once destroyed, all resources are reclaimed, internal event loops and timers are cleaned up and no further requests may be sent to the provider.
Returns
boolean
Source
providers/abstract-provider.ts:2037
paused
get paused(): boolean
Whether the provider is currently paused.
A paused provider will not emit any events, and generally should not make any requests to the network, but that is up to sub-classes to manage.
Setting paused = true
is identical to calling .pause(false)
, which will buffer any events that occur while
paused until the provider is unpaused.
Returns
boolean
Whether the provider is paused.
Source
providers/abstract-provider.ts:2069
pollingInterval
get pollingInterval(): number
Get the polling interval.
Returns
number
The polling interval.
Source
providers/abstract-provider.ts:915
provider
get provider(): this
Returns this
, to allow an AbstractProvider to implement the Contract Runner
interface.
Returns
this
The provider instance.
Source
providers/abstract-provider.ts:925
Methods
_clearTimeout()
_clearTimeout(timerId): void
Clear a timer created using the AbstractProvider._setTimeout | _setTimeout method.
Parameters
Parameter | Type | Description |
---|---|---|
timerId | number | The ID of the timer to clear. |
Returns
void
Source
providers/abstract-provider.ts:1752
destroy()
destroy(): void
Sub-classes may use this to shutdown any sockets or release their resources and reject any pending requests.
Sub-classes must call super.destroy()
.
Returns
void
Implementation of
Source
providers/abstract-provider.ts:2046
getLatestQiRate()
getLatestQiRate(zone, amt?): Promise<bigint>
Get the latest Qi rate for a zone.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
zone | Zone | undefined | The zone to get the rate for. |
amt ? | number | 1 | The amount to get the rate for. Default is 1 |
Returns
Promise
<bigint
>
A promise that resolves to the latest Qi rate.
Source
providers/abstract-provider.ts:883
getLatestQuaiRate()
getLatestQuaiRate(zone, amt?): Promise<bigint>
Get the latest Quai rate for a zone.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
zone | Zone | undefined | The zone to get the rate for. |
amt ? | number | 1 | The amount to get the rate for. Default is 1 |
Returns
Promise
<bigint
>
A promise that resolves to the latest Quai rate.
Source
providers/abstract-provider.ts:838
getProtocolExpansionNumber()
getProtocolExpansionNumber(): Promise<number>
Get the protocol expansion number.
Returns
Promise
<number
>
A promise that resolves to the protocol expansion number.
Implementation of
Provider
.getProtocolExpansionNumber
Source
providers/abstract-provider.ts:870
getQiRateAtBlock()
getQiRateAtBlock(
zone,
blockTag,
amt?): Promise<bigint>
Get the Qi rate at a specific block.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
zone | Zone | undefined | The zone to get the rate for. |
blockTag | BlockTag | undefined | The block tag to get the rate at. |
amt ? | number | 1 | The amount to get the rate for. Default is 1 |
Returns
Promise
<bigint
>
A promise that resolves to the Qi rate at the specified block.
Source
providers/abstract-provider.ts:896
getQuaiRateAtBlock()
getQuaiRateAtBlock(
zone,
blockTag,
amt?): Promise<bigint>
Get the Quai rate at a specific block.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
zone | Zone | undefined | The zone to get the rate for. |
blockTag | BlockTag | undefined | The block tag to get the rate at. |
amt ? | number | 1 | The amount to get the rate for. Default is 1 |
Returns
Promise
<bigint
>
A promise that resolves to the Quai rate at the specified block.
Source
providers/abstract-provider.ts:851
initialize()
initialize<U>(urls): Promise<void>
Initialize the URL map with the provided URLs.
Type parameters
Type parameter | Value |
---|---|
U | string [] | FetchRequest |
Parameters
Parameter | Type | Description |
---|---|---|
urls | U | The URLs to initialize the map with. |
Returns
Promise
<void
>
A promise that resolves when the map is initialized.
Source
providers/abstract-provider.ts:744
pause()
pause(dropWhilePaused?): void
Pause the provider. If dropWhilePaused
, any events that occur while paused are dropped, otherwise all events
will be emitted once the provider is unpaused.
Parameters
Parameter | Type | Description |
---|---|---|
dropWhilePaused ? | boolean | Whether to drop events while paused. |
Returns
void
Source
providers/abstract-provider.ts:2090
resume()
resume(): void
Resume the provider.
Returns
void
Source
providers/abstract-provider.ts:2119
shardFromHash()
shardFromHash(hash): Shard
Get the shard from a hash.
Parameters
Parameter | Type | Description |
---|---|---|
hash | string | The hash to get the shard from. |
Returns
The shard.
Source
providers/abstract-provider.ts:817
zoneFromAddress()
zoneFromAddress(_address): Promise<Zone>
Get the zone from an address.
Parameters
Parameter | Type | Description |
---|---|---|
_address | AddressLike | The address to get the zone from. |
Returns
Promise
<Zone
>
A promise that resolves to the zone.
Source
providers/abstract-provider.ts:806
zoneFromHash()
zoneFromHash(hash): Zone
Get the zone from a hash.
Parameters
Parameter | Type | Description |
---|---|---|
hash | string | The hash to get the zone from. |
Returns
The zone.