essential-eth 0.5.4 → 0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/classes/Contract.d.ts +10 -4
- package/lib/cjs/classes/Contract.js +15 -4
- package/lib/cjs/classes/utils/clean-block.d.ts +115 -0
- package/lib/cjs/classes/utils/clean-block.js +122 -9
- package/lib/cjs/classes/utils/clean-log.d.ts +9 -0
- package/lib/cjs/classes/utils/clean-log.js +37 -0
- package/lib/cjs/classes/utils/clean-transaction-receipt.d.ts +9 -0
- package/lib/cjs/classes/utils/clean-transaction-receipt.js +11 -16
- package/lib/cjs/classes/utils/clean-transaction.d.ts +9 -0
- package/lib/cjs/classes/utils/clean-transaction.js +10 -1
- package/lib/cjs/classes/utils/encode-decode-transaction.d.ts +12 -0
- package/lib/cjs/classes/utils/encode-decode-transaction.js +24 -0
- package/lib/cjs/classes/utils/fetchers.d.ts +31 -1
- package/lib/cjs/classes/utils/fetchers.js +30 -0
- package/lib/cjs/classes/utils/hex-to-decimal.d.ts +14 -1
- package/lib/cjs/classes/utils/hex-to-decimal.js +14 -1
- package/lib/cjs/classes/utils/prepare-transaction.d.ts +6 -0
- package/lib/cjs/classes/utils/prepare-transaction.js +45 -0
- package/lib/cjs/index.d.ts +10 -5
- package/lib/cjs/index.js +10 -2
- package/lib/cjs/logger/package-version.d.ts +1 -1
- package/lib/cjs/logger/package-version.js +1 -1
- package/lib/cjs/providers/BaseProvider.d.ts +282 -199
- package/lib/cjs/providers/BaseProvider.js +365 -214
- package/lib/cjs/providers/FallthroughProvider.d.ts +1 -2
- package/lib/cjs/providers/JsonRpcProvider.d.ts +6 -0
- package/lib/cjs/providers/JsonRpcProvider.js +6 -0
- package/lib/cjs/providers/utils/chains-info.d.ts +27 -0
- package/lib/cjs/providers/utils/chains-info.js +84 -3
- package/lib/cjs/shared/tiny-big/helpers.d.ts +16 -0
- package/lib/cjs/shared/tiny-big/helpers.js +27 -1
- package/lib/cjs/shared/tiny-big/tiny-big.d.ts +30 -4
- package/lib/cjs/shared/tiny-big/tiny-big.js +34 -4
- package/lib/cjs/types/Block.types.d.ts +11 -7
- package/lib/cjs/types/Filter.types.d.ts +16 -0
- package/lib/cjs/types/Filter.types.js +2 -0
- package/lib/cjs/types/Transaction.types.d.ts +33 -6
- package/lib/cjs/utils/bytes.d.ts +150 -33
- package/lib/cjs/utils/bytes.js +179 -32
- package/lib/cjs/utils/compute-address.d.ts +17 -0
- package/lib/cjs/utils/compute-address.js +33 -0
- package/lib/cjs/utils/compute-public-key.d.ts +18 -0
- package/lib/cjs/utils/compute-public-key.js +26 -0
- package/lib/cjs/utils/ether-to-gwei.d.ts +2 -1
- package/lib/cjs/utils/ether-to-gwei.js +2 -1
- package/lib/cjs/utils/ether-to-wei.d.ts +2 -1
- package/lib/cjs/utils/ether-to-wei.js +2 -1
- package/lib/cjs/utils/gwei-to-ether.d.ts +2 -1
- package/lib/cjs/utils/gwei-to-ether.js +2 -1
- package/lib/cjs/utils/hash-message.d.ts +3 -1
- package/lib/cjs/utils/hash-message.js +3 -1
- package/lib/cjs/utils/is-address.d.ts +2 -2
- package/lib/cjs/utils/is-address.js +2 -2
- package/lib/cjs/utils/keccak256.d.ts +15 -1
- package/lib/cjs/utils/keccak256.js +16 -2
- package/lib/cjs/utils/solidity-keccak256.d.ts +17 -7
- package/lib/cjs/utils/solidity-keccak256.js +27 -7
- package/lib/cjs/utils/split-signature.d.ts +24 -0
- package/lib/cjs/utils/split-signature.js +163 -0
- package/lib/cjs/utils/to-checksum-address.d.ts +2 -2
- package/lib/cjs/utils/to-checksum-address.js +2 -2
- package/lib/cjs/utils/to-utf8-bytes.d.ts +14 -0
- package/lib/cjs/utils/to-utf8-bytes.js +14 -0
- package/lib/cjs/utils/wei-to-ether.d.ts +2 -1
- package/lib/cjs/utils/wei-to-ether.js +14 -3
- package/lib/esm/classes/utils/clean-block.js +7 -8
- package/lib/esm/classes/utils/clean-log.d.ts +2 -0
- package/lib/esm/classes/utils/clean-log.js +26 -0
- package/lib/esm/classes/utils/clean-transaction-receipt.js +2 -16
- package/lib/esm/classes/utils/clean-transaction.js +1 -1
- package/lib/esm/classes/utils/fetchers.d.ts +1 -1
- package/lib/esm/classes/utils/prepare-transaction.d.ts +2 -0
- package/lib/esm/classes/utils/prepare-transaction.js +34 -0
- package/lib/esm/index.d.ts +10 -5
- package/lib/esm/index.js +7 -3
- package/lib/esm/logger/package-version.d.ts +1 -1
- package/lib/esm/logger/package-version.js +1 -1
- package/lib/esm/providers/BaseProvider.d.ts +7 -1
- package/lib/esm/providers/BaseProvider.js +67 -11
- package/lib/esm/providers/FallthroughProvider.d.ts +1 -2
- package/lib/esm/providers/utils/chains-info.d.ts +27 -0
- package/lib/esm/providers/utils/chains-info.js +84 -3
- package/lib/esm/shared/tiny-big/tiny-big.js +4 -0
- package/lib/esm/types/Block.types.d.ts +11 -7
- package/lib/esm/types/Filter.types.d.ts +12 -0
- package/lib/esm/types/Filter.types.js +1 -0
- package/lib/esm/types/Transaction.types.d.ts +31 -5
- package/lib/esm/utils/compute-address.d.ts +1 -0
- package/lib/esm/utils/compute-address.js +11 -0
- package/lib/esm/utils/compute-public-key.d.ts +2 -0
- package/lib/esm/utils/compute-public-key.js +6 -0
- package/lib/esm/utils/keccak256.d.ts +1 -1
- package/lib/esm/utils/keccak256.js +2 -2
- package/lib/esm/utils/split-signature.d.ts +2 -0
- package/lib/esm/utils/split-signature.js +126 -0
- package/lib/esm/utils/wei-to-ether.js +11 -2
- package/package.json +38 -11
- package/readme.md +1209 -335
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { TinyBig } from '../shared/tiny-big/tiny-big';
|
|
2
2
|
import { BlockResponse, BlockTag } from '../types/Block.types';
|
|
3
|
+
import { Filter, FilterByBlockHash } from '../types/Filter.types';
|
|
3
4
|
import { Network } from '../types/Network.types';
|
|
4
|
-
import { TransactionReceipt, TransactionResponse } from '../types/Transaction.types';
|
|
5
|
+
import { Log, TransactionReceipt, TransactionRequest, TransactionResponse } from '../types/Transaction.types';
|
|
5
6
|
export declare abstract class BaseProvider {
|
|
6
7
|
/**
|
|
7
8
|
* ignore
|
|
@@ -17,254 +18,336 @@ export declare abstract class BaseProvider {
|
|
|
17
18
|
*/
|
|
18
19
|
protected _post: (body: Record<string, unknown>) => Promise<any>;
|
|
19
20
|
/**
|
|
20
|
-
* @param
|
|
21
|
+
* @param rpcUrls The URL(s) to your Eth node(s). Consider POKT or Infura
|
|
22
|
+
* @example
|
|
23
|
+
* `https://free-eth-node.com/api/eth`
|
|
24
|
+
* @example
|
|
25
|
+
* `https://mainnet.infura.io/v3/YOUR-PROJECT-ID`
|
|
21
26
|
*/
|
|
22
27
|
constructor(rpcUrls: string[]);
|
|
23
28
|
/**
|
|
24
|
-
*
|
|
29
|
+
* Gets information (name, chainId, and ensAddress when applicable) about the network the provider is connected to.
|
|
30
|
+
*
|
|
31
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.getNetwork`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getNetwork) in ethers.js
|
|
32
|
+
* * [Similar](/docs/api#isd) to [`web3.eth.getChainId`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#getchainid) in web3.js, returns more than just the `chainId`
|
|
33
|
+
*
|
|
34
|
+
* @returns information about the network this provider is currently connected to
|
|
35
|
+
* @example
|
|
36
|
+
* ```javascript
|
|
37
|
+
* jsonRpcProvider('https://free-eth-node.com/api/eth').getNetwork();
|
|
38
|
+
* // { chainId: 1, name: 'eth', ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e' }
|
|
39
|
+
* ```
|
|
40
|
+
* @example
|
|
41
|
+
* ```javascript
|
|
42
|
+
* jsonRpcProvider('https://free-eth-node.com/api/MATIC').getNetwork();
|
|
43
|
+
* // { chainId: 137, name: 'MATIC', ensAddress: null }
|
|
44
|
+
* ```
|
|
25
45
|
*/
|
|
26
46
|
getNetwork(): Promise<Network>;
|
|
27
47
|
/**
|
|
28
|
-
*
|
|
48
|
+
* Gets the number of the most recently mined block on the network the provider is connected to.
|
|
29
49
|
*
|
|
30
|
-
*
|
|
50
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.getBlockNumber`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getBlockNumber) in ethers.js
|
|
51
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.getBlockNumber`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#getblocknumber) in web3.js
|
|
52
|
+
*
|
|
53
|
+
* @returns the number of the most recently mined block
|
|
31
54
|
* @example
|
|
32
|
-
* ```
|
|
55
|
+
* ```javascript
|
|
56
|
+
* await provider.getBlockNumber();
|
|
57
|
+
* // 1053312
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
getBlockNumber(): Promise<number>;
|
|
61
|
+
/**
|
|
62
|
+
* Gets information about a specified transaction, even if it hasn't been mined yet.
|
|
63
|
+
*
|
|
64
|
+
* * [Similar](/docs/api#isd) to [`ethers.provider.getTransaction`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getTransaction) in ethers.js, does not have `wait` method that waits until the transaction has been mined
|
|
65
|
+
* * [Similar](/docs/api#isd) to [`web3.eth.getTransaction`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#gettransaction) in web3.js, some information returned using different types
|
|
66
|
+
*
|
|
67
|
+
* @param transactionHash the hash of the transaction to get information about
|
|
68
|
+
* @returns information about the specified transaction
|
|
69
|
+
* @example
|
|
70
|
+
* ```javascript
|
|
33
71
|
* await provider.getTransaction('0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789');
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* }
|
|
57
|
-
* },
|
|
58
|
-
* gasPrice: Big {
|
|
59
|
-
* s: 1,
|
|
60
|
-
* e: 10,
|
|
61
|
-
* c: [
|
|
62
|
-
* 4, 8, 5, 9, 2,
|
|
63
|
-
* 4, 2, 6, 8, 5,
|
|
64
|
-
* 8
|
|
65
|
-
* ],
|
|
66
|
-
* constructor: <ref *1> [Function: Big] {
|
|
67
|
-
* DP: 20,
|
|
68
|
-
* RM: 1,
|
|
69
|
-
* NE: -7,
|
|
70
|
-
* PE: 21,
|
|
71
|
-
* strict: false,
|
|
72
|
-
* roundDown: 0,
|
|
73
|
-
* roundHalfUp: 1,
|
|
74
|
-
* roundHalfEven: 2,
|
|
75
|
-
* roundUp: 3,
|
|
76
|
-
* Big: [Circular *1],
|
|
77
|
-
* default: [Circular *1]
|
|
78
|
-
* }
|
|
79
|
-
* },
|
|
80
|
-
* hash: '0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789',
|
|
81
|
-
* input: '0x83259f170000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dfd9de5f6fa60bd70636c0900752e93a6144aed400000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009e99ad11a214fd016b19dc3648678c5944859ae292b21c24ca94f857836c4596f1950c82dd0c23dd621af4763edc2f66466e63c5df9de0c1107b1cd16bf460fe93e43fd308e3444bc79c3d88a4cb961dc8367ab6ad048867afc76d193bca99cf3a068864ed4a7df1dbf1d4c52238eced3e5e05644b4040fc2b3ccb8557b0e99fff6131305a0ea2b8061b90bd418db5bbdd2e92129f52d93f90531465e309c4caec5b85285822b6196398d36f16f511811b61bbda6461e80e29210cd303118bdcee8df6fa0505ffbe8642094fd2ba4dd458496fe3b459ac880bbf71877c713e969ccf5ed7efab8a84ebc07e3939901371ca427e1192e455a8f35a6a1d7ad09e1475dd1758b36fa631dab5d70e99316b23c4c43094188d360cd9c3457355904e07c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000162074a7047f',
|
|
82
|
-
* maxFeePerGas: Big {
|
|
83
|
-
* s: 1,
|
|
84
|
-
* e: 10,
|
|
85
|
-
* c: [
|
|
86
|
-
* 6, 7, 6, 8, 1,
|
|
87
|
-
* 2, 6, 1, 6, 1,
|
|
88
|
-
* 8
|
|
89
|
-
* ],
|
|
90
|
-
* constructor: <ref *1> [Function: Big] {
|
|
91
|
-
* DP: 20,
|
|
92
|
-
* RM: 1,
|
|
93
|
-
* NE: -7,
|
|
94
|
-
* PE: 21,
|
|
95
|
-
* strict: false,
|
|
96
|
-
* roundDown: 0,
|
|
97
|
-
* roundHalfUp: 1,
|
|
98
|
-
* roundHalfEven: 2,
|
|
99
|
-
* roundUp: 3,
|
|
100
|
-
* Big: [Circular *1],
|
|
101
|
-
* default: [Circular *1]
|
|
102
|
-
* }
|
|
103
|
-
* },
|
|
104
|
-
* maxPriorityFeePerGas: Big {
|
|
105
|
-
* s: 1,
|
|
106
|
-
* e: 9,
|
|
107
|
-
* c: [ 1, 5 ],
|
|
108
|
-
* constructor: <ref *1> [Function: Big] {
|
|
109
|
-
* DP: 20,
|
|
110
|
-
* RM: 1,
|
|
111
|
-
* NE: -7,
|
|
112
|
-
* PE: 21,
|
|
113
|
-
* strict: false,
|
|
114
|
-
* roundDown: 0,
|
|
115
|
-
* roundHalfUp: 1,
|
|
116
|
-
* roundHalfEven: 2,
|
|
117
|
-
* roundUp: 3,
|
|
118
|
-
* Big: [Circular *1],
|
|
119
|
-
* default: [Circular *1]
|
|
120
|
-
* }
|
|
121
|
-
* },
|
|
122
|
-
* nonce: 129,
|
|
123
|
-
* r: '0x59a7c15b12c18cd68d6c440963d959bff3e73831ffc938e75ecad07f7ee43fbc',
|
|
124
|
-
* s: '0x1ebaf05f0d9273b16c2a7748b150a79d22533a8cd74552611cbe620fee3dcf1c',
|
|
125
|
-
* to: '0x39B72d136ba3e4ceF35F48CD09587ffaB754DD8B',
|
|
126
|
-
* transactionIndex: 29,
|
|
127
|
-
* type: 2,
|
|
128
|
-
* v: 0,
|
|
129
|
-
* value: Big {
|
|
130
|
-
* s: 1,
|
|
131
|
-
* e: 0,
|
|
132
|
-
* c: [ 0 ],
|
|
133
|
-
* constructor: <ref *1> [Function: Big] {
|
|
134
|
-
* DP: 20,
|
|
135
|
-
* RM: 1,
|
|
136
|
-
* NE: -7,
|
|
137
|
-
* PE: 21,
|
|
138
|
-
* strict: false,
|
|
139
|
-
* roundDown: 0,
|
|
140
|
-
* roundHalfUp: 1,
|
|
141
|
-
* roundHalfEven: 2,
|
|
142
|
-
* roundUp: 3,
|
|
143
|
-
* Big: [Circular *1],
|
|
144
|
-
* default: [Circular *1]
|
|
145
|
-
* }
|
|
146
|
-
* },
|
|
147
|
-
* confirmations: 1210
|
|
148
|
-
* }
|
|
72
|
+
* // {
|
|
73
|
+
* // accessList: [],
|
|
74
|
+
* // blockHash: "0x876810a013dbcd140f6fd6048c1dc33abbb901f1f96b394c2fa63aef3cb40b5d",
|
|
75
|
+
* // blockNumber: 14578286,
|
|
76
|
+
* // chainId: 1,
|
|
77
|
+
* // from: "0xdfD9dE5f6FA60BD70636c0900752E93a6144AEd4",
|
|
78
|
+
* // gas: { TinyBig: 112163 },
|
|
79
|
+
* // gasPrice: { TinyBig: 48592426858 },
|
|
80
|
+
* // hash: "0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789",
|
|
81
|
+
* // input: "0x83259f17000000000000000000000000000000000000000000...",
|
|
82
|
+
* // maxFeePerGas: { TinyBig: 67681261618 },
|
|
83
|
+
* // maxPriorityFeePerGas: { TinyBig: 1500000000 },
|
|
84
|
+
* // nonce: { TinyBig: 129 },
|
|
85
|
+
* // r: "0x59a7c15b12c18cd68d6c440963d959bff3e73831ffc938e75ecad07f7ee43fbc",
|
|
86
|
+
* // s: "0x1ebaf05f0d9273b16c2a7748b150a79d22533a8cd74552611cbe620fee3dcf1c",
|
|
87
|
+
* // to: "0x39B72d136ba3e4ceF35F48CD09587ffaB754DD8B",
|
|
88
|
+
* // transactionIndex: 29,
|
|
89
|
+
* // type: 2,
|
|
90
|
+
* // v: 0,
|
|
91
|
+
* // value: { TinyBig: 0 },
|
|
92
|
+
* // confirmations: 298140,
|
|
93
|
+
* // }
|
|
149
94
|
* ```
|
|
150
95
|
*/
|
|
151
96
|
getTransaction(transactionHash: string): Promise<TransactionResponse>;
|
|
152
97
|
/**
|
|
153
|
-
* Gives information about a transaction that has already been mined. Includes additional information beyond what's provided by `getTransaction()
|
|
98
|
+
* Gives information about a transaction that has already been mined. Includes additional information beyond what's provided by [`getTransaction`](/docs/api/modules#gettransaction).
|
|
154
99
|
*
|
|
155
|
-
* *
|
|
100
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.getTransactionReceipt`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getTransactionReceipt) in ethers.js
|
|
101
|
+
* * [Similar](/docs/api#isd) to [`web3.eth.getTransactionReceipt`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#gettransactionreceipt) in web3.js, some information returned using different types
|
|
156
102
|
*
|
|
157
103
|
* @param transactionHash the hash of the transaction to get information about
|
|
158
|
-
*
|
|
104
|
+
* @returns information about the specified transaction that has already been mined
|
|
105
|
+
* @example
|
|
106
|
+
* ```javascript
|
|
107
|
+
* await provider.getTransactionReceipt('0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789');
|
|
108
|
+
* // {
|
|
109
|
+
* // blockHash: "0x876810a013dbcd140f6fd6048c1dc33abbb901f1f96b394c2fa63aef3cb40b5d",
|
|
110
|
+
* // blockNumber: 14578286,
|
|
111
|
+
* // contractAddress: null,
|
|
112
|
+
* // cumulativeGasUsed: { TinyBig: 3067973 },
|
|
113
|
+
* // effectiveGasPrice: { TinyBig: 48592426858 },
|
|
114
|
+
* // from: "0xdfD9dE5f6FA60BD70636c0900752E93a6144AEd4",
|
|
115
|
+
* // gasUsed: { TinyBig: 112163 },
|
|
116
|
+
* // logs: [
|
|
117
|
+
* // {
|
|
118
|
+
* // address: "0x0eDF9bc41Bbc1354c70e2107F80C42caE7FBBcA8",
|
|
119
|
+
* // blockHash: "0x876810a013dbcd140f6fd6048c1dc33abbb901f1f96b394c2fa63aef3cb40b5d",
|
|
120
|
+
* // blockNumber: 14578286,
|
|
121
|
+
* // data: "0x0000000000000000000000000000000000000000000003a12ec797b5484968c1",
|
|
122
|
+
* // logIndex: 42,
|
|
123
|
+
* // topics: [
|
|
124
|
+
* // "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
125
|
+
* // "0x00000000000000000000000039b72d136ba3e4cef35f48cd09587ffab754dd8b",
|
|
126
|
+
* // "0x000000000000000000000000dfd9de5f6fa60bd70636c0900752e93a6144aed4",
|
|
127
|
+
* // ],
|
|
128
|
+
* // transactionHash: "0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789",
|
|
129
|
+
* // transactionIndex: 29,
|
|
130
|
+
* // },
|
|
131
|
+
* // {
|
|
132
|
+
* // address: "0x39B72d136ba3e4ceF35F48CD09587ffaB754DD8B",
|
|
133
|
+
* // blockHash: "0x876810a013dbcd140f6fd6048c1dc33abbb901f1f96b394c2fa63aef3cb40b5d",
|
|
134
|
+
* // blockNumber: 14578286,
|
|
135
|
+
* // data: "0x0000000000000000000000000000000000000000000003a12ec797b5484968c1",
|
|
136
|
+
* // logIndex: 43,
|
|
137
|
+
* // topics: [
|
|
138
|
+
* // "0x34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf7",
|
|
139
|
+
* // "0x000000000000000000000000dfd9de5f6fa60bd70636c0900752e93a6144aed4",
|
|
140
|
+
* // "0x0000000000000000000000000000000000000000000000000000000000000003",
|
|
141
|
+
* // ],
|
|
142
|
+
* // transactionHash: "0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789",
|
|
143
|
+
* // transactionIndex: 29,
|
|
144
|
+
* // },
|
|
145
|
+
* // ],
|
|
146
|
+
* // logsBloom: "0x00000000000000000000000000000...",
|
|
147
|
+
* // status: 1,
|
|
148
|
+
* // to: "0x39B72d136ba3e4ceF35F48CD09587ffaB754DD8B",
|
|
149
|
+
* // transactionHash: "0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789",
|
|
150
|
+
* // transactionIndex: 29,
|
|
151
|
+
* // type: 2,
|
|
152
|
+
* // byzantium: true,
|
|
153
|
+
* // confirmations: 298171,
|
|
154
|
+
* // }
|
|
155
|
+
* ```
|
|
159
156
|
*/
|
|
160
157
|
getTransactionReceipt(transactionHash: string): Promise<TransactionReceipt>;
|
|
161
158
|
/**
|
|
162
|
-
* Returns the
|
|
159
|
+
* Returns the number of sent transactions by an address, from genesis (or as far back as a provider looks) up to specified block.
|
|
163
160
|
*
|
|
164
|
-
* *
|
|
165
|
-
* *
|
|
161
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.getTransactionCount`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getTransactionCount) in ethers.js
|
|
162
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.getTransactionCount`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#gettransactioncount) in web3.js
|
|
166
163
|
*
|
|
164
|
+
* @param address the address to count number of sent transactions
|
|
165
|
+
* @param blockTag the block to count transactions up to, inclusive
|
|
166
|
+
* @returns the number of transactions sent by the specified address
|
|
167
167
|
* @example
|
|
168
|
-
* ```
|
|
169
|
-
*
|
|
170
|
-
* await provider
|
|
171
|
-
* .getTransactionCount(address, 'latest')
|
|
168
|
+
* ```javascript
|
|
169
|
+
* await provider.getTransactionCount('0x71660c4005ba85c37ccec55d0c4493e66fe775d3');
|
|
172
170
|
* // 1060000
|
|
173
171
|
* ```
|
|
174
|
-
*
|
|
175
172
|
* @example
|
|
176
|
-
* ```
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
* // 1053312
|
|
173
|
+
* ```javascript
|
|
174
|
+
* await provider.getTransactionCount('0x71660c4005ba85c37ccec55d0c4493e66fe775d3', 'latest');
|
|
175
|
+
* // 1060000
|
|
180
176
|
* ```
|
|
181
|
-
*
|
|
182
177
|
* @example
|
|
183
|
-
* ```
|
|
184
|
-
*
|
|
185
|
-
* .getTransactionCount(address, 14649390)
|
|
178
|
+
* ```javascript
|
|
179
|
+
* await provider.getTransactionCount('0x71660c4005ba85c37ccec55d0c4493e66fe775d3', 14649390);
|
|
186
180
|
* // 1053312
|
|
187
181
|
* ```
|
|
188
182
|
*/
|
|
189
183
|
getTransactionCount(address: string, blockTag?: BlockTag): Promise<number>;
|
|
190
184
|
/**
|
|
191
|
-
* Gets information about a certain block.
|
|
192
|
-
* Same as `web3.eth.getBlock` and `ethers.providers.getBlock`
|
|
185
|
+
* Gets information about a certain block, optionally with full transaction objects.
|
|
193
186
|
*
|
|
194
|
-
*
|
|
187
|
+
* * [Similar](/docs/api#isd) to [`ethers.provider.getBlock`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getLogs) in ethers.js, includes some additional information. Can also return block with full transaction objects, similar to [`ethers.providers.getBlockWithTransactions`]
|
|
188
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.getBlock`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#getpastlogs) in web3.js
|
|
195
189
|
*
|
|
190
|
+
* @param timeFrame The number, hash, or text-based description ('latest', 'earliest', or 'pending') of the block to collect information on.
|
|
196
191
|
* @param returnTransactionObjects Whether to also return data about the transactions on the block.
|
|
197
|
-
*
|
|
198
192
|
* @returns A BlockResponse object with information about the specified block
|
|
193
|
+
* @example
|
|
194
|
+
* ```javascript
|
|
195
|
+
* await provider.getBlock(14879862);
|
|
196
|
+
* // {
|
|
197
|
+
* // baseFeePerGas: { TinyBig: 39095728776 },
|
|
198
|
+
* // difficulty: { TinyBig: 14321294455359973 },
|
|
199
|
+
* // extraData: "0x486976656f6e2073672d6865617679",
|
|
200
|
+
* // gasLimit: { TinyBig: 29970620 },
|
|
201
|
+
* // gasUsed: { TinyBig: 20951384 },
|
|
202
|
+
* // hash: "0x563b458ec3c4f87393b53f70bdddc0058497109b784d8cacd9247ddf267049ab",
|
|
203
|
+
* // logsBloom:
|
|
204
|
+
* // "0x9f38794fe80b521794df6efad8b0d2e9582f9ec3959a3f9384bda0fa371cfa5fac5af9d515c6bdf1ec325f5b5f7ebdd6a3a9fae17b38a86d4dc4b0971afc68d8086640550f4c156e6f923f4a1bb94fb0bed6cdcc474c5c64bfeff7a4a906f72b9a7b94004ee58efc53d63ac66961acd3a431b2d896cc9fd75f6072960bced45f770587caf130f57504decfcb63c6ca8fbc5bdbd749edd5a99a7375d2b81872289adb775fb3c928259f4be39c6d3f4d5b6217822979bb88c1f1fb62429b1b6d41cf4e3f77f9e1db3f5723108f1e5b1255dd734ad8cdb11e7ea22487c788e67c83777b6f395e504ca59c64f52245ee6de3804cf809e5caa4f0ea6a9aa9eb6ed801",
|
|
205
|
+
* // miner: "0x1aD91ee08f21bE3dE0BA2ba6918E714dA6B45836",
|
|
206
|
+
* // mixHash: "0x73cc9419bfb89c9d41c3a8c34ce56b5ebe468bdcf870258d2e77262275d580ec",
|
|
207
|
+
* // nonce: "0x976f3f5d596ffb08",
|
|
208
|
+
* // number: 14879862,
|
|
209
|
+
* // parentHash: "0x95986ae14a71face8d9a6a379edd875b2e8bc73e4de0d9d460e7752bddb0f579",
|
|
210
|
+
* // receiptsRoot: "0x8e6ba2fd9bee602b653dae6e3132f16538c2c5df24f1df8c000392053f73defa",
|
|
211
|
+
* // sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
|
212
|
+
* // size: { TinyBig: 134483 },
|
|
213
|
+
* // stateRoot: "0xbf2bb67bd1c741f3d00904b8451d7c2cf4e3a2726f5a5884792ede2074747b85",
|
|
214
|
+
* // timestamp: { TinyBig: 1654016186 },
|
|
215
|
+
* // totalDifficulty: { TinyBig: 50478104614257705213748 },
|
|
216
|
+
* // transactions: [
|
|
217
|
+
* // "0xb3326a9149809603a2c28545e50e4f7d16e194bf5ee9764e0544603854c4a8d2",
|
|
218
|
+
* // "0x8b42095f8d335404a4896b2817b8e5e3d86a5a87cb434a8eec295d5280a7f48e",
|
|
219
|
+
* // "0x882f78fcb73f0f7ad0700bb0424a8b4beb366aaa93b88a3562c49a8d0ce4dcff",
|
|
220
|
+
* // ...
|
|
221
|
+
* // ],
|
|
222
|
+
* // transactionsRoot: "0x5934902f3dcc263ec34f24318179bf6301f53f4834685792066026f3a4849d72",
|
|
223
|
+
* // uncles: [],
|
|
224
|
+
* // }
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
getBlock(timeFrame?: BlockTag, returnTransactionObjects?: boolean): Promise<BlockResponse>;
|
|
228
|
+
/**
|
|
229
|
+
* Gives an estimate of the current gas price in wei.
|
|
230
|
+
*
|
|
231
|
+
* * [Similar](/docs/api#isd) to [`ethers.provider.getGasPrice`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getGasPrice) in ethers.js, does not have a parameter specifying what unit you'd like to return. See also [`weiToEther`](/docs/api/modules#weitoether) and [`etherToGwei`](/docs/api/modules#ethertogwei)
|
|
232
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.getGasPrice`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#getgasprice) in web3.js, returns a number (TinyBig) instead of a string
|
|
199
233
|
*
|
|
234
|
+
* @returns an estimate of the current gas price in wei
|
|
200
235
|
* @example
|
|
201
|
-
* ```
|
|
202
|
-
* await provider.
|
|
236
|
+
* ```javascript
|
|
237
|
+
* await provider.getGasPrice();
|
|
238
|
+
* // 52493941856
|
|
203
239
|
* ```
|
|
240
|
+
*/
|
|
241
|
+
getGasPrice(): Promise<TinyBig>;
|
|
242
|
+
/**
|
|
243
|
+
* Returns the balance of the account in wei.
|
|
244
|
+
*
|
|
245
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.getBalance`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getBalance) in ethers.js
|
|
246
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.getBalance`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#getbalance) in web3.js, returns a number (TinyBig) instead of a string
|
|
204
247
|
*
|
|
248
|
+
* @param address the address to check the balance of
|
|
249
|
+
* @param blockTag the block to check the specified address' balance on
|
|
250
|
+
* @returns the balance of the network's native token for the specified address on the specified block
|
|
205
251
|
* @example
|
|
206
|
-
* ```
|
|
207
|
-
*
|
|
252
|
+
* ```javascript
|
|
253
|
+
* await provider.getBalance('0x7cB57B5A97eAbe94205C07890BE4c1aD31E486A8');
|
|
254
|
+
* // 28798127851528138
|
|
208
255
|
* ```
|
|
256
|
+
*/
|
|
257
|
+
getBalance(address: string, blockTag?: BlockTag): Promise<TinyBig>;
|
|
258
|
+
/**
|
|
259
|
+
* Gets the code of a contract on a specified block.
|
|
260
|
+
*
|
|
261
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.getCode`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getCode) in ethers.js
|
|
262
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.getCode`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#getcode) in web3.js
|
|
209
263
|
*
|
|
264
|
+
* @param address the contract address to get the contract code from
|
|
265
|
+
* @param blockTag the block height to search for the contract code from. Contract code can change, so this allows for checking a specific block
|
|
266
|
+
* @returns the contract creation code for the specified address at the specified block height
|
|
210
267
|
* @example
|
|
211
|
-
* ```
|
|
212
|
-
* await
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
* hash: '0x93211a1cd17e154b183565ec685254a03f844a8e34824a46ce1bdd6753dcb669',
|
|
216
|
-
* parentHash: '0x1b32bfcba1bb2a57f56e166a3bb06875a1978992999dfc8828397b4c1526f472',
|
|
217
|
-
* sha3Uncles: '0x0fb399c67bb5a071ec8a22549223215ab76b7d4009941c9c37aa3c3936010463',
|
|
218
|
-
* logsBloom: '0x00000000000000000000101000000000020000000000000000000000000000000000400000010000000000000000000000000000010000000008800000000800000000200000000000000000000000000000000000000000000002000000000000000000000000000040000000000040000000000000000000000000000000000000000000000001000000000004000000000010000000000000000020000000000000000200100020000000000000000080000000000080001000000000000000000001040000000000000000008000000020010100000000200000100000000000000000000000002000000080000000020400000000002000200000000000',
|
|
219
|
-
* transactionsRoot: '0xc43b3f13e1fe810e34d3a26ffe465b72c7063a5c70a02de2c78e91e4d10bd9fb',
|
|
220
|
-
* stateRoot: '0x04d7bc816537ea7ef3a16e76c9879d29f34f99d4154273c2e98e012a31bad745',
|
|
221
|
-
* receiptsRoot: '0x89c6f781ceac0bd49c4d9aa9115df4a5d4dd0e0220ff7668012f15bc04222c6b',
|
|
222
|
-
* miner: '0x31fe561eb2c628cD32Ec52573D7c4b7E4C278Bfa',
|
|
223
|
-
* difficulty: '1300907486001755331049',
|
|
224
|
-
* totalDifficulty: '5989929395521171616186006183',
|
|
225
|
-
* extraData: '0xce018c495249532d62613031656132',
|
|
226
|
-
* size: 5416,
|
|
227
|
-
* gasLimit: 6800000,
|
|
228
|
-
* gasUsed: 202955,
|
|
229
|
-
* timestamp: 1649884910,
|
|
230
|
-
* transactions: [
|
|
231
|
-
* '0x6b34a59c7b9aead24fa6dad782f8a3ad84ed4a23ee09bcbf0bcf880840fbbe20',
|
|
232
|
-
* '0x9a3851ca24d5336c6a0d48aba2c4b4769d7a672c9b01729c5eb9924efd1b19a7',
|
|
233
|
-
* '0xc3ed3d198b62f2f3427ebfa3bbd0fcada4e3c0c189e4464e7eeceb403c75981e'
|
|
234
|
-
* ],
|
|
235
|
-
* uncles: [
|
|
236
|
-
* '0x0c567c054e98153f10d651fbbc018891c1dd9d62a9ffd998e87678803e95b6ed',
|
|
237
|
-
* '0xb7d69389dbfb057c6fcb4bc0582d46a2ba01170703f0dadf8cd1462b83e88753',
|
|
238
|
-
* '0xd5f74ccd0ad4c58b3161e8c2c507c264231e5f28925061b809c02e5e4bb6db28'
|
|
239
|
-
* ],
|
|
240
|
-
* minimumGasPrice: '0x387ee40',
|
|
241
|
-
* bitcoinMergedMiningHeader: '0x04000020e8567ed3d2480e15a1dd1b4335e4732ae343c037e4fd03000000000000000000ed10a8340d163d3e813bdd430f902f4e5a56828dc62313b2e23797c0be6b8516eb3e576297d8091735884f42',
|
|
242
|
-
* bitcoinMergedMiningCoinbaseTransaction: '0x0000000000000140e910128fda7bac502dc5e0573bbaf12de8e2524f70c22f7bd160dedcb19a2521002b6a2952534b424c4f434b3ae493303f597fa368c0ccc4f8aceabf1c315bb7c9a07605c073a89f260040967aace6a7d9',
|
|
243
|
-
* bitcoinMergedMiningMerkleProof: '0xdf63a3d7eb6fbcfb301311faa46e9a15b0408bb1a04e284daee86c273c1dfd65ede23f3170f806e9e0f4cef7ba6b56aa37470d9c23f96ec8e43d08b58645919c5e10bcb892897a731f8f9ce79c72dc0e390896bcd6c67bb38c0bdb72982b6cf05519968d76673572c3f3ef3a08b0ddb464863f1788f7cdbaad3fe44a8a8af576d430ac282fe28852c16df198ca96cc5f71a50695912efe1a836e8442be69e31b6d6f973da2818bce9a3a1c2d9be0671aee9a7776e398d6a03d1e178e20d84646004a3d03c0501334e629d9146aa6a01316dcbaa289df6e6c5e3090cadaddff22699cfc7ff09512fc0d65c5062f17c98561ce3c9510de210d9d654cf99f8d756ff37c9fa21e7122ee8cadb923341690845d572921425f2bd7e044558b7e07983ac4df28928028b0c13c3624dc7a965af8091b0cecc845bf7da5308c03b2c97d607f6706a599f802025894435f1d76ea4e67cc2fc4e1559f1206f559a24633de0f',
|
|
244
|
-
* hashForMergedMining: '0xe493303f597fa368c0ccc4f8aceabf1c315bb7c9a07605c073a89f260040967a',
|
|
245
|
-
* paidFees: '0xc0744dcb7a0',
|
|
246
|
-
* cumulativeDifficulty: '0x1190930db285269e582'
|
|
247
|
-
* }
|
|
248
|
-
*```
|
|
268
|
+
* ```javascript
|
|
269
|
+
* await jsonRpcProvider().getCode('0xaC6095720221C79C6E7C638d260A2eFBC5D8d880', 'latest');
|
|
270
|
+
* // '0x608060405234801561001057600080fd5b506004361061...'
|
|
271
|
+
* ```
|
|
249
272
|
*/
|
|
250
|
-
|
|
273
|
+
getCode(address: string, blockTag?: BlockTag): Promise<string>;
|
|
251
274
|
/**
|
|
252
|
-
* Returns the
|
|
253
|
-
*
|
|
275
|
+
* Returns an estimate of the amount of gas that would be required to submit transaction to the network.
|
|
276
|
+
* An estimate may not be accurate since there could be another transaction on the network that was not accounted for.
|
|
277
|
+
*
|
|
278
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.estimateGas`](https://docs.ethers.io/v5/api/providers/provider/#Provider-estimateGas) in ethers.js
|
|
279
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.estimateGas`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#estimateGas) in web3.js
|
|
280
|
+
*
|
|
281
|
+
* @param transaction the transaction to check the estimated gas cost for
|
|
282
|
+
* @returns the estimated amount of gas charged for submitting the specified transaction to the blockchain
|
|
283
|
+
* @example
|
|
284
|
+
* ```javascript
|
|
285
|
+
* await provider.estimateGas({
|
|
286
|
+
* // Wrapped ETH address
|
|
287
|
+
* to: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
|
288
|
+
* data: "0xd0e30db0",
|
|
289
|
+
* value: etherToWei('1.0').toHexString(),
|
|
290
|
+
* });
|
|
291
|
+
* // { TinyBig: "27938" }
|
|
292
|
+
* ```
|
|
254
293
|
*/
|
|
255
|
-
|
|
294
|
+
estimateGas(transaction: TransactionRequest): Promise<TinyBig>;
|
|
256
295
|
/**
|
|
257
|
-
* Returns
|
|
258
|
-
*
|
|
259
|
-
* * Same as `web3.eth.getBalance`
|
|
296
|
+
* Returns transaction receipt event logs that match a specified filter.
|
|
297
|
+
* May return `[]` if parameters are too broad, even if logs exist.
|
|
260
298
|
*
|
|
299
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.getLogs`](https://docs.ethers.io/v5/api/providers/provider/#Provider-getLogs) in ethers.js
|
|
300
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.getPastLogs`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#getpastlogs) in web3.js
|
|
301
|
+
*
|
|
302
|
+
* @param filter parameters to filter the logs by
|
|
303
|
+
* @returns an array of logs matching the specified filter
|
|
261
304
|
* @example
|
|
262
|
-
* ```
|
|
263
|
-
*
|
|
264
|
-
*
|
|
265
|
-
*
|
|
266
|
-
*
|
|
305
|
+
* ```javascript
|
|
306
|
+
* provider.getLogs({
|
|
307
|
+
* address: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
|
|
308
|
+
* topics: [
|
|
309
|
+
* "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
310
|
+
* "0x00000000000000000000000021b8065d10f73ee2e260e5b47d3344d3ced7596e",
|
|
311
|
+
* ],
|
|
312
|
+
* fromBlock: 14825027,
|
|
313
|
+
* toBlock: 14825039,
|
|
314
|
+
* });
|
|
315
|
+
*
|
|
316
|
+
* [
|
|
317
|
+
* {
|
|
318
|
+
* address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
|
|
319
|
+
* blockHash: '0x8e0dfac2f704851960f866c8708b3bef2f66c0fee0329cf25ff0261b264ca6bc',
|
|
320
|
+
* blockNumber: 14825029,
|
|
321
|
+
* data: '0x000000000000000000000000000000000000000000000000005f862ee352a38a',
|
|
322
|
+
* logIndex: 384,
|
|
323
|
+
* removed: false,
|
|
324
|
+
* topics: [
|
|
325
|
+
* '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
|
|
326
|
+
* '0x00000000000000000000000021b8065d10f73ee2e260e5b47d3344d3ced7596e',
|
|
327
|
+
* '0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45'
|
|
328
|
+
* ],
|
|
329
|
+
* transactionHash: '0xbd49031be16f8fd1775f4e0fe79b408ffd8ae9c65b2827ee47e3238e3f51f4c0',
|
|
330
|
+
* transactionIndex: 226
|
|
331
|
+
* }
|
|
332
|
+
* ]
|
|
267
333
|
* ```
|
|
268
334
|
*/
|
|
269
|
-
|
|
335
|
+
getLogs(filter: Filter | FilterByBlockHash): Promise<Array<Log>>;
|
|
336
|
+
/**
|
|
337
|
+
* Returns the result of adding a transaction to the blockchain without actually adding that transaction to the blockchain.
|
|
338
|
+
* Does not require any ether as gas.
|
|
339
|
+
*
|
|
340
|
+
* * [Identical](/docs/api#isd) to [`ethers.provider.call`](https://docs.ethers.io/v5/api/providers/provider/#Provider-call) in ethers.js
|
|
341
|
+
* * [Identical](/docs/api#isd) to [`web3.eth.call`](https://web3js.readthedocs.io/en/v1.7.3/web3-eth.html#call) in web3.js
|
|
342
|
+
*
|
|
343
|
+
* @param transaction the transaction object to, in theory, execute. Doesn't actually get added to the blockchain.
|
|
344
|
+
* @param blockTag the block to execute this transaction on
|
|
345
|
+
* @returns the result of executing the transaction on the specified block
|
|
346
|
+
* @example
|
|
347
|
+
* ```javascript
|
|
348
|
+
* await provider.call({ to: "0x6b175474e89094c44da98b954eedeac495271d0f", data: "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE" });
|
|
349
|
+
* // '0x0000000000000000000000000000000000000000000000000858898f93629000'
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
call(transaction: TransactionRequest, blockTag?: BlockTag): Promise<string>;
|
|
270
353
|
}
|