@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.
- package/CHANGELOG.md +16 -0
- package/dist/cjs/errors/transport.d.ts +8 -0
- package/dist/cjs/errors/transport.js +9 -1
- package/dist/cjs/errors/transport.js.map +1 -1
- package/dist/cjs/transports/fallback.js +15 -15
- package/dist/cjs/transports/fallback.js.map +1 -1
- package/dist/cjs/transports/http.js +2 -1
- package/dist/cjs/transports/http.js.map +1 -1
- package/dist/cjs/transports/types.d.ts +12 -8
- package/dist/cjs/transports/types.js +2 -0
- package/dist/cjs/transports/types.js.map +1 -1
- package/dist/cjs/transports/utxo.js +4 -0
- package/dist/cjs/transports/utxo.js.map +1 -1
- package/dist/esm/errors/transport.d.ts +8 -0
- package/dist/esm/errors/transport.js +7 -0
- package/dist/esm/errors/transport.js.map +1 -1
- package/dist/esm/transports/fallback.js +16 -16
- package/dist/esm/transports/fallback.js.map +1 -1
- package/dist/esm/transports/http.js +2 -1
- package/dist/esm/transports/http.js.map +1 -1
- package/dist/esm/transports/types.d.ts +12 -8
- package/dist/esm/transports/types.js +1 -1
- package/dist/esm/transports/types.js.map +1 -1
- package/dist/esm/transports/utxo.js +4 -0
- package/dist/esm/transports/utxo.js.map +1 -1
- package/dist/types/errors/transport.d.ts +8 -0
- package/dist/types/errors/transport.d.ts.map +1 -1
- package/dist/types/transports/fallback.d.ts.map +1 -1
- package/dist/types/transports/http.d.ts.map +1 -1
- package/dist/types/transports/types.d.ts +12 -8
- package/dist/types/transports/types.d.ts.map +1 -1
- package/dist/types/transports/utxo.d.ts.map +1 -1
- package/package.json +1 -1
- package/package.json.tmp +1 -1
- package/src/errors/transport.ts +12 -0
- package/src/transports/fallback.ts +18 -18
- package/src/transports/http.ts +2 -1
- package/src/transports/types.ts +13 -7
- 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
|
-
|
|
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 =
|
|
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":";;
|
|
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":";;
|
|
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 +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,
|
|
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
|
-
|
|
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 =
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;
|
|
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":"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;AA+
|
|
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
|
/** 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;
|
|
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":"
|
|
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;
|
|
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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,MAAM,MAAM,UAAU,GAAG;IACvB;QACE,MAAM,EAAE,eAAe,CAAA;QACvB,UAAU,EAAE,EAAE,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;KACnB;IACD;QACE,MAAM,EAAE,cAAc,CAAA;QACtB,UAAU,EAAE,CAAC,MAAM,CAAC,CAAA;QACpB,UAAU,EAAE,MAAM,CAAA;KACnB;IACD;QACE,MAAM,EAAE,UAAU,CAAA;QAClB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;KACnB;IACD;QACE,MAAM,EAAE,eAAe,CAAA;QACvB,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QACrD,UAAU,EAAE,UAAU,CAAA;KACvB;IACD;QACE,MAAM,EAAE,oBAAoB,CAAA;QAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAC7B,UAAU,EAAE,MAAM,CAAA;KACnB;IACD;QACE,MAAM,EAAE,mBAAmB,CAAA;QAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QACtC,UAAU,EAAE,eAAe,CAAA;KAC5B;IACD
|
|
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,
|
|
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
package/package.json.tmp
CHANGED
package/src/errors/transport.ts
CHANGED
|
@@ -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
|
-
|
|
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 =
|
|
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
|
}
|
package/src/transports/http.ts
CHANGED
|
@@ -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,
|
package/src/transports/types.ts
CHANGED
|
@@ -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
|
package/src/transports/utxo.ts
CHANGED
|
@@ -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
|
|
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]
|