viem 0.0.0-main.20240331T211345 → 0.0.0-main.20240331T211924

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.
@@ -7,7 +7,7 @@ const createBatchScheduler_js_1 = require("../../utils/promise/createBatchSchedu
7
7
  const http_js_1 = require("../../utils/rpc/http.js");
8
8
  const createTransport_js_1 = require("./createTransport.js");
9
9
  function http(url, config = {}) {
10
- const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchResponse, retryDelay, } = config;
10
+ const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, } = config;
11
11
  return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
12
12
  const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
13
13
  const retryCount = config.retryCount ?? retryCount_;
@@ -17,6 +17,7 @@ function http(url, config = {}) {
17
17
  throw new transport_js_1.UrlRequiredError();
18
18
  const rpcClient = (0, http_js_1.getHttpRpcClient)(url_, {
19
19
  fetchOptions,
20
+ onRequest: onFetchRequest,
20
21
  onResponse: onFetchResponse,
21
22
  timeout,
22
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4DAGkC;AAGlC,yFAAkF;AAClF,qDAGgC;AAEhC,6DAK6B;AAoD7B,SAAgB,IAAI,CAElB,GAAwB,EACxB,SAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,IAAI,EAAE;YACvC,YAAY;YACZ,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8CAAoB,EAAC;oBACxC,EAAE,EAAE,GAAG,GAAG,EAAE;oBACZ,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,KAAK;oBACP,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AA5ED,oBA4EC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4DAGkC;AAGlC,yFAAkF;AAClF,qDAGgC;AAEhC,6DAK6B;AAoD7B,SAAgB,IAAI,CAElB,GAAwB,EACxB,SAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,cAAc,EACd,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,IAAI,EAAE;YACvC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8CAAoB,EAAC;oBACxC,EAAE,EAAE,GAAG,GAAG,EAAE;oBACZ,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,KAAK;oBACP,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AA9ED,oBA8EC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.0.0-main.20240331T211345';
4
+ exports.version = '0.0.0-main.20240331T211924';
5
5
  //# sourceMappingURL=version.js.map
@@ -8,11 +8,11 @@ const id_js_1 = require("./id.js");
8
8
  function getHttpRpcClient(url, options = {}) {
9
9
  return {
10
10
  async request(params) {
11
- const { body, fetchOptions = {}, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
11
+ const { body, fetchOptions = {}, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
12
12
  const { headers, method, signal: signal_, } = { ...options.fetchOptions, ...fetchOptions };
13
13
  try {
14
14
  const response = await (0, withTimeout_js_1.withTimeout)(async ({ signal }) => {
15
- const response = await fetch(url, {
15
+ const request = new Request(url, {
16
16
  ...fetchOptions,
17
17
  body: Array.isArray(body)
18
18
  ? (0, stringify_js_1.stringify)(body.map((body) => ({
@@ -32,6 +32,9 @@ function getHttpRpcClient(url, options = {}) {
32
32
  method: method || 'POST',
33
33
  signal: signal_ || (timeout > 0 ? signal : null),
34
34
  });
35
+ if (onRequest)
36
+ await onRequest(request);
37
+ const response = await fetch(request);
35
38
  return response;
36
39
  }, {
37
40
  errorInstance: new request_js_1.TimeoutError({ body, url }),
@@ -41,12 +44,10 @@ function getHttpRpcClient(url, options = {}) {
41
44
  if (onResponse)
42
45
  await onResponse(response);
43
46
  let data;
44
- if (response.headers.get('Content-Type')?.startsWith('application/json')) {
47
+ if (response.headers.get('Content-Type')?.startsWith('application/json'))
45
48
  data = await response.json();
46
- }
47
- else {
49
+ else
48
50
  data = await response.text();
49
- }
50
51
  if (!response.ok) {
51
52
  throw new request_js_1.HttpRequestError({
52
53
  body,
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":";;;AAAA,wDAKgC;AAGhC,8DAGkC;AAClC,kDAA2C;AAC3C,mCAAiC;AAwCjC,SAAgB,gBAAgB,CAC9B,GAAW,EACX,UAAgC,EAAE;IAElC,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,MAAM;YAClB,MAAM,EACJ,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,UAAU,GAAG,OAAO,CAAC,UAAU,EAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,GACpC,GAAG,MAAM,CAAA;YACV,MAAM,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EAAE,OAAO,GAChB,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,YAAY,EAAE,CAAA;YAEhD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAW,EAChC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;wBAChC,GAAG,YAAY;wBACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;4BACvB,CAAC,CAAC,IAAA,wBAAS,EACP,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gCAClB,OAAO,EAAE,KAAK;gCACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,eAAO,CAAC,IAAI,EAAE;gCAC7B,GAAG,IAAI;6BACR,CAAC,CAAC,CACJ;4BACH,CAAC,CAAC,IAAA,wBAAS,EAAC;gCACR,OAAO,EAAE,KAAK;gCACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,eAAO,CAAC,IAAI,EAAE;gCAC7B,GAAG,IAAI;6BACR,CAAC;wBACN,OAAO,EAAE;4BACP,GAAG,OAAO;4BACV,cAAc,EAAE,kBAAkB;yBACnC;wBACD,MAAM,EAAE,MAAM,IAAI,MAAM;wBACxB,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;qBACjD,CAAC,CAAA;oBACF,OAAO,QAAQ,CAAA;gBACjB,CAAC,EACD;oBACE,aAAa,EAAE,IAAI,yBAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;oBAC9C,OAAO;oBACP,MAAM,EAAE,IAAI;iBACb,CACF,CAAA;gBAED,IAAI,UAAU;oBAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;gBAE1C,IAAI,IAAS,CAAA;gBACb,IACE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,EACpE,CAAC;oBACD,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAC9B,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,6BAAgB,CAAC;wBACzB,IAAI;wBACJ,OAAO,EAAE,IAAA,wBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU;wBACrD,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,GAAG;qBACJ,CAAC,CAAA;gBACJ,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,6BAAgB;oBAAE,MAAM,GAAG,CAAA;gBAC9C,IAAI,GAAG,YAAY,yBAAY;oBAAE,MAAM,GAAG,CAAA;gBAC1C,MAAM,IAAI,6BAAgB,CAAC;oBACzB,IAAI;oBACJ,OAAO,EAAG,GAAa,CAAC,OAAO;oBAC/B,GAAG;iBACJ,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AArFD,4CAqFC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { createTransport, } from './createTransport.js';
9
9
  export function http(
10
10
  /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
11
11
  url, config = {}) {
12
- const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchResponse, retryDelay, } = config;
12
+ const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, } = config;
13
13
  return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
14
14
  const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
15
15
  const retryCount = config.retryCount ?? retryCount_;
@@ -19,6 +19,7 @@ url, config = {}) {
19
19
  throw new UrlRequiredError();
20
20
  const rpcClient = getHttpRpcClient(url_, {
21
21
  fetchOptions,
22
+ onRequest: onFetchRequest,
22
23
  onResponse: onFetchResponse,
23
24
  timeout,
24
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EACL,gBAAgB,GAEjB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAClF,OAAO,EAEL,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAIL,eAAe,GAChB,MAAM,sBAAsB,CAAA;AAiD7B;;GAEG;AACH,MAAM,UAAU,IAAI;AAClB,uEAAuE;AACvE,GAAwB,EACxB,SAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACvC,YAAY;YACZ,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,eAAe,CACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC;oBACxC,EAAE,EAAE,GAAG,GAAG,EAAE;oBACZ,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,KAAK;oBACP,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = '0.0.0-main.20240331T211345';
1
+ export const version = '0.0.0-main.20240331T211924';
2
2
  //# sourceMappingURL=version.js.map
@@ -5,11 +5,11 @@ import { idCache } from './id.js';
5
5
  export function getHttpRpcClient(url, options = {}) {
6
6
  return {
7
7
  async request(params) {
8
- const { body, fetchOptions = {}, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
8
+ const { body, fetchOptions = {}, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
9
9
  const { headers, method, signal: signal_, } = { ...options.fetchOptions, ...fetchOptions };
10
10
  try {
11
11
  const response = await withTimeout(async ({ signal }) => {
12
- const response = await fetch(url, {
12
+ const request = new Request(url, {
13
13
  ...fetchOptions,
14
14
  body: Array.isArray(body)
15
15
  ? stringify(body.map((body) => ({
@@ -29,6 +29,9 @@ export function getHttpRpcClient(url, options = {}) {
29
29
  method: method || 'POST',
30
30
  signal: signal_ || (timeout > 0 ? signal : null),
31
31
  });
32
+ if (onRequest)
33
+ await onRequest(request);
34
+ const response = await fetch(request);
32
35
  return response;
33
36
  }, {
34
37
  errorInstance: new TimeoutError({ body, url }),
@@ -38,12 +41,10 @@ export function getHttpRpcClient(url, options = {}) {
38
41
  if (onResponse)
39
42
  await onResponse(response);
40
43
  let data;
41
- if (response.headers.get('Content-Type')?.startsWith('application/json')) {
44
+ if (response.headers.get('Content-Type')?.startsWith('application/json'))
42
45
  data = await response.json();
43
- }
44
- else {
46
+ else
45
47
  data = await response.text();
46
- }
47
48
  if (!response.ok) {
48
49
  throw new HttpRequestError({
49
50
  body,
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,9 @@ export type HttpTransportConfig = {
19
19
  * @link https://developer.mozilla.org/en-US/docs/Web/API/fetch
20
20
  */
21
21
  fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined;
22
- /**
23
- * A callback to handle the response from `fetch`.
24
- */
22
+ /** A callback to handle the response from `fetch`. */
23
+ onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined;
24
+ /** A callback to handle the response from `fetch`. */
25
25
  onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined;
26
26
  /** The key of the HTTP transport. */
27
27
  key?: TransportConfig['key'] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG;IACzB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAA;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC/D;;OAEG;IACH,eAAe,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IAChE,qCAAqC;IACrC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;IACxC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC1C,wCAAwC;IACxC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACtD,8CAA8C;IAC9C,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACtD,gEAAgE;IAChE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CACnC,MAAM,EACN;IACE,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CACF,CAAA;AAED,MAAM,MAAM,sBAAsB,GAC9B,wBAAwB,GACxB,oBAAoB,GACpB,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAgB,IAAI;AAClB,uEAAuE;AACvE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,mBAAwB,GAC/B,aAAa,CAwEf"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG;IACzB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAA;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC/D,sDAAsD;IACtD,cAAc,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;IAC9D,sDAAsD;IACtD,eAAe,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IAChE,qCAAqC;IACrC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;IACxC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC1C,wCAAwC;IACxC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACtD,8CAA8C;IAC9C,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACtD,gEAAgE;IAChE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CACnC,MAAM,EACN;IACE,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CACF,CAAA;AAED,MAAM,MAAM,sBAAsB,GAC9B,wBAAwB,GACxB,oBAAoB,GACpB,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAgB,IAAI;AAClB,uEAAuE;AACvE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,mBAAwB,GAC/B,aAAa,CA0Ef"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.0.0-main.20240331T211345";
1
+ export declare const version = "0.0.0-main.20240331T211924";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -3,14 +3,25 @@ import type { ErrorType } from '../../errors/utils.js';
3
3
  import type { RpcRequest, RpcResponse } from '../../types/rpc.js';
4
4
  import { type WithTimeoutErrorType } from '../promise/withTimeout.js';
5
5
  export type HttpRpcClientOptions = {
6
+ /** Request configuration to pass to `fetch`. */
6
7
  fetchOptions?: Omit<RequestInit, 'body'> | undefined;
8
+ /** A callback to handle the request. */
9
+ onRequest?: ((request: Request) => Promise<void> | void) | undefined;
10
+ /** A callback to handle the response. */
7
11
  onResponse?: ((response: Response) => Promise<void> | void) | undefined;
12
+ /** The timeout (in ms) for the request. */
8
13
  timeout?: number | undefined;
9
14
  };
10
15
  export type HttpRequestParameters<TBody extends RpcRequest | RpcRequest[] = RpcRequest> = {
16
+ /** The RPC request body. */
11
17
  body: TBody;
18
+ /** Request configuration to pass to `fetch`. */
12
19
  fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined;
20
+ /** A callback to handle the response. */
21
+ onRequest?: ((request: Request) => Promise<void> | void) | undefined;
22
+ /** A callback to handle the response. */
13
23
  onResponse?: ((response: Response) => Promise<void> | void) | undefined;
24
+ /** The timeout (in ms) for the request. */
14
25
  timeout?: HttpRpcClientOptions['timeout'] | undefined;
15
26
  };
16
27
  export type HttpRequestReturnType<TBody extends RpcRequest | RpcRequest[] = RpcRequest> = TBody extends RpcRequest[] ? RpcResponse[] : RpcResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,IAAI,qBAAqB,EAElD,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAA;AAIlC,MAAM,MAAM,oBAAoB,GAAG;IAEjC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IAEpD,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD;IAEF,IAAI,EAAE,KAAK,CAAA;IAEX,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAE/D,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvE,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD,KAAK,SAAS,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,CAAA;AAEb,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,EAC7C,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;CACzC,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAkFf"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,IAAI,qBAAqB,EAElD,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAA;AAIlC,MAAM,MAAM,oBAAoB,GAAG;IACjC,gDAAgD;IAChD,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACpD,wCAAwC;IACxC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACpE,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACvE,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD;IACF,4BAA4B;IAC5B,IAAI,EAAE,KAAK,CAAA;IACX,gDAAgD;IAChD,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC/D,yCAAyC;IACzC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACpE,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACvE,2CAA2C;IAC3C,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD,KAAK,SAAS,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,CAAA;AAEb,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,EAC7C,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;CACzC,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAmFf"}
@@ -36,9 +36,9 @@ export type HttpTransportConfig = {
36
36
  * @link https://developer.mozilla.org/en-US/docs/Web/API/fetch
37
37
  */
38
38
  fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined
39
- /**
40
- * A callback to handle the response from `fetch`.
41
- */
39
+ /** A callback to handle the response from `fetch`. */
40
+ onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined
41
+ /** A callback to handle the response from `fetch`. */
42
42
  onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined
43
43
  /** The key of the HTTP transport. */
44
44
  key?: TransportConfig['key'] | undefined
@@ -78,6 +78,7 @@ export function http(
78
78
  fetchOptions,
79
79
  key = 'http',
80
80
  name = 'HTTP JSON-RPC',
81
+ onFetchRequest,
81
82
  onFetchResponse,
82
83
  retryDelay,
83
84
  } = config
@@ -91,6 +92,7 @@ export function http(
91
92
 
92
93
  const rpcClient = getHttpRpcClient(url_, {
93
94
  fetchOptions,
95
+ onRequest: onFetchRequest,
94
96
  onResponse: onFetchResponse,
95
97
  timeout,
96
98
  })
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20240331T211345'
1
+ export const version = '0.0.0-main.20240331T211924'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "0.0.0-main.20240331T211345",
4
+ "version": "0.0.0-main.20240331T211924",
5
5
  "type": "module",
6
6
  "main": "./_cjs/index.js",
7
7
  "module": "./_esm/index.js",
package/utils/rpc/http.ts CHANGED
@@ -14,24 +14,28 @@ import { stringify } from '../stringify.js'
14
14
  import { idCache } from './id.js'
15
15
 
16
16
  export type HttpRpcClientOptions = {
17
- // Request configuration to pass to `fetch`.
17
+ /** Request configuration to pass to `fetch`. */
18
18
  fetchOptions?: Omit<RequestInit, 'body'> | undefined
19
- // A callback to handle the response.
19
+ /** A callback to handle the request. */
20
+ onRequest?: ((request: Request) => Promise<void> | void) | undefined
21
+ /** A callback to handle the response. */
20
22
  onResponse?: ((response: Response) => Promise<void> | void) | undefined
21
- // The timeout (in ms) for the request.
23
+ /** The timeout (in ms) for the request. */
22
24
  timeout?: number | undefined
23
25
  }
24
26
 
25
27
  export type HttpRequestParameters<
26
28
  TBody extends RpcRequest | RpcRequest[] = RpcRequest,
27
29
  > = {
28
- // The RPC request body.
30
+ /** The RPC request body. */
29
31
  body: TBody
30
- // Request configuration to pass to `fetch`.
32
+ /** Request configuration to pass to `fetch`. */
31
33
  fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined
32
- // A callback to handle the response.
34
+ /** A callback to handle the response. */
35
+ onRequest?: ((request: Request) => Promise<void> | void) | undefined
36
+ /** A callback to handle the response. */
33
37
  onResponse?: ((response: Response) => Promise<void> | void) | undefined
34
- // The timeout (in ms) for the request.
38
+ /** The timeout (in ms) for the request. */
35
39
  timeout?: HttpRpcClientOptions['timeout'] | undefined
36
40
  }
37
41
 
@@ -60,6 +64,7 @@ export function getHttpRpcClient(
60
64
  const {
61
65
  body,
62
66
  fetchOptions = {},
67
+ onRequest = options.onRequest,
63
68
  onResponse = options.onResponse,
64
69
  timeout = options.timeout ?? 10_000,
65
70
  } = params
@@ -72,7 +77,7 @@ export function getHttpRpcClient(
72
77
  try {
73
78
  const response = await withTimeout(
74
79
  async ({ signal }) => {
75
- const response = await fetch(url, {
80
+ const request = new Request(url, {
76
81
  ...fetchOptions,
77
82
  body: Array.isArray(body)
78
83
  ? stringify(
@@ -94,6 +99,8 @@ export function getHttpRpcClient(
94
99
  method: method || 'POST',
95
100
  signal: signal_ || (timeout > 0 ? signal : null),
96
101
  })
102
+ if (onRequest) await onRequest(request)
103
+ const response = await fetch(request)
97
104
  return response
98
105
  },
99
106
  {
@@ -108,11 +115,9 @@ export function getHttpRpcClient(
108
115
  let data: any
109
116
  if (
110
117
  response.headers.get('Content-Type')?.startsWith('application/json')
111
- ) {
118
+ )
112
119
  data = await response.json()
113
- } else {
114
- data = await response.text()
115
- }
120
+ else data = await response.text()
116
121
 
117
122
  if (!response.ok) {
118
123
  throw new HttpRequestError({