viem 0.0.1-alpha.24 → 0.0.1-alpha.25

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.
Files changed (154) hide show
  1. package/contract/package.json +4 -0
  2. package/dist/call-ac509982.d.ts +23 -0
  3. package/dist/{chain-e33d019b.d.ts → chain-c4ccb458.d.ts} +1 -1
  4. package/dist/{chain-afa13f5a.d.ts → chain-f16512e8.d.ts} +20 -1
  5. package/dist/chains.d.ts +20 -8
  6. package/dist/chains.js +46 -46
  7. package/dist/chains.mjs +1 -1
  8. package/dist/{chunk-YQUC52RL.mjs → chunk-2Y3UZMSP.mjs} +77 -84
  9. package/dist/chunk-2Y3UZMSP.mjs.map +1 -0
  10. package/dist/{chunk-A2HXAZXC.js → chunk-CD2XJOBJ.js} +135 -142
  11. package/dist/chunk-CD2XJOBJ.js.map +1 -0
  12. package/dist/{chunk-LQVMDX5I.mjs → chunk-KSAO4Y4Q.mjs} +133 -54
  13. package/dist/chunk-KSAO4Y4Q.mjs.map +1 -0
  14. package/dist/{chunk-3ARWEJ3G.mjs → chunk-LEPQJNVO.mjs} +18 -2
  15. package/dist/chunk-LEPQJNVO.mjs.map +1 -0
  16. package/dist/{chunk-ZYSXBTBB.js → chunk-NUXMGPMK.js} +30 -14
  17. package/dist/chunk-NUXMGPMK.js.map +1 -0
  18. package/dist/{chunk-4D5XG6XB.js → chunk-THMRUG4D.js} +148 -69
  19. package/dist/chunk-THMRUG4D.js.map +1 -0
  20. package/dist/{contract-70f4ddbe.d.ts → contract-9e76e561.d.ts} +44 -31
  21. package/dist/contract.d.ts +123 -0
  22. package/dist/contract.js +53 -0
  23. package/dist/{clients/index.js.map → contract.js.map} +0 -0
  24. package/dist/contract.mjs +53 -0
  25. package/dist/{clients/index.mjs.map → contract.mjs.map} +0 -0
  26. package/dist/{createClient-60e3ab98.d.ts → createClient-68ee4bb4.d.ts} +3 -3
  27. package/dist/{createPublicClient-d3d12dc3.d.ts → createPublicClient-b732194e.d.ts} +3 -3
  28. package/dist/{createTestClient-5f4532c4.d.ts → createTestClient-dedf321e.d.ts} +3 -3
  29. package/dist/{createWalletClient-9ec3df4f.d.ts → createWalletClient-75813d83.d.ts} +3 -3
  30. package/dist/decodeErrorResult-0b934d23.d.ts +16 -0
  31. package/dist/{eip1193-9317a312.d.ts → eip1193-6f9ba163.d.ts} +1 -1
  32. package/dist/ens.d.ts +82 -1
  33. package/dist/ens.js +208 -3
  34. package/dist/ens.js.map +1 -1
  35. package/dist/ens.mjs +209 -4
  36. package/dist/ens.mjs.map +1 -1
  37. package/dist/getAbiItem-c8e6e7d4.d.ts +97 -0
  38. package/dist/index.d.ts +85 -175
  39. package/dist/index.js +237 -279
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +245 -287
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/public.d.ts +352 -10
  44. package/dist/public.js +3 -4
  45. package/dist/public.mjs +6 -7
  46. package/dist/readContract-4f6e2692.d.ts +10 -0
  47. package/dist/rpc-a5a7f376.d.ts +121 -0
  48. package/dist/{sendTransaction-54a0d509.d.ts → sendTransaction-e713f90c.d.ts} +3 -3
  49. package/dist/test.d.ts +160 -5
  50. package/dist/test.js +222 -18
  51. package/dist/test.js.map +1 -1
  52. package/dist/test.mjs +233 -29
  53. package/dist/test.mjs.map +1 -1
  54. package/dist/transactionReceipt-2a86c7c7.d.ts +26 -0
  55. package/dist/{transactionRequest-bdf57f7d.d.ts → transactionRequest-c7794f5e.d.ts} +1 -1
  56. package/dist/utils/index.d.ts +224 -20
  57. package/dist/utils/index.js +2 -6
  58. package/dist/utils/index.mjs +3 -7
  59. package/dist/wallet.d.ts +41 -7
  60. package/dist/wallet.js +3 -3
  61. package/dist/wallet.mjs +2 -2
  62. package/dist/watchEvent-c346c12d.d.ts +41 -0
  63. package/dist/window.d.ts +2 -2
  64. package/ens/package.json +4 -0
  65. package/package.json +13 -9
  66. package/src/_test/constants.ts +2 -0
  67. package/src/_test/utils.ts +10 -5
  68. package/src/actions/ens/getEnsAddress.bench.ts +26 -0
  69. package/src/actions/ens/getEnsAddress.test.ts +97 -0
  70. package/src/actions/ens/getEnsAddress.ts +122 -0
  71. package/src/actions/ens/getEnsName.bench.ts +30 -0
  72. package/src/actions/ens/getEnsName.test.ts +101 -0
  73. package/src/actions/ens/getEnsName.ts +106 -0
  74. package/src/actions/ens/index.test.ts +12 -0
  75. package/src/actions/ens/index.ts +3 -0
  76. package/src/actions/index.ts +3 -3
  77. package/src/actions/public/createEventFilter.test.ts +36 -4
  78. package/src/actions/public/createEventFilter.ts +27 -10
  79. package/src/actions/public/getFilterChanges.test.ts +198 -4
  80. package/src/actions/public/getFilterLogs.test.ts +195 -2
  81. package/src/actions/public/getLogs.test.ts +201 -2
  82. package/src/actions/public/index.test.ts +0 -1
  83. package/src/actions/public/index.ts +1 -7
  84. package/src/actions/public/multicall.ts +8 -3
  85. package/src/actions/public/simulateContract.ts +1 -4
  86. package/src/actions/public/watchContractEvent.test.ts +4 -4
  87. package/src/actions/{public → wallet}/deployContract.test.ts +1 -2
  88. package/src/actions/{public → wallet}/deployContract.ts +0 -0
  89. package/src/actions/wallet/index.test.ts +1 -0
  90. package/src/actions/wallet/index.ts +6 -0
  91. package/src/chains.test.ts +44 -1517
  92. package/src/clients/transports/webSocket.test.ts +1 -0
  93. package/src/clients/transports/webSocket.ts +1 -0
  94. package/src/contract.test.ts +31 -0
  95. package/src/contract.ts +68 -0
  96. package/src/ens.test.ts +15 -0
  97. package/src/ens.ts +4 -1
  98. package/src/errors/abi.ts +18 -2
  99. package/src/errors/chain.test.ts +46 -0
  100. package/src/errors/chain.ts +33 -0
  101. package/src/errors/contract.ts +2 -2
  102. package/src/errors/index.ts +3 -0
  103. package/src/index.test.ts +0 -147
  104. package/src/index.ts +0 -257
  105. package/src/public.test.ts +36 -0
  106. package/src/public.ts +2 -6
  107. package/src/test.test.ts +38 -0
  108. package/src/test.ts +1 -0
  109. package/src/types/contract.ts +144 -40
  110. package/src/types/index.ts +2 -1
  111. package/src/types/utils.ts +21 -0
  112. package/src/utils/abi/decodeErrorResult.test.ts +1 -1
  113. package/src/utils/abi/decodeEventLog.test.ts +542 -0
  114. package/src/utils/abi/decodeEventLog.ts +107 -0
  115. package/src/utils/abi/decodeFunctionData.test.ts +1 -2
  116. package/src/utils/abi/decodeFunctionData.ts +5 -2
  117. package/src/utils/abi/encodeFunctionData.ts +1 -4
  118. package/src/utils/abi/index.test.ts +1 -0
  119. package/src/utils/abi/index.ts +6 -0
  120. package/src/utils/ens/index.test.ts +1 -0
  121. package/src/utils/ens/index.ts +2 -0
  122. package/src/utils/ens/packetToBytes.test.ts +11 -0
  123. package/src/utils/ens/packetToBytes.ts +29 -0
  124. package/src/utils/index.test.ts +1 -3
  125. package/src/utils/index.ts +3 -2
  126. package/src/utils/rpc.test.ts +1 -0
  127. package/src/utils/rpc.ts +4 -2
  128. package/src/wallet.test.ts +19 -0
  129. package/wallet/package.json +4 -0
  130. package/clients/package.json +0 -4
  131. package/dist/chunk-3ARWEJ3G.mjs.map +0 -1
  132. package/dist/chunk-4D5XG6XB.js.map +0 -1
  133. package/dist/chunk-6QTEW2BE.mjs +0 -260
  134. package/dist/chunk-6QTEW2BE.mjs.map +0 -1
  135. package/dist/chunk-A2HXAZXC.js.map +0 -1
  136. package/dist/chunk-KRPS5CIB.mjs +0 -256
  137. package/dist/chunk-KRPS5CIB.mjs.map +0 -1
  138. package/dist/chunk-LQVMDX5I.mjs.map +0 -1
  139. package/dist/chunk-N3IOPT3R.js +0 -256
  140. package/dist/chunk-N3IOPT3R.js.map +0 -1
  141. package/dist/chunk-YQUC52RL.mjs.map +0 -1
  142. package/dist/chunk-ZSTVHQ6J.js +0 -260
  143. package/dist/chunk-ZSTVHQ6J.js.map +0 -1
  144. package/dist/chunk-ZYSXBTBB.js.map +0 -1
  145. package/dist/clients/index.d.ts +0 -9
  146. package/dist/clients/index.js +0 -24
  147. package/dist/clients/index.mjs +0 -24
  148. package/dist/normalize-ef9240c0.d.ts +0 -33
  149. package/dist/parseGwei-492ab7dd.d.ts +0 -355
  150. package/dist/rpc-26932bae.d.ts +0 -61
  151. package/dist/stopImpersonatingAccount-c1a4b7e5.d.ts +0 -156
  152. package/dist/watchAsset-d59d6e35.d.ts +0 -38
  153. package/dist/watchPendingTransactions-ea21b31d.d.ts +0 -373
  154. package/dist/webSocket-775b4037.d.ts +0 -83
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
4
 
@@ -8,7 +8,6 @@
8
8
 
9
9
 
10
10
 
11
- var _chunkZSTVHQ6Jjs = require('./chunk-ZSTVHQ6J.js');
12
11
 
13
12
 
14
13
 
@@ -43,7 +42,6 @@ var _chunkZSTVHQ6Jjs = require('./chunk-ZSTVHQ6J.js');
43
42
 
44
43
 
45
44
 
46
- var _chunkA2HXAZXCjs = require('./chunk-A2HXAZXC.js');
47
45
 
48
46
 
49
47
 
@@ -59,12 +57,247 @@ var _chunkA2HXAZXCjs = require('./chunk-A2HXAZXC.js');
59
57
 
60
58
 
61
59
 
60
+ var _chunkTHMRUG4Djs = require('./chunk-THMRUG4D.js');
62
61
 
62
+ // src/clients/transports/createTransport.ts
63
+ function createTransport(config, value) {
64
+ return {
65
+ config,
66
+ value
67
+ };
68
+ }
63
69
 
70
+ // src/clients/transports/custom.ts
71
+ function custom(provider, { key = "custom", name = "Custom Provider" } = {}) {
72
+ return () => createTransport({
73
+ key,
74
+ name,
75
+ request: provider.request.bind(provider),
76
+ type: "custom"
77
+ });
78
+ }
64
79
 
80
+ // src/clients/transports/fallback.ts
81
+ function fallback(transports, { key = "fallback", name = "Fallback" } = {}) {
82
+ return ({ chain }) => createTransport(
83
+ {
84
+ key,
85
+ name,
86
+ async request({ method, params }) {
87
+ const fetch = async (i = 0) => {
88
+ const transport = transports[i]({ chain });
89
+ try {
90
+ return await transport.config.request({
91
+ method,
92
+ params
93
+ });
94
+ } catch (err) {
95
+ if (!(err instanceof _chunkTHMRUG4Djs.RpcError) && i < transports.length - 1)
96
+ return fetch(i + 1);
97
+ throw err;
98
+ }
99
+ };
100
+ return fetch();
101
+ },
102
+ type: "fallback"
103
+ },
104
+ {
105
+ transports: transports.map(
106
+ (fn) => fn({ chain })
107
+ )
108
+ }
109
+ );
110
+ }
65
111
 
112
+ // src/clients/transports/http.ts
113
+ function http(url, { key = "http", name = "HTTP JSON-RPC" } = {}) {
114
+ return ({ chain }) => {
115
+ const url_ = url || _optionalChain([chain, 'optionalAccess', _ => _.rpcUrls, 'access', _2 => _2.default, 'access', _3 => _3.http, 'access', _4 => _4[0]]);
116
+ if (!url_)
117
+ throw new (0, _chunkTHMRUG4Djs.UrlRequiredError)();
118
+ return createTransport(
119
+ {
120
+ key,
121
+ name,
122
+ async request({ method, params }) {
123
+ const { result } = await _chunkTHMRUG4Djs.rpc.http(url_, {
124
+ body: {
125
+ method,
126
+ params
127
+ }
128
+ });
129
+ return result;
130
+ },
131
+ type: "http"
132
+ },
133
+ {
134
+ url
135
+ }
136
+ );
137
+ };
138
+ }
139
+
140
+ // src/clients/transports/webSocket.ts
141
+ function webSocket(url, {
142
+ key = "webSocket",
143
+ name = "WebSocket JSON-RPC"
144
+ } = {}) {
145
+ return ({ chain }) => {
146
+ const url_ = url || _optionalChain([chain, 'optionalAccess', _5 => _5.rpcUrls, 'access', _6 => _6.default, 'access', _7 => _7.webSocket, 'optionalAccess', _8 => _8[0]]);
147
+ if (!url_)
148
+ throw new (0, _chunkTHMRUG4Djs.UrlRequiredError)();
149
+ return createTransport(
150
+ {
151
+ key,
152
+ name,
153
+ async request({ method, params }) {
154
+ const socket = await _chunkTHMRUG4Djs.getSocket.call(void 0, url_);
155
+ const { result } = await _chunkTHMRUG4Djs.rpc.webSocketAsync(socket, {
156
+ body: { method, params }
157
+ });
158
+ return result;
159
+ },
160
+ type: "webSocket"
161
+ },
162
+ {
163
+ getSocket() {
164
+ return _chunkTHMRUG4Djs.getSocket.call(void 0, url_);
165
+ },
166
+ async subscribe({ params, onData, onError }) {
167
+ const socket = await _chunkTHMRUG4Djs.getSocket.call(void 0, url_);
168
+ const { result: subscriptionId } = await new Promise(
169
+ (resolve, reject) => _chunkTHMRUG4Djs.rpc.webSocket(socket, {
170
+ body: {
171
+ method: "eth_subscribe",
172
+ params
173
+ },
174
+ onData: (data) => {
175
+ if (typeof data.id === "number") {
176
+ resolve(data);
177
+ return;
178
+ }
179
+ onData(data);
180
+ },
181
+ onError: (error) => {
182
+ reject(error);
183
+ _optionalChain([onError, 'optionalCall', _9 => _9(error)]);
184
+ }
185
+ })
186
+ );
187
+ return {
188
+ subscriptionId,
189
+ async unsubscribe() {
190
+ return new Promise(
191
+ (resolve, reject) => _chunkTHMRUG4Djs.rpc.webSocket(socket, {
192
+ body: {
193
+ method: "eth_unsubscribe",
194
+ params: [subscriptionId]
195
+ },
196
+ onData: resolve,
197
+ onError: reject
198
+ })
199
+ );
200
+ }
201
+ };
202
+ }
203
+ }
204
+ );
205
+ };
206
+ }
207
+
208
+ // src/utils/uid.ts
209
+ var size = 256;
210
+ var index = size;
211
+ var buffer;
212
+ function uid(length = 11) {
213
+ if (!buffer || index + length > size * 2) {
214
+ buffer = "";
215
+ index = 0;
216
+ for (let i = 0; i < size; i++) {
217
+ buffer += (256 + Math.random() * 256 | 0).toString(16).substring(1);
218
+ }
219
+ }
220
+ return buffer.substring(index, index++ + length);
221
+ }
222
+
223
+ // src/clients/createClient.ts
224
+ function createClient({
225
+ chain,
226
+ key = "base",
227
+ name = "Base Client",
228
+ pollingInterval = 4e3,
229
+ transport,
230
+ type = "base"
231
+ }) {
232
+ const { config, value } = transport({ chain });
233
+ return {
234
+ chain,
235
+ key,
236
+ name,
237
+ pollingInterval,
238
+ request: _chunkTHMRUG4Djs.buildRequest.call(void 0, config.request),
239
+ transport: { ...config, ...value },
240
+ type,
241
+ uid: uid()
242
+ };
243
+ }
244
+
245
+ // src/clients/createPublicClient.ts
246
+ function createPublicClient({
247
+ chain,
248
+ key = "public",
249
+ name = "Public Client",
250
+ transport,
251
+ pollingInterval
252
+ }) {
253
+ chain;
254
+ return createClient({
255
+ chain,
256
+ key,
257
+ name,
258
+ pollingInterval,
259
+ transport,
260
+ type: "publicClient"
261
+ });
262
+ }
66
263
 
264
+ // src/clients/createTestClient.ts
265
+ function createTestClient({
266
+ chain,
267
+ key = "test",
268
+ name = "Test Client",
269
+ mode,
270
+ pollingInterval,
271
+ transport
272
+ }) {
273
+ return {
274
+ ...createClient({
275
+ chain,
276
+ key,
277
+ name,
278
+ pollingInterval,
279
+ transport,
280
+ type: "testClient"
281
+ }),
282
+ mode
283
+ };
284
+ }
67
285
 
286
+ // src/clients/createWalletClient.ts
287
+ function createWalletClient({
288
+ transport,
289
+ key = "wallet",
290
+ name = "Wallet Client",
291
+ pollingInterval
292
+ }) {
293
+ return createClient({
294
+ key,
295
+ name,
296
+ pollingInterval,
297
+ transport,
298
+ type: "walletClient"
299
+ });
300
+ }
68
301
 
69
302
 
70
303
 
@@ -72,7 +305,6 @@ var _chunkA2HXAZXCjs = require('./chunk-A2HXAZXC.js');
72
305
 
73
306
 
74
307
 
75
- var _chunkN3IOPT3Rjs = require('./chunk-N3IOPT3R.js');
76
308
 
77
309
 
78
310
 
@@ -84,7 +316,6 @@ var _chunkN3IOPT3Rjs = require('./chunk-N3IOPT3R.js');
84
316
 
85
317
 
86
318
 
87
- var _chunkZYSXBTBBjs = require('./chunk-ZYSXBTBB.js');
88
319
 
89
320
 
90
321
 
@@ -132,278 +363,5 @@ var _chunkZYSXBTBBjs = require('./chunk-ZYSXBTBB.js');
132
363
 
133
364
 
134
365
 
135
-
136
-
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
208
- var _chunk4D5XG6XBjs = require('./chunk-4D5XG6XB.js');
209
-
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
-
249
-
250
-
251
-
252
-
253
-
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
-
262
-
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
-
271
-
272
-
273
-
274
-
275
-
276
-
277
-
278
-
279
-
280
-
281
-
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
-
297
-
298
-
299
-
300
-
301
-
302
-
303
-
304
-
305
-
306
-
307
-
308
-
309
-
310
-
311
-
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
-
320
-
321
-
322
-
323
-
324
-
325
-
326
-
327
-
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
-
336
-
337
-
338
-
339
-
340
-
341
-
342
-
343
-
344
-
345
-
346
-
347
-
348
-
349
-
350
-
351
-
352
-
353
-
354
-
355
-
356
-
357
-
358
-
359
-
360
-
361
-
362
-
363
-
364
-
365
-
366
-
367
-
368
-
369
-
370
-
371
-
372
-
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
-
381
-
382
-
383
-
384
-
385
-
386
-
387
-
388
-
389
-
390
-
391
-
392
-
393
-
394
-
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
-
403
-
404
-
405
-
406
-
407
-
408
- exports.AbiConstructorNotFoundError = _chunk4D5XG6XBjs.AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = _chunk4D5XG6XBjs.AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = _chunk4D5XG6XBjs.AbiDecodingDataSizeInvalidError; exports.AbiEncodingArrayLengthMismatchError = _chunk4D5XG6XBjs.AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = _chunk4D5XG6XBjs.AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = _chunk4D5XG6XBjs.AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = _chunk4D5XG6XBjs.AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = _chunk4D5XG6XBjs.AbiErrorSignatureNotFoundError; exports.AbiEventNotFoundError = _chunk4D5XG6XBjs.AbiEventNotFoundError; exports.AbiFunctionNotFoundError = _chunk4D5XG6XBjs.AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = _chunk4D5XG6XBjs.AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = _chunk4D5XG6XBjs.AbiFunctionSignatureNotFoundError; exports.BaseError = _chunk4D5XG6XBjs.BaseError; exports.BlockNotFoundError = _chunk4D5XG6XBjs.BlockNotFoundError; exports.ContractFunctionExecutionError = _chunk4D5XG6XBjs.ContractFunctionExecutionError; exports.ContractFunctionRevertedError = _chunk4D5XG6XBjs.ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = _chunk4D5XG6XBjs.ContractFunctionZeroDataError; exports.DataLengthTooLongError = _chunk4D5XG6XBjs.DataLengthTooLongError; exports.DataLengthTooShortError = _chunk4D5XG6XBjs.DataLengthTooShortError; exports.FilterTypeNotSupportedError = _chunk4D5XG6XBjs.FilterTypeNotSupportedError; exports.HttpRequestError = _chunk4D5XG6XBjs.HttpRequestError; exports.InternalRpcError = _chunk4D5XG6XBjs.InternalRpcError; exports.InvalidAbiDecodingTypeError = _chunk4D5XG6XBjs.InvalidAbiDecodingTypeError; exports.InvalidAbiEncodingTypeError = _chunk4D5XG6XBjs.InvalidAbiEncodingTypeError; exports.InvalidAddressError = _chunk4D5XG6XBjs.InvalidAddressError; exports.InvalidArrayError = _chunk4D5XG6XBjs.InvalidArrayError; exports.InvalidBytesBooleanError = _chunk4D5XG6XBjs.InvalidBytesBooleanError; exports.InvalidDefinitionTypeError = _chunk4D5XG6XBjs.InvalidDefinitionTypeError; exports.InvalidGasArgumentsError = _chunk4D5XG6XBjs.InvalidGasArgumentsError; exports.InvalidHexBooleanError = _chunk4D5XG6XBjs.InvalidHexBooleanError; exports.InvalidHexValueError = _chunk4D5XG6XBjs.InvalidHexValueError; exports.InvalidInputRpcError = _chunk4D5XG6XBjs.InvalidInputRpcError; exports.InvalidParamsRpcError = _chunk4D5XG6XBjs.InvalidParamsRpcError; exports.InvalidRequestRpcError = _chunk4D5XG6XBjs.InvalidRequestRpcError; exports.JsonRpcVersionUnsupportedError = _chunk4D5XG6XBjs.JsonRpcVersionUnsupportedError; exports.LimitExceededRpcError = _chunk4D5XG6XBjs.LimitExceededRpcError; exports.MethodNotFoundRpcError = _chunk4D5XG6XBjs.MethodNotFoundRpcError; exports.MethodNotSupportedRpcError = _chunk4D5XG6XBjs.MethodNotSupportedRpcError; exports.OffsetOutOfBoundsError = _chunk4D5XG6XBjs.OffsetOutOfBoundsError; exports.ParseRpcError = _chunk4D5XG6XBjs.ParseRpcError; exports.RequestError = _chunk4D5XG6XBjs.RequestError; exports.ResourceNotFoundRpcError = _chunk4D5XG6XBjs.ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = _chunk4D5XG6XBjs.ResourceUnavailableRpcError; exports.RpcError = _chunk4D5XG6XBjs.RpcError; exports.RpcRequestError = _chunk4D5XG6XBjs.RpcRequestError; exports.SizeExceedsPaddingSizeError = _chunk4D5XG6XBjs.SizeExceedsPaddingSizeError; exports.TimeoutError = _chunk4D5XG6XBjs.TimeoutError; exports.TransactionNotFoundError = _chunk4D5XG6XBjs.TransactionNotFoundError; exports.TransactionReceiptNotFoundError = _chunk4D5XG6XBjs.TransactionReceiptNotFoundError; exports.TransactionRejectedRpcError = _chunk4D5XG6XBjs.TransactionRejectedRpcError; exports.UnknownRpcError = _chunk4D5XG6XBjs.UnknownRpcError; exports.UrlRequiredError = _chunk4D5XG6XBjs.UrlRequiredError; exports.WaitForTransactionReceiptTimeoutError = _chunk4D5XG6XBjs.WaitForTransactionReceiptTimeoutError; exports.WebSocketRequestError = _chunk4D5XG6XBjs.WebSocketRequestError; exports.addChain = _chunkZYSXBTBBjs.addChain; exports.boolToBytes = _chunk4D5XG6XBjs.boolToBytes; exports.boolToHex = _chunk4D5XG6XBjs.boolToHex; exports.bytesToBigint = _chunk4D5XG6XBjs.bytesToBigint; exports.bytesToBool = _chunk4D5XG6XBjs.bytesToBool; exports.bytesToHex = _chunk4D5XG6XBjs.bytesToHex; exports.bytesToNumber = _chunk4D5XG6XBjs.bytesToNumber; exports.bytesToString = _chunk4D5XG6XBjs.bytesToString; exports.call = _chunkA2HXAZXCjs.call; exports.createBlockFilter = _chunkA2HXAZXCjs.createBlockFilter; exports.createClient = _chunkZSTVHQ6Jjs.createClient; exports.createContractEventFilter = _chunkA2HXAZXCjs.createContractEventFilter; exports.createEventFilter = _chunkA2HXAZXCjs.createEventFilter; exports.createPendingTransactionFilter = _chunkA2HXAZXCjs.createPendingTransactionFilter; exports.createPublicClient = _chunkZSTVHQ6Jjs.createPublicClient; exports.createTestClient = _chunkZSTVHQ6Jjs.createTestClient; exports.createTransport = _chunkZSTVHQ6Jjs.createTransport; exports.createWalletClient = _chunkZSTVHQ6Jjs.createWalletClient; exports.custom = _chunkZSTVHQ6Jjs.custom; exports.decodeAbi = _chunk4D5XG6XBjs.decodeAbi; exports.decodeBytes = _chunk4D5XG6XBjs.decodeBytes; exports.decodeErrorResult = _chunk4D5XG6XBjs.decodeErrorResult; exports.decodeFunctionData = _chunk4D5XG6XBjs.decodeFunctionData; exports.decodeFunctionResult = _chunk4D5XG6XBjs.decodeFunctionResult; exports.decodeHex = _chunk4D5XG6XBjs.decodeHex; exports.decodeRlp = _chunk4D5XG6XBjs.decodeRlp; exports.deployContract = _chunkA2HXAZXCjs.deployContract; exports.dropTransaction = _chunkN3IOPT3Rjs.dropTransaction; exports.encodeAbi = _chunk4D5XG6XBjs.encodeAbi; exports.encodeBytes = _chunk4D5XG6XBjs.encodeBytes; exports.encodeDeployData = _chunk4D5XG6XBjs.encodeDeployData; exports.encodeErrorResult = _chunk4D5XG6XBjs.encodeErrorResult; exports.encodeEventTopics = _chunk4D5XG6XBjs.encodeEventTopics; exports.encodeFunctionData = _chunk4D5XG6XBjs.encodeFunctionData; exports.encodeFunctionResult = _chunk4D5XG6XBjs.encodeFunctionResult; exports.encodeHex = _chunk4D5XG6XBjs.encodeHex; exports.encodeRlp = _chunk4D5XG6XBjs.encodeRlp; exports.estimateGas = _chunkA2HXAZXCjs.estimateGas; exports.etherUnits = _chunk4D5XG6XBjs.etherUnits; exports.fallback = _chunkZSTVHQ6Jjs.fallback; exports.formatBlock = _chunk4D5XG6XBjs.formatBlock; exports.formatEther = _chunk4D5XG6XBjs.formatEther; exports.formatGwei = _chunk4D5XG6XBjs.formatGwei; exports.formatTransaction = _chunk4D5XG6XBjs.formatTransaction; exports.formatTransactionRequest = _chunk4D5XG6XBjs.formatTransactionRequest; exports.formatUnit = _chunk4D5XG6XBjs.formatUnit; exports.getAccounts = _chunkZYSXBTBBjs.getAccounts; exports.getAddress = _chunk4D5XG6XBjs.getAddress; exports.getAutomine = _chunkN3IOPT3Rjs.getAutomine; exports.getBalance = _chunkA2HXAZXCjs.getBalance; exports.getBlock = _chunkA2HXAZXCjs.getBlock; exports.getBlockNumber = _chunkA2HXAZXCjs.getBlockNumber; exports.getBlockTransactionCount = _chunkA2HXAZXCjs.getBlockTransactionCount; exports.getBytecode = _chunkA2HXAZXCjs.getBytecode; exports.getChainId = _chunkA2HXAZXCjs.getChainId; exports.getContractAddress = _chunk4D5XG6XBjs.getContractAddress; exports.getCreate2Address = _chunk4D5XG6XBjs.getCreate2Address; exports.getCreateAddress = _chunk4D5XG6XBjs.getCreateAddress; exports.getEventSignature = _chunk4D5XG6XBjs.getEventSignature; exports.getFeeHistory = _chunkA2HXAZXCjs.getFeeHistory; exports.getFilterChanges = _chunkA2HXAZXCjs.getFilterChanges; exports.getFilterLogs = _chunkA2HXAZXCjs.getFilterLogs; exports.getFunctionSignature = _chunk4D5XG6XBjs.getFunctionSignature; exports.getGasPrice = _chunkA2HXAZXCjs.getGasPrice; exports.getLogs = _chunkA2HXAZXCjs.getLogs; exports.getPermissions = _chunkZYSXBTBBjs.getPermissions; exports.getStorageAt = _chunkA2HXAZXCjs.getStorageAt; exports.getTransaction = _chunkA2HXAZXCjs.getTransaction; exports.getTransactionConfirmations = _chunkA2HXAZXCjs.getTransactionConfirmations; exports.getTransactionCount = _chunkA2HXAZXCjs.getTransactionCount; exports.getTransactionReceipt = _chunkA2HXAZXCjs.getTransactionReceipt; exports.getTxpoolContent = _chunkN3IOPT3Rjs.getTxpoolContent; exports.getTxpoolStatus = _chunkN3IOPT3Rjs.getTxpoolStatus; exports.gweiUnits = _chunk4D5XG6XBjs.gweiUnits; exports.hexToBigInt = _chunk4D5XG6XBjs.hexToBigInt; exports.hexToBool = _chunk4D5XG6XBjs.hexToBool; exports.hexToBytes = _chunk4D5XG6XBjs.hexToBytes; exports.hexToNumber = _chunk4D5XG6XBjs.hexToNumber; exports.hexToString = _chunk4D5XG6XBjs.hexToString; exports.http = _chunkZSTVHQ6Jjs.http; exports.impersonateAccount = _chunkN3IOPT3Rjs.impersonateAccount; exports.increaseTime = _chunkN3IOPT3Rjs.increaseTime; exports.inspectTxpool = _chunkN3IOPT3Rjs.inspectTxpool; exports.isAddress = _chunk4D5XG6XBjs.isAddress; exports.isAddressEqual = _chunk4D5XG6XBjs.isAddressEqual; exports.isBytes = _chunk4D5XG6XBjs.isBytes; exports.isHex = _chunk4D5XG6XBjs.isHex; exports.keccak256 = _chunk4D5XG6XBjs.keccak256; exports.mine = _chunkN3IOPT3Rjs.mine; exports.multicall = _chunkA2HXAZXCjs.multicall; exports.multicall3Abi = _chunk4D5XG6XBjs.multicall3Abi; exports.numberToBytes = _chunk4D5XG6XBjs.numberToBytes; exports.numberToHex = _chunk4D5XG6XBjs.numberToHex; exports.pad = _chunk4D5XG6XBjs.pad; exports.padBytes = _chunk4D5XG6XBjs.padBytes; exports.padHex = _chunk4D5XG6XBjs.padHex; exports.parseEther = _chunk4D5XG6XBjs.parseEther; exports.parseGwei = _chunk4D5XG6XBjs.parseGwei; exports.parseUnit = _chunk4D5XG6XBjs.parseUnit; exports.readContract = _chunkA2HXAZXCjs.readContract; exports.removeBlockTimestampInterval = _chunkN3IOPT3Rjs.removeBlockTimestampInterval; exports.requestAccounts = _chunkZYSXBTBBjs.requestAccounts; exports.requestPermissions = _chunkZYSXBTBBjs.requestPermissions; exports.reset = _chunkN3IOPT3Rjs.reset; exports.revert = _chunkN3IOPT3Rjs.revert; exports.sendTransaction = _chunkZYSXBTBBjs.sendTransaction; exports.sendUnsignedTransaction = _chunkN3IOPT3Rjs.sendUnsignedTransaction; exports.setAutomine = _chunkN3IOPT3Rjs.setAutomine; exports.setBalance = _chunkN3IOPT3Rjs.setBalance; exports.setBlockGasLimit = _chunkN3IOPT3Rjs.setBlockGasLimit; exports.setBlockTimestampInterval = _chunkN3IOPT3Rjs.setBlockTimestampInterval; exports.setCode = _chunkN3IOPT3Rjs.setCode; exports.setCoinbase = _chunkN3IOPT3Rjs.setCoinbase; exports.setIntervalMining = _chunkN3IOPT3Rjs.setIntervalMining; exports.setLoggingEnabled = _chunkN3IOPT3Rjs.setLoggingEnabled; exports.setMinGasPrice = _chunkN3IOPT3Rjs.setMinGasPrice; exports.setNextBlockBaseFeePerGas = _chunkN3IOPT3Rjs.setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = _chunkN3IOPT3Rjs.setNextBlockTimestamp; exports.setNonce = _chunkN3IOPT3Rjs.setNonce; exports.setStorageAt = _chunkN3IOPT3Rjs.setStorageAt; exports.signMessage = _chunkZYSXBTBBjs.signMessage; exports.simulateContract = _chunkA2HXAZXCjs.simulateContract; exports.size = _chunk4D5XG6XBjs.size; exports.slice = _chunk4D5XG6XBjs.slice; exports.sliceBytes = _chunk4D5XG6XBjs.sliceBytes; exports.sliceHex = _chunk4D5XG6XBjs.sliceHex; exports.snapshot = _chunkN3IOPT3Rjs.snapshot; exports.stopImpersonatingAccount = _chunkN3IOPT3Rjs.stopImpersonatingAccount; exports.stringToBytes = _chunk4D5XG6XBjs.stringToBytes; exports.stringToHex = _chunk4D5XG6XBjs.stringToHex; exports.switchChain = _chunkZYSXBTBBjs.switchChain; exports.transactionType = _chunk4D5XG6XBjs.transactionType; exports.trim = _chunk4D5XG6XBjs.trim; exports.uninstallFilter = _chunkA2HXAZXCjs.uninstallFilter; exports.waitForTransactionReceipt = _chunkA2HXAZXCjs.waitForTransactionReceipt; exports.watchAsset = _chunkZYSXBTBBjs.watchAsset; exports.watchBlockNumber = _chunkA2HXAZXCjs.watchBlockNumber; exports.watchBlocks = _chunkA2HXAZXCjs.watchBlocks; exports.watchContractEvent = _chunkA2HXAZXCjs.watchContractEvent; exports.watchEvent = _chunkA2HXAZXCjs.watchEvent; exports.watchPendingTransactions = _chunkA2HXAZXCjs.watchPendingTransactions; exports.webSocket = _chunkZSTVHQ6Jjs.webSocket; exports.weiUnits = _chunk4D5XG6XBjs.weiUnits; exports.writeContract = _chunkZYSXBTBBjs.writeContract;
366
+ exports.AbiConstructorNotFoundError = _chunkTHMRUG4Djs.AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = _chunkTHMRUG4Djs.AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = _chunkTHMRUG4Djs.AbiDecodingDataSizeInvalidError; exports.AbiEncodingArrayLengthMismatchError = _chunkTHMRUG4Djs.AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = _chunkTHMRUG4Djs.AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = _chunkTHMRUG4Djs.AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = _chunkTHMRUG4Djs.AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = _chunkTHMRUG4Djs.AbiErrorSignatureNotFoundError; exports.AbiEventNotFoundError = _chunkTHMRUG4Djs.AbiEventNotFoundError; exports.AbiFunctionNotFoundError = _chunkTHMRUG4Djs.AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = _chunkTHMRUG4Djs.AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = _chunkTHMRUG4Djs.AbiFunctionSignatureNotFoundError; exports.BaseError = _chunkTHMRUG4Djs.BaseError; exports.BlockNotFoundError = _chunkTHMRUG4Djs.BlockNotFoundError; exports.ContractFunctionExecutionError = _chunkTHMRUG4Djs.ContractFunctionExecutionError; exports.ContractFunctionRevertedError = _chunkTHMRUG4Djs.ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = _chunkTHMRUG4Djs.ContractFunctionZeroDataError; exports.DataLengthTooLongError = _chunkTHMRUG4Djs.DataLengthTooLongError; exports.DataLengthTooShortError = _chunkTHMRUG4Djs.DataLengthTooShortError; exports.FilterTypeNotSupportedError = _chunkTHMRUG4Djs.FilterTypeNotSupportedError; exports.HttpRequestError = _chunkTHMRUG4Djs.HttpRequestError; exports.InternalRpcError = _chunkTHMRUG4Djs.InternalRpcError; exports.InvalidAbiDecodingTypeError = _chunkTHMRUG4Djs.InvalidAbiDecodingTypeError; exports.InvalidAbiEncodingTypeError = _chunkTHMRUG4Djs.InvalidAbiEncodingTypeError; exports.InvalidAddressError = _chunkTHMRUG4Djs.InvalidAddressError; exports.InvalidArrayError = _chunkTHMRUG4Djs.InvalidArrayError; exports.InvalidBytesBooleanError = _chunkTHMRUG4Djs.InvalidBytesBooleanError; exports.InvalidDefinitionTypeError = _chunkTHMRUG4Djs.InvalidDefinitionTypeError; exports.InvalidGasArgumentsError = _chunkTHMRUG4Djs.InvalidGasArgumentsError; exports.InvalidHexBooleanError = _chunkTHMRUG4Djs.InvalidHexBooleanError; exports.InvalidHexValueError = _chunkTHMRUG4Djs.InvalidHexValueError; exports.InvalidInputRpcError = _chunkTHMRUG4Djs.InvalidInputRpcError; exports.InvalidParamsRpcError = _chunkTHMRUG4Djs.InvalidParamsRpcError; exports.InvalidRequestRpcError = _chunkTHMRUG4Djs.InvalidRequestRpcError; exports.JsonRpcVersionUnsupportedError = _chunkTHMRUG4Djs.JsonRpcVersionUnsupportedError; exports.LimitExceededRpcError = _chunkTHMRUG4Djs.LimitExceededRpcError; exports.MethodNotFoundRpcError = _chunkTHMRUG4Djs.MethodNotFoundRpcError; exports.MethodNotSupportedRpcError = _chunkTHMRUG4Djs.MethodNotSupportedRpcError; exports.OffsetOutOfBoundsError = _chunkTHMRUG4Djs.OffsetOutOfBoundsError; exports.ParseRpcError = _chunkTHMRUG4Djs.ParseRpcError; exports.RequestError = _chunkTHMRUG4Djs.RequestError; exports.ResourceNotFoundRpcError = _chunkTHMRUG4Djs.ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = _chunkTHMRUG4Djs.ResourceUnavailableRpcError; exports.RpcError = _chunkTHMRUG4Djs.RpcError; exports.RpcRequestError = _chunkTHMRUG4Djs.RpcRequestError; exports.SizeExceedsPaddingSizeError = _chunkTHMRUG4Djs.SizeExceedsPaddingSizeError; exports.TimeoutError = _chunkTHMRUG4Djs.TimeoutError; exports.TransactionNotFoundError = _chunkTHMRUG4Djs.TransactionNotFoundError; exports.TransactionReceiptNotFoundError = _chunkTHMRUG4Djs.TransactionReceiptNotFoundError; exports.TransactionRejectedRpcError = _chunkTHMRUG4Djs.TransactionRejectedRpcError; exports.UnknownRpcError = _chunkTHMRUG4Djs.UnknownRpcError; exports.UrlRequiredError = _chunkTHMRUG4Djs.UrlRequiredError; exports.WaitForTransactionReceiptTimeoutError = _chunkTHMRUG4Djs.WaitForTransactionReceiptTimeoutError; exports.WebSocketRequestError = _chunkTHMRUG4Djs.WebSocketRequestError; exports.createClient = createClient; exports.createPublicClient = createPublicClient; exports.createTestClient = createTestClient; exports.createTransport = createTransport; exports.createWalletClient = createWalletClient; exports.custom = custom; exports.fallback = fallback; exports.http = http; exports.multicall3Abi = _chunkTHMRUG4Djs.multicall3Abi; exports.webSocket = webSocket;
409
367
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../src/clients/transports/createTransport.ts","../src/clients/transports/custom.ts","../src/clients/transports/fallback.ts","../src/clients/transports/http.ts","../src/clients/transports/webSocket.ts","../src/utils/uid.ts","../src/clients/createClient.ts","../src/clients/createPublicClient.ts","../src/clients/createTestClient.ts","../src/clients/createWalletClient.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Chain } from '../../types'\nimport type { Requests } from '../../types/eip1193'\n\nexport type BaseRpcRequests = {\n request(...args: any): Promise<any>\n}\n\nexport type TransportConfig<\n TType extends string = string,\n TRequests extends BaseRpcRequests['request'] = Requests['request'],\n> = {\n /** The name of the transport. */\n name: string\n /** The key of the transport. */\n key: string\n /** The JSON-RPC request function that matches the EIP-1193 request spec. */\n request: TRequests\n /** The type of the transport. */\n type: TType\n}\n\nexport type Transport<\n TType extends string = string,\n TRpcAttributes = Record<string, any>,\n> = <TChain extends Chain = Chain>({\n chain,\n}: {\n chain?: TChain\n}) => {\n config: TransportConfig<TType>\n value?: TRpcAttributes\n}\n\n/**\n * @description Creates an transport intended to be used with a client.\n */\nexport function createTransport<\n TType extends string = string,\n TRpcAttributes = any,\n>(\n config: TransportConfig<TType>,\n value?: TRpcAttributes,\n): ReturnType<Transport<TType, TRpcAttributes>> {\n return {\n config,\n value,\n }\n}\n","import type {\n BaseRpcRequests,\n Transport,\n TransportConfig,\n} from './createTransport'\nimport { createTransport } from './createTransport'\n\ntype EthereumProvider = { request: BaseRpcRequests['request'] }\n\nexport type CustomTransportConfig = {\n /** The key of the transport. */\n key?: TransportConfig['key']\n /** The name of the transport. */\n name?: TransportConfig['name']\n}\n\nexport type CustomTransport = Transport<'custom', EthereumProvider['request']>\n\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom<TProvider extends EthereumProvider>(\n /** An Ethereum provider with an EIP-1193 \"request\" attribute. */\n provider: TProvider,\n { key = 'custom', name = 'Custom Provider' }: CustomTransportConfig = {},\n): CustomTransport {\n return () =>\n createTransport({\n key,\n name,\n request: provider.request.bind(provider),\n type: 'custom',\n })\n}\n","import { HttpRequestError, RpcError } from '../../errors'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\nexport type FallbackTransportConfig = {\n /** The key of the Fallback transport. */\n key?: TransportConfig['key']\n /** The name of the Fallback transport. */\n name?: TransportConfig['name']\n}\n\nexport type FallbackTransport = Transport<\n 'fallback',\n { transports: Transport[] }\n>\n\nexport function fallback(\n transports: Transport[],\n { key = 'fallback', name = 'Fallback' }: FallbackTransportConfig = {},\n): FallbackTransport {\n return ({ chain }) =>\n createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const fetch = async (i: number = 0): Promise<any> => {\n const transport = transports[i]({ chain })\n try {\n return await transport.config.request({\n method,\n params,\n } as any)\n } catch (err) {\n if (!(err instanceof RpcError) && i < transports.length - 1)\n return fetch(i + 1)\n throw err\n }\n }\n return fetch()\n },\n type: 'fallback',\n },\n {\n transports: transports.map(\n (fn) => fn({ chain }) as unknown as Transport,\n ),\n },\n )\n}\n","import { UrlRequiredError } from '../../errors'\nimport { rpc } from '../../utils/rpc'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\nexport type HttpTransportConfig = {\n /** The key of the HTTP transport. */\n key?: TransportConfig['key']\n /** The name of the HTTP transport. */\n name?: TransportConfig['name']\n}\n\nexport type HttpTransport = Transport<\n 'http',\n {\n url?: string\n }\n>\n\n/**\n * @description Creates a HTTP transport that connects to a JSON-RPC API.\n */\nexport function http(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string,\n { key = 'http', name = 'HTTP JSON-RPC' }: HttpTransportConfig = {},\n): HttpTransport {\n return ({ chain }) => {\n const url_ = url || chain?.rpcUrls.default.http[0]\n if (!url_) throw new UrlRequiredError()\n return createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const { result } = await rpc.http(url_, {\n body: {\n method,\n params,\n },\n })\n return result\n },\n type: 'http',\n },\n {\n url,\n },\n )\n }\n}\n","import WebSocket from 'isomorphic-ws'\nimport { UrlRequiredError } from '../../errors'\nimport type { Hash } from '../../types'\nimport type { RpcResponse } from '../../utils/rpc'\nimport { getSocket, rpc } from '../../utils/rpc'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\ntype WebSocketTransportSubscribeArgs = {\n onData: (data: RpcResponse) => void\n onError?: (error: any) => void\n}\n\ntype WebSocketTransportSubscribeResponse = {\n subscriptionId: Hash\n unsubscribe: () => Promise<RpcResponse<boolean>>\n}\n\ntype WebSocketTransportSubscribe = {\n subscribe(\n args: WebSocketTransportSubscribeArgs & {\n /**\n * @description Add information about compiled contracts\n * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult\n */\n params: ['newHeads']\n },\n ): Promise<WebSocketTransportSubscribeResponse>\n}\n\nexport type WebSocketTransportConfig = {\n /** The key of the WebSocket transport. */\n key?: TransportConfig['key']\n /** The name of the WebSocket transport. */\n name?: TransportConfig['name']\n}\n\nexport type WebSocketTransport = Transport<\n 'webSocket',\n {\n getSocket(): Promise<WebSocket>\n subscribe: WebSocketTransportSubscribe['subscribe']\n }\n>\n\n/**\n * @description Creates a WebSocket transport that connects to a JSON-RPC API.\n */\nexport function webSocket(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string,\n {\n key = 'webSocket',\n name = 'WebSocket JSON-RPC',\n }: WebSocketTransportConfig = {},\n): WebSocketTransport {\n return ({ chain }) => {\n const url_ = url || chain?.rpcUrls.default.webSocket?.[0]\n if (!url_) throw new UrlRequiredError()\n return createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const socket = await getSocket(url_)\n const { result } = await rpc.webSocketAsync(socket, {\n body: { method, params },\n })\n return result\n },\n type: 'webSocket',\n },\n {\n getSocket() {\n return getSocket(url_)\n },\n async subscribe({ params, onData, onError }: any) {\n const socket = await getSocket(url_)\n const { result: subscriptionId } = await new Promise<any>(\n (resolve, reject) =>\n rpc.webSocket(socket, {\n body: {\n method: 'eth_subscribe',\n params,\n },\n onData: (data) => {\n if (typeof data.id === 'number') {\n resolve(data)\n return\n }\n onData(data)\n },\n onError: (error) => {\n reject(error)\n onError?.(error)\n },\n }),\n )\n return {\n subscriptionId,\n async unsubscribe() {\n return new Promise<any>((resolve, reject) =>\n rpc.webSocket(socket, {\n body: {\n method: 'eth_unsubscribe',\n params: [subscriptionId],\n },\n onData: resolve,\n onError: reject,\n }),\n )\n },\n }\n },\n },\n )\n }\n}\n","let size = 256\nlet index = size\nlet buffer: string\n\nexport function uid(length = 11) {\n if (!buffer || index + length > size * 2) {\n buffer = ''\n index = 0\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1)\n }\n }\n return buffer.substring(index, index++ + length)\n}\n","import { Chain } from '../types'\nimport type { Requests } from '../types/eip1193'\nimport { buildRequest } from '../utils/buildRequest'\nimport { uid } from '../utils/uid'\nimport type { BaseRpcRequests, Transport } from './transports/createTransport'\n\nexport type Client<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TRequests extends BaseRpcRequests = Requests,\n> = {\n /** Chain for the client. */\n chain?: TChain\n /** A key for the client. */\n key: string\n /** A name for the client. */\n name: string\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval: number\n /** Request function wrapped with friendly error handling */\n request: TRequests['request']\n /** The RPC transport (http, webSocket, custom, etc) */\n transport: ReturnType<TTransport>['config'] & ReturnType<TTransport>['value']\n /** The type of client. */\n type: string\n /** A unique ID for the client. */\n uid: string\n}\n\nexport type ClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TRequests extends BaseRpcRequests = Requests,\n> = Partial<\n Pick<\n Client<TTransport, TChain, TRequests>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'type'\n >\n> & {\n transport: TTransport\n}\n\n/**\n * @description Creates a base RPC client with the given transport.\n *\n * - Intended to be used as a base for other RPC clients.\n * - Has access to _all_ EIP-1474 RPC methods.\n *\n * @example\n * import { mainnet } from 'viem/chains'\n * import { createClient, http } from 'viem/clients'\n * const client = createClient(http({ chain: mainnet }))\n */\nexport function createClient<\n TTransport extends Transport,\n TChain extends Chain,\n TRequests extends BaseRpcRequests,\n>({\n chain,\n key = 'base',\n name = 'Base Client',\n pollingInterval = 4_000,\n transport,\n type = 'base',\n}: ClientConfig<TTransport, TChain, TRequests>): Client<\n TTransport,\n TChain,\n TRequests\n> {\n const { config, value } = transport({ chain })\n return {\n chain,\n key,\n name,\n pollingInterval,\n request: buildRequest(config.request),\n transport: { ...config, ...value },\n type,\n uid: uid(),\n }\n}\n","import type { PublicRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { Chain } from '../types'\n\nexport type PublicClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = Pick<\n ClientConfig<TTransport, TChain>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'\n>\n\nexport type PublicClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = Client<TTransport, TChain, PublicRequests>\n\n/**\n * @description Creates a public client with a given transport.\n *\n * - Only has access to \"public\" EIP-1474 RPC methods (ie. `eth_blockNumber`, etc).\n *\n * @example\n * import { mainnet } from 'viem/chains'\n * import { createPublicClient, http } from 'viem/clients'\n * const client = createPublicClient(http({ chain: mainnet }))\n */\nexport function createPublicClient<\n TTransport extends Transport,\n TChain extends Chain,\n>({\n chain,\n key = 'public',\n name = 'Public Client',\n transport,\n pollingInterval,\n}: PublicClientConfig<TTransport, TChain>): PublicClient<TTransport, TChain> {\n chain\n return createClient({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'publicClient',\n })\n}\n","import type { TestRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { Chain } from '../types'\n\ntype TestClientModes = 'anvil' | 'hardhat'\n\nexport type TestClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TMode extends TestClientModes = TestClientModes,\n> = {\n chain?: ClientConfig<TTransport, TChain>['chain']\n /** The key of the client. */\n key?: ClientConfig['key']\n /** Mode of the test client. Available: \"anvil\" | \"hardhat\" */\n mode: TMode\n /** The name of the client. */\n name?: ClientConfig['name']\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval?: ClientConfig['pollingInterval']\n transport: ClientConfig<TTransport, TChain>['transport']\n}\n\nexport type TestClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TMode extends TestClientModes = TestClientModes,\n> = Client<TTransport, TChain, TestRequests<TMode>> & {\n mode: TMode\n}\n\n/**\n * @description Creates a test client with a given transport.\n *\n * - Only has access to \"test\" RPC methods (ie. `anvil_setBalance`,\n * `evm_mine`, etc).\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { local } from 'viem/chains'\n * const client = createTestClient({ chain: local, mode: 'anvil', transport: http() })\n */\nexport function createTestClient<\n TTransport extends Transport,\n TChain extends Chain,\n TMode extends TestClientModes,\n>({\n chain,\n key = 'test',\n name = 'Test Client',\n mode,\n pollingInterval,\n transport,\n}: TestClientConfig<TTransport, TChain, TMode>): TestClient<\n TTransport,\n TChain,\n TMode\n> {\n return {\n ...createClient({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'testClient',\n }),\n mode,\n }\n}\n","import type { SignableRequests, WalletRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { Chain } from '../types'\n\nexport type WalletClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = {\n chain?: ClientConfig<TTransport, TChain>['chain']\n /** The key of the Wallet Client. */\n key?: ClientConfig['key']\n /** The name of the Wallet Client. */\n name?: ClientConfig['name']\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval?: ClientConfig['pollingInterval']\n transport: ClientConfig<TTransport, TChain>['transport']\n}\n\nexport type WalletClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = Client<TTransport, TChain, SignableRequests & WalletRequests>\n\n/**\n * @description Creates a wallet client with a given transport.\n *\n * - Only has access to \"wallet\" & \"signable\" EIP-1474 RPC methods\n * (ie. `eth_sendTransaction`, `eth_requestAccounts`, etc).\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * const client = createWalletClient(\n * custom(window.ethereum)\n * )\n */\nexport function createWalletClient<\n TTransport extends Transport,\n TChain extends Chain,\n>({\n transport,\n key = 'wallet',\n name = 'Wallet Client',\n pollingInterval,\n}: WalletClientConfig<TTransport, TChain>): WalletClient<TTransport, TChain> {\n return createClient({\n key,\n name,\n pollingInterval,\n transport,\n type: 'walletClient',\n })\n}\n"]}