@bigmi/core 0.2.0-beta.2 → 0.2.1

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 (39) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/errors/transport.d.ts +8 -0
  3. package/dist/cjs/errors/transport.js +9 -1
  4. package/dist/cjs/errors/transport.js.map +1 -1
  5. package/dist/cjs/transports/fallback.js +15 -15
  6. package/dist/cjs/transports/fallback.js.map +1 -1
  7. package/dist/cjs/transports/http.js +2 -1
  8. package/dist/cjs/transports/http.js.map +1 -1
  9. package/dist/cjs/transports/types.d.ts +12 -8
  10. package/dist/cjs/transports/types.js +2 -0
  11. package/dist/cjs/transports/types.js.map +1 -1
  12. package/dist/cjs/transports/utxo.js +4 -0
  13. package/dist/cjs/transports/utxo.js.map +1 -1
  14. package/dist/esm/errors/transport.d.ts +8 -0
  15. package/dist/esm/errors/transport.js +7 -0
  16. package/dist/esm/errors/transport.js.map +1 -1
  17. package/dist/esm/transports/fallback.js +16 -16
  18. package/dist/esm/transports/fallback.js.map +1 -1
  19. package/dist/esm/transports/http.js +2 -1
  20. package/dist/esm/transports/http.js.map +1 -1
  21. package/dist/esm/transports/types.d.ts +12 -8
  22. package/dist/esm/transports/types.js +1 -1
  23. package/dist/esm/transports/types.js.map +1 -1
  24. package/dist/esm/transports/utxo.js +4 -0
  25. package/dist/esm/transports/utxo.js.map +1 -1
  26. package/dist/types/errors/transport.d.ts +8 -0
  27. package/dist/types/errors/transport.d.ts.map +1 -1
  28. package/dist/types/transports/fallback.d.ts.map +1 -1
  29. package/dist/types/transports/http.d.ts.map +1 -1
  30. package/dist/types/transports/types.d.ts +12 -8
  31. package/dist/types/transports/types.d.ts.map +1 -1
  32. package/dist/types/transports/utxo.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/package.json.tmp +1 -1
  35. package/src/errors/transport.ts +12 -0
  36. package/src/transports/fallback.ts +18 -18
  37. package/src/transports/http.ts +2 -1
  38. package/src/transports/types.ts +13 -7
  39. package/src/transports/utxo.ts +4 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.2.1](https://github.com/lifinance/bigmi/compare/v0.2.0...v0.2.1) (2025-05-14)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * optimize usage of supported methods by RPC and API transports ([#15](https://github.com/lifinance/bigmi/issues/15)) ([ff20e08](https://github.com/lifinance/bigmi/commit/ff20e089286bdc5f6f9d12ed2362f95d3c276fd9))
11
+
12
+ ## [0.2.0](https://github.com/lifinance/bigmi/compare/v0.1.1...v0.2.0) (2025-05-14)
13
+
14
+
15
+ ### ⚠ BREAKING CHANGES
16
+
17
+ * remove viem dependencies (#14)
18
+
19
+ * remove viem dependencies ([#14](https://github.com/lifinance/bigmi/issues/14)) ([3c3461f](https://github.com/lifinance/bigmi/commit/3c3461f8b646253df0c1614706f4dd5027d53930))
20
+
5
21
  ### [0.1.1](https://github.com/lifinance/bigmi/compare/v0.0.8...v0.1.1) (2025-02-04)
6
22
 
7
23
  ### [0.0.8](https://github.com/lifinance/bigmi/compare/v0.0.7...v0.0.8) (2024-12-30)
@@ -5,3 +5,11 @@ export type UrlRequiredErrorType = UrlRequiredError & {
5
5
  export declare class UrlRequiredError extends BaseError {
6
6
  constructor();
7
7
  }
8
+ export type TransportMethodNotSupportedErrorType = TransportMethodNotSupportedError & {
9
+ name: 'TransportMethodNotSupportedError';
10
+ };
11
+ export declare class TransportMethodNotSupportedError extends BaseError {
12
+ constructor({ method }: {
13
+ method: string;
14
+ });
15
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlRequiredError = void 0;
3
+ exports.TransportMethodNotSupportedError = exports.UrlRequiredError = void 0;
4
4
  const base_js_1 = require("./base.js");
5
5
  class UrlRequiredError extends base_js_1.BaseError {
6
6
  constructor() {
@@ -10,4 +10,12 @@ class UrlRequiredError extends base_js_1.BaseError {
10
10
  }
11
11
  }
12
12
  exports.UrlRequiredError = UrlRequiredError;
13
+ class TransportMethodNotSupportedError extends base_js_1.BaseError {
14
+ constructor({ method }) {
15
+ super(`No transport found that supports the method: ${method}`, {
16
+ name: 'TransportMethodNotSupportedError',
17
+ });
18
+ }
19
+ }
20
+ exports.TransportMethodNotSupportedError = TransportMethodNotSupportedError;
13
21
  //# sourceMappingURL=transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/errors/transport.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAKrC,MAAa,gBAAiB,SAAQ,mBAAS;IAC7C;QACE,KAAK,CACH,wFAAwF,EACxF;YACE,IAAI,EAAE,kBAAkB;SACzB,CACF,CAAA;IACH,CAAC;CACF;AATD,4CASC"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/errors/transport.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAKrC,MAAa,gBAAiB,SAAQ,mBAAS;IAC7C;QACE,KAAK,CACH,wFAAwF,EACxF;YACE,IAAI,EAAE,kBAAkB;SACzB,CACF,CAAA;IACH,CAAC;CACF;AATD,4CASC;AAMD,MAAa,gCAAiC,SAAQ,mBAAS;IAC7D,YAAY,EAAE,MAAM,EAAsB;QACxC,KAAK,CAAC,gDAAgD,MAAM,EAAE,EAAE;YAC9D,IAAI,EAAE,kCAAkC;SACzC,CAAC,CAAA;IACJ,CAAC;CACF;AAND,4EAMC"}
@@ -4,6 +4,7 @@ exports.fallback = fallback;
4
4
  exports.shouldThrow = shouldThrow;
5
5
  exports.rankTransports = rankTransports;
6
6
  const rpc_js_1 = require("../errors/rpc.js");
7
+ const transport_js_1 = require("../errors/transport.js");
7
8
  const createTransport_js_1 = require("../factories/createTransport.js");
8
9
  const wait_js_1 = require("../utils/wait.js");
9
10
  function fallback(transports_, config = {}) {
@@ -15,9 +16,21 @@ function fallback(transports_, config = {}) {
15
16
  key,
16
17
  name,
17
18
  async request({ method, params }) {
18
- let includes;
19
+ const supportedTransports = transports.filter((transport) => {
20
+ const { include, exclude } = transport({ chain }).config.methods || {};
21
+ if (include) {
22
+ return include.includes(method);
23
+ }
24
+ if (exclude) {
25
+ return !exclude.includes(method);
26
+ }
27
+ return true;
28
+ });
29
+ if (!supportedTransports.length) {
30
+ throw new transport_js_1.TransportMethodNotSupportedError({ method });
31
+ }
19
32
  const fetch = async (i = 0) => {
20
- const transport = transports[i]({
33
+ const transport = supportedTransports[i]({
21
34
  ...rest,
22
35
  chain,
23
36
  retryCount: 0,
@@ -51,19 +64,6 @@ function fallback(transports_, config = {}) {
51
64
  if (i === transports.length - 1) {
52
65
  throw err;
53
66
  }
54
- includes ?? (includes = transports.slice(i + 1).some((transport) => {
55
- const { include, exclude } = transport({ chain }).config.methods || {};
56
- if (include) {
57
- return include.includes(method);
58
- }
59
- if (exclude) {
60
- return !exclude.includes(method);
61
- }
62
- return true;
63
- }));
64
- if (!includes) {
65
- throw err;
66
- }
67
67
  return fetch(i + 1);
68
68
  }
69
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@ const transport_js_1 = require("../errors/transport.js");
6
6
  const createTransport_js_1 = require("../factories/createTransport.js");
7
7
  const createBatchScheduler_js_1 = require("../utils/createBatchScheduler.js");
8
8
  const getHttpRpcClient_js_1 = require("./getHttpRpcClient.js");
9
+ const types_js_1 = require("./types.js");
9
10
  function http(url, config = {}) {
10
- const { batch, fetchOptions, key = 'http', methods, name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, raw, } = config;
11
+ const { batch, fetchOptions, key = 'http', methods = { exclude: types_js_1.UTXOAPISchemaMethods }, name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, raw, } = config;
11
12
  return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
12
13
  const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
13
14
  const retryCount = config.retryCount ?? retryCount_;
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,16 @@
1
1
  import type { BlockStats, BlockStatsKeys } from '../types/blockStats.js';
2
2
  import type { UTXOTransaction } from '../types/transaction.js';
3
3
  import type { HttpRpcClient } from './getHttpRpcClient.js';
4
+ export declare const UTXOAPISchemaMethods: string[];
5
+ export type UTXOAPISchema = [
6
+ {
7
+ Method: 'getBalance';
8
+ Parameters: {
9
+ address: string;
10
+ };
11
+ ReturnType: bigint;
12
+ }
13
+ ];
4
14
  export type UTXOSchema = [
5
15
  {
6
16
  Method: 'getblockcount';
@@ -32,14 +42,9 @@ export type UTXOSchema = [
32
42
  Parameters: [string, boolean, string?];
33
43
  ReturnType: UTXOTransaction;
34
44
  },
35
- {
36
- Method: 'getBalance';
37
- Parameters: {
38
- address: string;
39
- };
40
- ReturnType: bigint;
41
- }
45
+ ...UTXOAPISchema
42
46
  ];
47
+ export type UTXOMethod = UTXOSchema[number]['Method'];
43
48
  export type SignPsbtParameters = {
44
49
  psbt: string;
45
50
  inputsToSign: {
@@ -57,7 +62,6 @@ export type UTXOWalletSchema = readonly [
57
62
  ReturnType: SignPsbtReturnType;
58
63
  }
59
64
  ];
60
- export type UTXOMethod = UTXOSchema[number]['Method'];
61
65
  export type SuccessResult<result> = {
62
66
  method?: undefined;
63
67
  result: result;
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UTXOAPISchemaMethods = void 0;
4
+ exports.UTXOAPISchemaMethods = ['getBalance'];
3
5
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":";;;AAIa,QAAA,oBAAoB,GAAG,CAAC,YAAY,CAAC,CAAA"}
@@ -6,6 +6,7 @@ const transport_js_1 = require("../errors/transport.js");
6
6
  const createTransport_js_1 = require("../factories/createTransport.js");
7
7
  const getHttpRpcClient_js_1 = require("./getHttpRpcClient.js");
8
8
  const getRpcProviderMethods_js_1 = require("./getRpcProviderMethods.js");
9
+ const types_js_1 = require("./types.js");
9
10
  function utxo(url, config = {}) {
10
11
  const { fetchOptions, key = 'utxo', name = 'UTXO HTTP API', onFetchRequest, onFetchResponse, retryDelay, } = config;
11
12
  return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
@@ -29,6 +30,9 @@ function utxo(url, config = {}) {
29
30
  return (0, createTransport_js_1.createTransport)({
30
31
  key,
31
32
  name,
33
+ methods: {
34
+ include: types_js_1.UTXOAPISchemaMethods,
35
+ },
32
36
  async request({ method, params }) {
33
37
  const body = { method, params };
34
38
  const methodHandler = rpcMethods?.[method];
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":";;AAYA,oBAoEC;AAhFD,qDAAsD;AACtD,yDAAyD;AACzD,wEAAiE;AACjE,+DAAwD;AACxD,yEAAkE;AAQlE,SAAgB,IAAI,CAClB,GAAY,EACZ,SAAkC,EAAE;IAEpC,MAAM,EACJ,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,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,IAAI,IAAI,GAAG,GAAG,CAAA;QACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7D,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,sCAAgB,EAAC,IAAI,EAAE;YACpC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAA,gDAAqB,EAAC,GAAG,CAAC,CAAA;QAE7C,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;gBAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAoB,CAAC,CAAA;gBACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAC9C,MAAM,EACN,IAAI,EACJ,MAAM,CACP;oBACC,MAAM,CAAC,OAAO,CAAC;wBACb,IAAI;qBACL,CAAC,CAAC,CAAA;gBACL,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,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":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":";;AAYA,oBAuEC;AAnFD,qDAAsD;AACtD,yDAAyD;AACzD,wEAAiE;AACjE,+DAAwD;AACxD,yEAAkE;AAElE,yCAAkE;AAMlE,SAAgB,IAAI,CAClB,GAAY,EACZ,SAAkC,EAAE;IAEpC,MAAM,EACJ,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,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,IAAI,IAAI,GAAG,GAAG,CAAA;QACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7D,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,sCAAgB,EAAC,IAAI,EAAE;YACpC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAA,gDAAqB,EAAC,GAAG,CAAC,CAAA;QAE7C,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,OAAO,EAAE;gBACP,OAAO,EAAE,+BAAoB;aAC9B;YACD,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAoB,CAAC,CAAA;gBACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAC9C,MAAM,EACN,IAAI,EACJ,MAAM,CACP;oBACC,MAAM,CAAC,OAAO,CAAC;wBACb,IAAI;qBACL,CAAC,CAAC,CAAA;gBACL,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,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"}
@@ -5,3 +5,11 @@ export type UrlRequiredErrorType = UrlRequiredError & {
5
5
  export declare class UrlRequiredError extends BaseError {
6
6
  constructor();
7
7
  }
8
+ export type TransportMethodNotSupportedErrorType = TransportMethodNotSupportedError & {
9
+ name: 'TransportMethodNotSupportedError';
10
+ };
11
+ export declare class TransportMethodNotSupportedError extends BaseError {
12
+ constructor({ method }: {
13
+ method: string;
14
+ });
15
+ }
@@ -6,4 +6,11 @@ export class UrlRequiredError extends BaseError {
6
6
  });
7
7
  }
8
8
  }
9
+ export class TransportMethodNotSupportedError extends BaseError {
10
+ constructor({ method }) {
11
+ super(`No transport found that supports the method: ${method}`, {
12
+ name: 'TransportMethodNotSupportedError',
13
+ });
14
+ }
15
+ }
9
16
  //# sourceMappingURL=transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/errors/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAKrC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C;QACE,KAAK,CACH,wFAAwF,EACxF;YACE,IAAI,EAAE,kBAAkB;SACzB,CACF,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/errors/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAKrC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C;QACE,KAAK,CACH,wFAAwF,EACxF;YACE,IAAI,EAAE,kBAAkB;SACzB,CACF,CAAA;IACH,CAAC;CACF;AAMD,MAAM,OAAO,gCAAiC,SAAQ,SAAS;IAC7D,YAAY,EAAE,MAAM,EAAsB;QACxC,KAAK,CAAC,gDAAgD,MAAM,EAAE,EAAE;YAC9D,IAAI,EAAE,kCAAkC;SACzC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { RpcErrorCode } from '../errors/rpc.js';
2
+ import { TransportMethodNotSupportedError } from '../errors/transport.js';
2
3
  import { createTransport } from '../factories/createTransport.js';
3
4
  import { wait } from '../utils/wait.js';
4
5
  export function fallback(transports_, config = {}) {
@@ -10,9 +11,22 @@ export function fallback(transports_, config = {}) {
10
11
  key,
11
12
  name,
12
13
  async request({ method, params }) {
13
- let includes;
14
+ // Filter transports to only those that support the requested method
15
+ const supportedTransports = transports.filter((transport) => {
16
+ const { include, exclude } = transport({ chain }).config.methods || {};
17
+ if (include) {
18
+ return include.includes(method);
19
+ }
20
+ if (exclude) {
21
+ return !exclude.includes(method);
22
+ }
23
+ return true;
24
+ });
25
+ if (!supportedTransports.length) {
26
+ throw new TransportMethodNotSupportedError({ method });
27
+ }
14
28
  const fetch = async (i = 0) => {
15
- const transport = transports[i]({
29
+ const transport = supportedTransports[i]({
16
30
  ...rest,
17
31
  chain,
18
32
  retryCount: 0,
@@ -47,20 +61,6 @@ export function fallback(transports_, config = {}) {
47
61
  if (i === transports.length - 1) {
48
62
  throw err;
49
63
  }
50
- // Check if at least one other transport includes the method
51
- includes ?? (includes = transports.slice(i + 1).some((transport) => {
52
- const { include, exclude } = transport({ chain }).config.methods || {};
53
- if (include) {
54
- return include.includes(method);
55
- }
56
- if (exclude) {
57
- return !exclude.includes(method);
58
- }
59
- return true;
60
- }));
61
- if (!includes) {
62
- throw err;
63
- }
64
64
  // Otherwise, try the next fallback.
65
65
  return fetch(i + 1);
66
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,14 @@ import { UrlRequiredError, } from '../errors/transport.js';
3
3
  import { createTransport, } from '../factories/createTransport.js';
4
4
  import { createBatchScheduler } from '../utils/createBatchScheduler.js';
5
5
  import { getHttpRpcClient, } from './getHttpRpcClient.js';
6
+ import { UTXOAPISchemaMethods } from './types.js';
6
7
  /**
7
8
  * @description Creates a HTTP transport that connects to a JSON-RPC API.
8
9
  */
9
10
  export function http(
10
11
  /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
11
12
  url, config = {}) {
12
- const { batch, fetchOptions, key = 'http', methods, name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, raw, } = config;
13
+ const { batch, fetchOptions, key = 'http', methods = { exclude: UTXOAPISchemaMethods }, name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, raw, } = config;
13
14
  return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
14
15
  const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
15
16
  const retryCount = config.retryCount ?? retryCount_;
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAIL,eAAe,GAChB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAGL,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AA+DjD;;GAEG;AACH,MAAM,UAAU,IAAI;AAIlB,uEAAuE;AACvE,GAAwB,EACxB,SAA8C,EAAE;IAEhD,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,OAAO,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAC3C,IAAI,GAAG,eAAe,EACtB,cAAc,EACd,eAAe,EACf,UAAU,EACV,GAAG,GACJ,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,KAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACvC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,eAAe,CACpB;YACE,GAAG;YACH,OAAO;YACP,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,IAAI;oBACR,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;gBAE1C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;gBAC1B,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,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,6 +1,16 @@
1
1
  import type { BlockStats, BlockStatsKeys } from '../types/blockStats.js';
2
2
  import type { UTXOTransaction } from '../types/transaction.js';
3
3
  import type { HttpRpcClient } from './getHttpRpcClient.js';
4
+ export declare const UTXOAPISchemaMethods: string[];
5
+ export type UTXOAPISchema = [
6
+ {
7
+ Method: 'getBalance';
8
+ Parameters: {
9
+ address: string;
10
+ };
11
+ ReturnType: bigint;
12
+ }
13
+ ];
4
14
  export type UTXOSchema = [
5
15
  {
6
16
  Method: 'getblockcount';
@@ -32,14 +42,9 @@ export type UTXOSchema = [
32
42
  Parameters: [string, boolean, string?];
33
43
  ReturnType: UTXOTransaction;
34
44
  },
35
- {
36
- Method: 'getBalance';
37
- Parameters: {
38
- address: string;
39
- };
40
- ReturnType: bigint;
41
- }
45
+ ...UTXOAPISchema
42
46
  ];
47
+ export type UTXOMethod = UTXOSchema[number]['Method'];
43
48
  export type SignPsbtParameters = {
44
49
  /** The PSBT encoded as a hexadecimal string */
45
50
  psbt: string;
@@ -73,7 +78,6 @@ export type UTXOWalletSchema = readonly [
73
78
  ReturnType: SignPsbtReturnType;
74
79
  }
75
80
  ];
76
- export type UTXOMethod = UTXOSchema[number]['Method'];
77
81
  export type SuccessResult<result> = {
78
82
  method?: undefined;
79
83
  result: result;
@@ -1,2 +1,2 @@
1
- export {};
1
+ export const UTXOAPISchemaMethods = ['getBalance'];
2
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAY,CAAC,CAAA"}
@@ -3,6 +3,7 @@ import { UrlRequiredError } from '../errors/transport.js';
3
3
  import { createTransport } from '../factories/createTransport.js';
4
4
  import { getHttpRpcClient } from './getHttpRpcClient.js';
5
5
  import { getRpcProviderMethods } from './getRpcProviderMethods.js';
6
+ import { UTXOAPISchemaMethods } from './types.js';
6
7
  export function utxo(url, config = {}) {
7
8
  const { fetchOptions, key = 'utxo', name = 'UTXO HTTP API', onFetchRequest, onFetchResponse, retryDelay, } = config;
8
9
  return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
@@ -26,6 +27,9 @@ export function utxo(url, config = {}) {
26
27
  return createTransport({
27
28
  key,
28
29
  name,
30
+ methods: {
31
+ include: UTXOAPISchemaMethods,
32
+ },
29
33
  async request({ method, params }) {
30
34
  const body = { method, params };
31
35
  const methodHandler = rpcMethods?.[method];
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAQlE,MAAM,UAAU,IAAI,CAClB,GAAY,EACZ,SAAkC,EAAE;IAEpC,MAAM,EACJ,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,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,IAAI,IAAI,GAAG,GAAG,CAAA;QACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7D,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACpC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAE7C,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;gBAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAoB,CAAC,CAAA;gBACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAC9C,MAAM,EACN,IAAI,EACJ,MAAM,CACP;oBACC,MAAM,CAAC,OAAO,CAAC;wBACb,IAAI;qBACL,CAAC,CAAC,CAAA;gBACL,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,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":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAmB,MAAM,YAAY,CAAA;AAMlE,MAAM,UAAU,IAAI,CAClB,GAAY,EACZ,SAAkC,EAAE;IAEpC,MAAM,EACJ,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,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,IAAI,IAAI,GAAG,GAAG,CAAA;QACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7D,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACpC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAE7C,OAAO,eAAe,CACpB;YACE,GAAG;YACH,IAAI;YACJ,OAAO,EAAE;gBACP,OAAO,EAAE,oBAAoB;aAC9B;YACD,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAoB,CAAC,CAAA;gBACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAC9C,MAAM,EACN,IAAI,EACJ,MAAM,CACP;oBACC,MAAM,CAAC,OAAO,CAAC;wBACb,IAAI;qBACL,CAAC,CAAC,CAAA;gBACL,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,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"}
@@ -5,4 +5,12 @@ export type UrlRequiredErrorType = UrlRequiredError & {
5
5
  export declare class UrlRequiredError extends BaseError {
6
6
  constructor();
7
7
  }
8
+ export type TransportMethodNotSupportedErrorType = TransportMethodNotSupportedError & {
9
+ name: 'TransportMethodNotSupportedError';
10
+ };
11
+ export declare class TransportMethodNotSupportedError extends BaseError {
12
+ constructor({ method }: {
13
+ method: string;
14
+ });
15
+ }
8
16
  //# sourceMappingURL=transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/errors/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,IAAI,EAAE,kBAAkB,CAAA;CACzB,CAAA;AACD,qBAAa,gBAAiB,SAAQ,SAAS;;CAS9C"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/errors/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,IAAI,EAAE,kBAAkB,CAAA;CACzB,CAAA;AACD,qBAAa,gBAAiB,SAAQ,SAAS;;CAS9C;AAED,MAAM,MAAM,oCAAoC,GAC9C,gCAAgC,GAAG;IACjC,IAAI,EAAE,kCAAkC,CAAA;CACzC,CAAA;AACH,qBAAa,gCAAiC,SAAQ,SAAS;gBACjD,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAK3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAErE,OAAO,EACL,KAAK,oBAAoB,EAG1B,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,mBAAmB,CAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,GAAG,SAAS,OAAO,GAAG,KAAK,IACzB;IACF;;;OAGG;IACH,KAAK,CAAC,EACF,OAAO,GACP;QACE,iFAAiF;QACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,oFAAoF;QACpF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,GACD,SAAS,CAAA;IACb;;;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,iEAAiE;IACjE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;IAChD,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC1C,0EAA0E;IAC1E,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS,CAAA;IAC/B,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,+CAA+C;IAC/C,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IAC7C,gEAAgE;IAChE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,aAAa,CACvB,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,GAAG,SAAS,OAAO,GAAG,KAAK,IACzB,SAAS,CACX,MAAM,EACN;IACE,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,EACD,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAChC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAC9B,wBAAwB,GACxB,oBAAoB,GACpB,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAgB,IAAI,CAClB,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,GAAG,SAAS,OAAO,GAAG,KAAK;AAE3B,uEAAuE;AACvE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAM,GAC/C,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAoF/B"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAErE,OAAO,EACL,KAAK,oBAAoB,EAG1B,MAAM,uBAAuB,CAAA;AAG9B,MAAM,MAAM,mBAAmB,CAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,GAAG,SAAS,OAAO,GAAG,KAAK,IACzB;IACF;;;OAGG;IACH,KAAK,CAAC,EACF,OAAO,GACP;QACE,iFAAiF;QACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,oFAAoF;QACpF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,GACD,SAAS,CAAA;IACb;;;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,iEAAiE;IACjE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;IAChD,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC1C,0EAA0E;IAC1E,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS,CAAA;IAC/B,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,+CAA+C;IAC/C,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IAC7C,gEAAgE;IAChE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,aAAa,CACvB,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,GAAG,SAAS,OAAO,GAAG,KAAK,IACzB,SAAS,CACX,MAAM,EACN;IACE,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,EACD,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAChC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAC9B,wBAAwB,GACxB,oBAAoB,GACpB,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAgB,IAAI,CAClB,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,GAAG,SAAS,OAAO,GAAG,KAAK;AAE3B,uEAAuE;AACvE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAM,GAC/C,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAoF/B"}
@@ -1,6 +1,16 @@
1
1
  import type { BlockStats, BlockStatsKeys } from '../types/blockStats.js';
2
2
  import type { UTXOTransaction } from '../types/transaction.js';
3
3
  import type { HttpRpcClient } from './getHttpRpcClient.js';
4
+ export declare const UTXOAPISchemaMethods: string[];
5
+ export type UTXOAPISchema = [
6
+ {
7
+ Method: 'getBalance';
8
+ Parameters: {
9
+ address: string;
10
+ };
11
+ ReturnType: bigint;
12
+ }
13
+ ];
4
14
  export type UTXOSchema = [
5
15
  {
6
16
  Method: 'getblockcount';
@@ -32,14 +42,9 @@ export type UTXOSchema = [
32
42
  Parameters: [string, boolean, string?];
33
43
  ReturnType: UTXOTransaction;
34
44
  },
35
- {
36
- Method: 'getBalance';
37
- Parameters: {
38
- address: string;
39
- };
40
- ReturnType: bigint;
41
- }
45
+ ...UTXOAPISchema
42
46
  ];
47
+ export type UTXOMethod = UTXOSchema[number]['Method'];
43
48
  export type SignPsbtParameters = {
44
49
  /** The PSBT encoded as a hexadecimal string */
45
50
  psbt: string;
@@ -73,7 +78,6 @@ export type UTXOWalletSchema = readonly [
73
78
  ReturnType: SignPsbtReturnType;
74
79
  }
75
80
  ];
76
- export type UTXOMethod = UTXOSchema[number]['Method'];
77
81
  export type SuccessResult<result> = {
78
82
  method?: undefined;
79
83
  result: result;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAGnE,KAAK,uBAAuB,GAAG,mBAAmB,GAAG;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,wBAAgB,IAAI,CAClB,GAAG,CAAC,EAAE,MAAM,EACZ,MAAM,GAAE,uBAA4B,GACnC,aAAa,CAiEf"}
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAGnE,KAAK,uBAAuB,GAAG,mBAAmB,GAAG;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,wBAAgB,IAAI,CAClB,GAAG,CAAC,EAAE,MAAM,EACZ,MAAM,GAAE,uBAA4B,GACnC,aAAa,CAoEf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigmi/core",
3
- "version": "0.2.0-beta.2",
3
+ "version": "0.2.1",
4
4
  "description": "TypeScript library for Bitcoin apps.",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",
package/package.json.tmp CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigmi/core",
3
- "version": "0.2.0-beta.2",
3
+ "version": "0.2.1",
4
4
  "description": "TypeScript library for Bitcoin apps.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -13,3 +13,15 @@ export class UrlRequiredError extends BaseError {
13
13
  )
14
14
  }
15
15
  }
16
+
17
+ export type TransportMethodNotSupportedErrorType =
18
+ TransportMethodNotSupportedError & {
19
+ name: 'TransportMethodNotSupportedError'
20
+ }
21
+ export class TransportMethodNotSupportedError extends BaseError {
22
+ constructor({ method }: { method: string }) {
23
+ super(`No transport found that supports the method: ${method}`, {
24
+ name: 'TransportMethodNotSupportedError',
25
+ })
26
+ }
27
+ }
@@ -1,4 +1,5 @@
1
1
  import { RpcErrorCode } from '../errors/rpc.js'
2
+ import { TransportMethodNotSupportedError } from '../errors/transport.js'
2
3
  import type { ErrorType } from '../errors/utils.js'
3
4
  import { createTransport } from '../factories/createTransport.js'
4
5
  import type { Chain } from '../types/chain.js'
@@ -121,10 +122,25 @@ export function fallback<const transports extends readonly Transport[]>(
121
122
  key,
122
123
  name,
123
124
  async request({ method, params }) {
124
- let includes: boolean | undefined
125
+ // Filter transports to only those that support the requested method
126
+ const supportedTransports = transports.filter((transport) => {
127
+ const { include, exclude } =
128
+ transport({ chain }).config.methods || {}
129
+ if (include) {
130
+ return include.includes(method)
131
+ }
132
+ if (exclude) {
133
+ return !exclude.includes(method)
134
+ }
135
+ return true
136
+ })
137
+
138
+ if (!supportedTransports.length) {
139
+ throw new TransportMethodNotSupportedError({ method })
140
+ }
125
141
 
126
142
  const fetch = async (i = 0): Promise<any> => {
127
- const transport = transports[i]({
143
+ const transport = supportedTransports[i]({
128
144
  ...rest,
129
145
  chain,
130
146
  retryCount: 0,
@@ -163,22 +179,6 @@ export function fallback<const transports extends readonly Transport[]>(
163
179
  throw err
164
180
  }
165
181
 
166
- // Check if at least one other transport includes the method
167
- includes ??= transports.slice(i + 1).some((transport) => {
168
- const { include, exclude } =
169
- transport({ chain }).config.methods || {}
170
- if (include) {
171
- return include.includes(method)
172
- }
173
- if (exclude) {
174
- return !exclude.includes(method)
175
- }
176
- return true
177
- })
178
- if (!includes) {
179
- throw err
180
- }
181
-
182
182
  // Otherwise, try the next fallback.
183
183
  return fetch(i + 1)
184
184
  }
@@ -17,6 +17,7 @@ import {
17
17
  type RpcRequest,
18
18
  getHttpRpcClient,
19
19
  } from './getHttpRpcClient.js'
20
+ import { UTXOAPISchemaMethods } from './types.js'
20
21
 
21
22
  export type HttpTransportConfig<
22
23
  rpcSchema extends RpcSchema | undefined = undefined,
@@ -94,7 +95,7 @@ export function http<
94
95
  batch,
95
96
  fetchOptions,
96
97
  key = 'http',
97
- methods,
98
+ methods = { exclude: UTXOAPISchemaMethods },
98
99
  name = 'HTTP JSON-RPC',
99
100
  onFetchRequest,
100
101
  onFetchResponse,
@@ -2,6 +2,16 @@ import type { BlockStats, BlockStatsKeys } from '../types/blockStats.js'
2
2
  import type { UTXOTransaction } from '../types/transaction.js'
3
3
  import type { HttpRpcClient } from './getHttpRpcClient.js'
4
4
 
5
+ export const UTXOAPISchemaMethods = ['getBalance']
6
+
7
+ export type UTXOAPISchema = [
8
+ {
9
+ Method: 'getBalance'
10
+ Parameters: { address: string }
11
+ ReturnType: bigint
12
+ },
13
+ ]
14
+
5
15
  export type UTXOSchema = [
6
16
  {
7
17
  Method: 'getblockcount'
@@ -33,13 +43,11 @@ export type UTXOSchema = [
33
43
  Parameters: [string, boolean, string?]
34
44
  ReturnType: UTXOTransaction
35
45
  },
36
- {
37
- Method: 'getBalance'
38
- Parameters: { address: string }
39
- ReturnType: bigint
40
- },
46
+ ...UTXOAPISchema,
41
47
  ]
42
48
 
49
+ export type UTXOMethod = UTXOSchema[number]['Method']
50
+
43
51
  export type SignPsbtParameters = {
44
52
  /** The PSBT encoded as a hexadecimal string */
45
53
  psbt: string
@@ -76,8 +84,6 @@ export type UTXOWalletSchema = readonly [
76
84
  },
77
85
  ]
78
86
 
79
- export type UTXOMethod = UTXOSchema[number]['Method']
80
-
81
87
  export type SuccessResult<result> = {
82
88
  method?: undefined
83
89
  result: result
@@ -4,7 +4,7 @@ import { createTransport } from '../factories/createTransport.js'
4
4
  import { getHttpRpcClient } from './getHttpRpcClient.js'
5
5
  import { getRpcProviderMethods } from './getRpcProviderMethods.js'
6
6
  import type { HttpTransport, HttpTransportConfig } from './http.js'
7
- import type { UTXOMethod } from './types.js'
7
+ import { UTXOAPISchemaMethods, type UTXOMethod } from './types.js'
8
8
 
9
9
  type UTXOHttpTransportConfig = HttpTransportConfig & {
10
10
  includeChainToURL?: boolean
@@ -47,6 +47,9 @@ export function utxo(
47
47
  {
48
48
  key,
49
49
  name,
50
+ methods: {
51
+ include: UTXOAPISchemaMethods,
52
+ },
50
53
  async request({ method, params }) {
51
54
  const body = { method, params }
52
55
  const methodHandler = rpcMethods?.[method as UTXOMethod]