@bigmi/core 0.5.2 → 0.5.4

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 (42) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/transports/blockchair/__mocks__/getBalance/zeroBalance.json +29 -0
  3. package/dist/cjs/transports/blockchair/getBalance.js.map +1 -1
  4. package/dist/cjs/transports/blockchair/getUTXOs.js +12 -1
  5. package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -1
  6. package/dist/cjs/version.d.ts +1 -1
  7. package/dist/cjs/version.js +1 -1
  8. package/dist/esm/transports/blockchair/__mocks__/getBalance/zeroBalance.json +29 -0
  9. package/dist/esm/transports/blockchair/getBalance.js.map +1 -1
  10. package/dist/esm/transports/blockchair/getUTXOs.js +12 -1
  11. package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -1
  12. package/dist/esm/version.d.ts +1 -1
  13. package/dist/esm/version.js +1 -1
  14. package/dist/types/transports/blockchair/getBalance.d.ts.map +1 -1
  15. package/dist/types/transports/blockchair/getUTXOs.d.ts.map +1 -1
  16. package/dist/types/version.d.ts +1 -1
  17. package/package.json +1 -1
  18. package/package.json.tmp +1 -1
  19. package/src/transports/blockchair/__mocks__/getBalance/zeroBalance.json +29 -0
  20. package/src/transports/blockchair/blockchair.spec.ts +16 -0
  21. package/src/transports/blockchair/getBalance.ts +2 -0
  22. package/src/transports/blockchair/getUTXOs.ts +15 -1
  23. package/src/transports/fallback.spec.ts +25 -0
  24. package/src/version.ts +1 -1
  25. package/dist/cjs/types/actions.d.ts +0 -17
  26. package/dist/cjs/types/actions.js +0 -3
  27. package/dist/cjs/types/actions.js.map +0 -1
  28. package/dist/cjs/types/storage.d.ts +0 -22
  29. package/dist/cjs/types/storage.js +0 -3
  30. package/dist/cjs/types/storage.js.map +0 -1
  31. package/dist/esm/types/actions.d.ts +0 -20
  32. package/dist/esm/types/actions.js +0 -2
  33. package/dist/esm/types/actions.js.map +0 -1
  34. package/dist/esm/types/storage.d.ts +0 -22
  35. package/dist/esm/types/storage.js +0 -2
  36. package/dist/esm/types/storage.js.map +0 -1
  37. package/dist/types/types/actions.d.ts +0 -21
  38. package/dist/types/types/actions.d.ts.map +0 -1
  39. package/dist/types/types/storage.d.ts +0 -23
  40. package/dist/types/types/storage.d.ts.map +0 -1
  41. package/src/types/actions.ts +0 -37
  42. package/src/types/storage.ts +0 -44
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
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.5.4](https://github.com/lifinance/bigmi/compare/v0.5.3...v0.5.4) (2025-09-29)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **blockchair:** handle zero balance addresses edge case ([#35](https://github.com/lifinance/bigmi/issues/35)) ([a57c5fd](https://github.com/lifinance/bigmi/commit/a57c5fd49ec22df2dd6165725ce2750d81f3267e))
11
+
12
+ ### [0.5.3](https://github.com/lifinance/bigmi/compare/v0.5.2...v0.5.3) (2025-09-22)
13
+
5
14
  ### [0.5.2](https://github.com/lifinance/bigmi/compare/v0.5.1...v0.5.2) (2025-08-28)
6
15
 
7
16
 
@@ -0,0 +1,29 @@
1
+ {
2
+ "data": [],
3
+ "context": {
4
+ "code": 200,
5
+ "source": "A",
6
+ "results": 0,
7
+ "state": 916465,
8
+ "market_price_usd": 109158,
9
+ "cache": {
10
+ "live": true,
11
+ "duration": 120,
12
+ "since": "2025-09-26 10:32:00",
13
+ "until": "2025-09-26 10:34:00",
14
+ "time": null
15
+ },
16
+ "api": {
17
+ "version": "2.0.95-ie",
18
+ "last_major_update": "2022-11-07 02:00:00",
19
+ "next_major_update": "2023-11-12 02:00:00",
20
+ "documentation": "https://blockchair.com/api/docs",
21
+ "notice": "Try out our new API v.3: https://3xpl.com/data"
22
+ },
23
+ "servers": "API4,BTC5",
24
+ "time": 1.4955880641937256,
25
+ "render_time": 0.014816761016845703,
26
+ "full_time": 1.5104048252105713,
27
+ "request_cost": 1.001
28
+ }
29
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getBalance.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAClD,+CAAkD;AAO3C,MAAM,UAAU,GAAmC,KAAK,EAC7D,MAAM,EACN,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,EAAE,OAAO,EAAE,EACX,EAAE;IACF,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,GAAG,OAAO,qBAAqB,EAAE;QAC5D,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,OAAO;KACnB,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;QACrC,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;KAChC,CAAC,CAAgE,CAAA;IAClE,IACE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;QACpC,QAAQ,CAAC,OAAO,CAAC,KAAK;QACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAC9B,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EACF,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG;oBAC3B,CAAC,CAAC,qBAAY,CAAC,aAAa;oBAC5B,CAAC,CAAC,qBAAY,CAAC,UAAU;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK;aACjC;SACF,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,UAAU,cA+BtB"}
1
+ {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getBalance.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAClD,+CAAkD;AAO3C,MAAM,UAAU,GAAmC,KAAK,EAC7D,MAAM,EACN,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,EAAE,OAAO,EAAE,EACX,EAAE;IACF,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,GAAG,OAAO,qBAAqB,EAAE;QAC5D,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,OAAO;KACnB,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;QACrC,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;KAChC,CAAC,CAAgE,CAAA;IAElE,IACE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;QACpC,QAAQ,CAAC,OAAO,CAAC,KAAK;QACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAC9B,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EACF,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG;oBAC3B,CAAC,CAAC,qBAAY,CAAC,aAAa;oBAC5B,CAAC,CAAC,qBAAY,CAAC,UAAU;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK;aACjC;SACF,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,UAAU,cAiCtB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getUTXOs = void 0;
4
+ const base_js_1 = require("../../errors/base.js");
4
5
  const request_js_1 = require("../../errors/request.js");
5
6
  const rpc_js_1 = require("../../errors/rpc.js");
6
7
  const utxo_js_1 = require("../../errors/utxo.js");
@@ -67,7 +68,17 @@ const getUTXOs = async (client, { baseUrl, apiKey }, { address, minValue }) => {
67
68
  }
68
69
  }
69
70
  if (minValue) {
70
- const { result: balance } = await (0, getBalance_js_1.getBalance)(client, { baseUrl, apiKey }, { address });
71
+ const { error, result: balance } = await (0, getBalance_js_1.getBalance)(client, { baseUrl, apiKey }, { address });
72
+ if (error) {
73
+ throw new base_js_1.BaseError('Error fetching balance', {
74
+ cause: error,
75
+ });
76
+ }
77
+ if (balance === undefined) {
78
+ throw new base_js_1.BaseError('Balance is undefined', {
79
+ cause: new Error('Unable to determine balance'),
80
+ });
81
+ }
71
82
  if (minValue > Number(balance)) {
72
83
  throw new utxo_js_1.InsufficientUTXOBalanceError({
73
84
  minValue,
@@ -1 +1 @@
1
- {"version":3,"file":"getUTXOs.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getUTXOs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getUTXOs.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getUTXOs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@bigmi/core";
2
- export declare const version = "0.5.2";
2
+ export declare const version = "0.5.4";
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = exports.name = void 0;
4
4
  exports.name = '@bigmi/core';
5
- exports.version = '0.5.2';
5
+ exports.version = '0.5.4';
6
6
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,29 @@
1
+ {
2
+ "data": [],
3
+ "context": {
4
+ "code": 200,
5
+ "source": "A",
6
+ "results": 0,
7
+ "state": 916465,
8
+ "market_price_usd": 109158,
9
+ "cache": {
10
+ "live": true,
11
+ "duration": 120,
12
+ "since": "2025-09-26 10:32:00",
13
+ "until": "2025-09-26 10:34:00",
14
+ "time": null
15
+ },
16
+ "api": {
17
+ "version": "2.0.95-ie",
18
+ "last_major_update": "2022-11-07 02:00:00",
19
+ "next_major_update": "2023-11-12 02:00:00",
20
+ "documentation": "https://blockchair.com/api/docs",
21
+ "notice": "Try out our new API v.3: https://3xpl.com/data"
22
+ },
23
+ "servers": "API4,BTC5",
24
+ "time": 1.4955880641937256,
25
+ "render_time": 0.014816761016845703,
26
+ "full_time": 1.5104048252105713,
27
+ "request_cost": 1.001
28
+ }
29
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOlD,MAAM,CAAC,MAAM,UAAU,GAAmC,KAAK,EAC7D,MAAM,EACN,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,EAAE,OAAO,EAAE,EACX,EAAE;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,OAAO,qBAAqB,EAAE;QAC5D,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,OAAO;KACnB,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;QACrC,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;KAChC,CAAC,CAAgE,CAAA;IAClE,IACE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;QACpC,QAAQ,CAAC,OAAO,CAAC,KAAK;QACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAC9B,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EACF,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG;oBAC3B,CAAC,CAAC,YAAY,CAAC,aAAa;oBAC5B,CAAC,CAAC,YAAY,CAAC,UAAU;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK;aACjC;SACF,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOlD,MAAM,CAAC,MAAM,UAAU,GAAmC,KAAK,EAC7D,MAAM,EACN,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,EAAE,OAAO,EAAE,EACX,EAAE;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,OAAO,qBAAqB,EAAE;QAC5D,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,OAAO;KACnB,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;QACrC,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;KAChC,CAAC,CAAgE,CAAA;IAElE,IACE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;QACpC,QAAQ,CAAC,OAAO,CAAC,KAAK;QACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAC9B,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EACF,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG;oBAC3B,CAAC,CAAC,YAAY,CAAC,aAAa;oBAC5B,CAAC,CAAC,YAAY,CAAC,UAAU;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK;aACjC;SACF,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC,CAAA;AACH,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { BaseError } from '../../errors/base.js';
1
2
  import { RpcRequestError } from '../../errors/request.js';
2
3
  import { RpcErrorCode } from '../../errors/rpc.js';
3
4
  import { InsufficientUTXOBalanceError } from '../../errors/utxo.js';
@@ -64,7 +65,17 @@ export const getUTXOs = async (client, { baseUrl, apiKey }, { address, minValue
64
65
  }
65
66
  }
66
67
  if (minValue) {
67
- const { result: balance } = await getBalance(client, { baseUrl, apiKey }, { address });
68
+ const { error, result: balance } = await getBalance(client, { baseUrl, apiKey }, { address });
69
+ if (error) {
70
+ throw new BaseError('Error fetching balance', {
71
+ cause: error,
72
+ });
73
+ }
74
+ if (balance === undefined) {
75
+ throw new BaseError('Balance is undefined', {
76
+ cause: new Error('Unable to determine balance'),
77
+ });
78
+ }
68
79
  if (minValue > Number(balance)) {
69
80
  throw new InsufficientUTXOBalanceError({
70
81
  minValue,
@@ -1 +1 @@
1
- {"version":3,"file":"getUTXOs.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getUTXOs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getUTXOs.js","sourceRoot":"","sources":["../../../../src/transports/blockchair/getUTXOs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@bigmi/core";
2
- export declare const version = "0.5.2";
2
+ export declare const version = "0.5.4";
@@ -1,3 +1,3 @@
1
1
  export const name = '@bigmi/core';
2
- export const version = '0.5.2';
2
+ export const version = '0.5.4';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../../../src/transports/blockchair/getBalance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMnD,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,YAAY,CA+BrD,CAAA"}
1
+ {"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../../../src/transports/blockchair/getBalance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMnD,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAiCrD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getUTXOs.d.ts","sourceRoot":"","sources":["../../../../src/transports/blockchair/getUTXOs.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAoBnD,eAAO,MAAM,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAkGjD,CAAA"}
1
+ {"version":3,"file":"getUTXOs.d.ts","sourceRoot":"","sources":["../../../../src/transports/blockchair/getUTXOs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAoBnD,eAAO,MAAM,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CA+GjD,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@bigmi/core";
2
- export declare const version = "0.5.2";
2
+ export declare const version = "0.5.4";
3
3
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigmi/core",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
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.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "TypeScript library for Bitcoin apps.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -0,0 +1,29 @@
1
+ {
2
+ "data": [],
3
+ "context": {
4
+ "code": 200,
5
+ "source": "A",
6
+ "results": 0,
7
+ "state": 916465,
8
+ "market_price_usd": 109158,
9
+ "cache": {
10
+ "live": true,
11
+ "duration": 120,
12
+ "since": "2025-09-26 10:32:00",
13
+ "until": "2025-09-26 10:34:00",
14
+ "time": null
15
+ },
16
+ "api": {
17
+ "version": "2.0.95-ie",
18
+ "last_major_update": "2022-11-07 02:00:00",
19
+ "next_major_update": "2023-11-12 02:00:00",
20
+ "documentation": "https://blockchair.com/api/docs",
21
+ "notice": "Try out our new API v.3: https://3xpl.com/data"
22
+ },
23
+ "servers": "API4,BTC5",
24
+ "time": 1.4955880641937256,
25
+ "render_time": 0.014816761016845703,
26
+ "full_time": 1.5104048252105713,
27
+ "request_cost": 1.001
28
+ }
29
+ }
@@ -15,6 +15,7 @@ import {
15
15
  import type { UTXOSchema } from '../types.js'
16
16
  import getInvalidBalanceReponse from './__mocks__/getBalance/invalidAddress.json'
17
17
  import getBalanceReponse from './__mocks__/getBalance/valid.json'
18
+ import getZeroBalanceReponse from './__mocks__/getBalance/zeroBalance.json'
18
19
  import getTransactionFeeInvalidResponse from './__mocks__/getTransactionFee/invalid.json'
19
20
  import getTransactionFeeValidResponse from './__mocks__/getTransactionFee/valid.json'
20
21
  import getUTXOsInvalidResponse from './__mocks__/getUTXOs/invalidAddress.json'
@@ -74,6 +75,21 @@ describe('Blockchair Transport', () => {
74
75
  })
75
76
  })
76
77
 
78
+ it('should throw error for zero balance address', async () => {
79
+ if (USE_MOCK) {
80
+ vi.spyOn(global, 'fetch').mockResolvedValue(
81
+ createMockResponse(
82
+ getZeroBalanceReponse as BlockchairAddressBalanceData
83
+ )
84
+ )
85
+ }
86
+
87
+ const zeroBalanceAddress = '12LRT14SgNFFQ3hMRThAyXNao24BBy5cyU'
88
+ await expect(
89
+ getBalance(publicClient, { address: zeroBalanceAddress })
90
+ ).rejects.toThrow()
91
+ })
92
+
77
93
  describe('getUTXOs', () => {
78
94
  it('should return utxos with correct structure', async () => {
79
95
  if (USE_MOCK) {
@@ -19,6 +19,7 @@ export const getBalance: RpcMethodHandler<'getBalance'> = async (
19
19
  url: apiUrl,
20
20
  fetchOptions: { method: 'GET' },
21
21
  })) as unknown as BlockchairResponse<BlockchairAddressBalanceData>
22
+
22
23
  if (
23
24
  response.data[address] === undefined ||
24
25
  response.context.error ||
@@ -34,6 +35,7 @@ export const getBalance: RpcMethodHandler<'getBalance'> = async (
34
35
  },
35
36
  }
36
37
  }
38
+
37
39
  return {
38
40
  result: BigInt(response.data[address]),
39
41
  }
@@ -1,3 +1,4 @@
1
+ import { BaseError } from '../../errors/base.js'
1
2
  import { RpcRequestError } from '../../errors/request.js'
2
3
  import { RpcErrorCode } from '../../errors/rpc.js'
3
4
  import { InsufficientUTXOBalanceError } from '../../errors/utxo.js'
@@ -90,11 +91,24 @@ export const getUTXOs: RpcMethodHandler<'getUTXOs'> = async (
90
91
  }
91
92
 
92
93
  if (minValue) {
93
- const { result: balance } = await getBalance(
94
+ const { error, result: balance } = await getBalance(
94
95
  client,
95
96
  { baseUrl, apiKey },
96
97
  { address }
97
98
  )
99
+
100
+ if (error) {
101
+ throw new BaseError('Error fetching balance', {
102
+ cause: error,
103
+ })
104
+ }
105
+
106
+ if (balance === undefined) {
107
+ throw new BaseError('Balance is undefined', {
108
+ cause: new Error('Unable to determine balance'),
109
+ })
110
+ }
111
+
98
112
  if (minValue > Number(balance)) {
99
113
  throw new InsufficientUTXOBalanceError({
100
114
  minValue,
@@ -5,6 +5,7 @@ import { AllTransportsFailedError } from '../errors/transport.js'
5
5
  import { InsufficientUTXOBalanceError } from '../errors/utxo.js'
6
6
  import { createClient, rpcSchema } from '../factories/createClient.js'
7
7
  import { createMockResponse } from '../test/utils.js'
8
+ import blockchairZeroBalanceResponse from './blockchair/__mocks__/getBalance/zeroBalance.json'
8
9
  import blockchairLimitedResponse from './blockchair/__mocks__/getUTXOs/rateLimited.json'
9
10
  import blockchairValidResponse from './blockchair/__mocks__/getUTXOs/valid.json'
10
11
  import { blockchair } from './blockchair/blockchair.js'
@@ -27,6 +28,15 @@ const publicClient = createClient({
27
28
  ]),
28
29
  })
29
30
 
31
+ const blockchairFirstClient = createClient({
32
+ chain: bitcoin,
33
+ rpcSchema: rpcSchema<UTXOSchema>(),
34
+ transport: fallback([
35
+ blockchair({ apiKey }),
36
+ blockcypher({ apiKey: blockCypherKey }),
37
+ ]),
38
+ })
39
+
30
40
  describe('Fallback Transport', () => {
31
41
  beforeEach(() => {
32
42
  vi.restoreAllMocks()
@@ -58,6 +68,21 @@ describe('Fallback Transport', () => {
58
68
  expect(utxos.length).toBeGreaterThan(0)
59
69
  })
60
70
 
71
+ it('blockchair first client should fallback to blockcypher when fetching with a zero balance address', async () => {
72
+ vi.spyOn(global, 'fetch').mockImplementation((request) => {
73
+ const url = new URL(request.toString())
74
+ if (url.hostname.includes('blockcypher')) {
75
+ return Promise.resolve(createMockResponse(blockcypherValidResponse))
76
+ }
77
+
78
+ return Promise.resolve(
79
+ createMockResponse(blockchairZeroBalanceResponse)
80
+ )
81
+ })
82
+ const utxos = await getUTXOs(blockchairFirstClient, { address })
83
+ expect(utxos.length).toBeGreaterThan(0)
84
+ })
85
+
61
86
  it('should throw error when both transports fail', async () => {
62
87
  vi.spyOn(global, 'fetch').mockImplementation((request) => {
63
88
  const url = new URL(request.toString())
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@bigmi/core'
2
- export const version = '0.5.2'
2
+ export const version = '0.5.4'
@@ -1,17 +0,0 @@
1
- import type { SendUTXOTransactionParameters, SendUTXOTransactionReturnType } from '../actions/sendUTXOTransaction.js';
2
- import type { WaitForTransactionReceiptParameters } from '../actions/waitForTransaction.js';
3
- import type { SignPsbtParameters, SignPsbtReturnType } from '../transports/types.js';
4
- import type { UTXOTransaction } from './transaction.js';
5
- export type WaitForTransactionReceiptReturnType = UTXOTransaction;
6
- export type WithRetryParameters = {
7
- delay?: ((config: {
8
- count: number;
9
- error: Error;
10
- }) => number) | number | undefined;
11
- retryCount?: number | undefined;
12
- };
13
- export type WalletActions = {
14
- sendUTXOTransaction: (args: SendUTXOTransactionParameters) => Promise<SendUTXOTransactionReturnType>;
15
- signPbst: (args: SignPsbtParameters) => Promise<SignPsbtReturnType>;
16
- waitForTransactionReceipt: (args: WaitForTransactionReceiptParameters) => Promise<WaitForTransactionReceiptReturnType>;
17
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/types/actions.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import type { Compute } from './utils.js';
2
- export type StorageItemMap = {
3
- recentConnectorId: string;
4
- state: any;
5
- };
6
- export type Storage<itemMap extends Record<string, unknown> = Record<string, unknown>, storageItemMap extends StorageItemMap = StorageItemMap & itemMap> = {
7
- key: string;
8
- getItem<key extends keyof storageItemMap, value extends storageItemMap[key], defaultValue extends value | null | undefined>(key: key, defaultValue?: defaultValue | undefined): (defaultValue extends null ? value | null : value) | Promise<defaultValue extends null ? value | null : value>;
9
- setItem<key extends keyof storageItemMap, value extends storageItemMap[key] | null>(key: key, value: value): void | Promise<void>;
10
- removeItem(key: keyof storageItemMap): void | Promise<void>;
11
- };
12
- export type BaseStorage = {
13
- getItem(key: string): string | null | undefined | Promise<string | null | undefined>;
14
- setItem(key: string, value: string): void | Promise<void>;
15
- removeItem(key: string): void | Promise<void>;
16
- };
17
- export type CreateStorageParameters = {
18
- deserialize?: (<type>(value: string) => type | unknown) | undefined;
19
- key?: string | undefined;
20
- serialize?: (<type>(value: type | any) => string) | undefined;
21
- storage?: Compute<BaseStorage> | undefined;
22
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/types/storage.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import type { SendUTXOTransactionParameters, SendUTXOTransactionReturnType } from '../actions/sendUTXOTransaction.js';
2
- import type { WaitForTransactionReceiptParameters } from '../actions/waitForTransaction.js';
3
- import type { SignPsbtParameters, SignPsbtReturnType } from '../transports/types.js';
4
- import type { UTXOTransaction } from './transaction.js';
5
- export type WaitForTransactionReceiptReturnType = UTXOTransaction;
6
- export type WithRetryParameters = {
7
- delay?: ((config: {
8
- count: number;
9
- error: Error;
10
- }) => number) | number | undefined;
11
- retryCount?: number | undefined;
12
- };
13
- export type WalletActions = {
14
- /**
15
- * Creates, signs, and sends a new transaction to the network.
16
- */
17
- sendUTXOTransaction: (args: SendUTXOTransactionParameters) => Promise<SendUTXOTransactionReturnType>;
18
- signPbst: (args: SignPsbtParameters) => Promise<SignPsbtReturnType>;
19
- waitForTransactionReceipt: (args: WaitForTransactionReceiptParameters) => Promise<WaitForTransactionReceiptReturnType>;
20
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/types/actions.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import type { Compute } from './utils.js';
2
- export type StorageItemMap = {
3
- recentConnectorId: string;
4
- state: any;
5
- };
6
- export type Storage<itemMap extends Record<string, unknown> = Record<string, unknown>, storageItemMap extends StorageItemMap = StorageItemMap & itemMap> = {
7
- key: string;
8
- getItem<key extends keyof storageItemMap, value extends storageItemMap[key], defaultValue extends value | null | undefined>(key: key, defaultValue?: defaultValue | undefined): (defaultValue extends null ? value | null : value) | Promise<defaultValue extends null ? value | null : value>;
9
- setItem<key extends keyof storageItemMap, value extends storageItemMap[key] | null>(key: key, value: value): void | Promise<void>;
10
- removeItem(key: keyof storageItemMap): void | Promise<void>;
11
- };
12
- export type BaseStorage = {
13
- getItem(key: string): string | null | undefined | Promise<string | null | undefined>;
14
- setItem(key: string, value: string): void | Promise<void>;
15
- removeItem(key: string): void | Promise<void>;
16
- };
17
- export type CreateStorageParameters = {
18
- deserialize?: (<type>(value: string) => type | unknown) | undefined;
19
- key?: string | undefined;
20
- serialize?: (<type>(value: type | any) => string) | undefined;
21
- storage?: Compute<BaseStorage> | undefined;
22
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/types/storage.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import type { SendUTXOTransactionParameters, SendUTXOTransactionReturnType } from '../actions/sendUTXOTransaction.js';
2
- import type { WaitForTransactionReceiptParameters } from '../actions/waitForTransaction.js';
3
- import type { SignPsbtParameters, SignPsbtReturnType } from '../transports/types.js';
4
- import type { UTXOTransaction } from './transaction.js';
5
- export type WaitForTransactionReceiptReturnType = UTXOTransaction;
6
- export type WithRetryParameters = {
7
- delay?: ((config: {
8
- count: number;
9
- error: Error;
10
- }) => number) | number | undefined;
11
- retryCount?: number | undefined;
12
- };
13
- export type WalletActions = {
14
- /**
15
- * Creates, signs, and sends a new transaction to the network.
16
- */
17
- sendUTXOTransaction: (args: SendUTXOTransactionParameters) => Promise<SendUTXOTransactionReturnType>;
18
- signPbst: (args: SignPsbtParameters) => Promise<SignPsbtReturnType>;
19
- waitForTransactionReceipt: (args: WaitForTransactionReceiptParameters) => Promise<WaitForTransactionReceiptReturnType>;
20
- };
21
- //# sourceMappingURL=actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/types/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAA;AAC3F,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,MAAM,MAAM,mCAAmC,GAAG,eAAe,CAAA;AAEjE,MAAM,MAAM,mBAAmB,GAAG;IAEhC,KAAK,CAAC,EACF,CAAC,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,MAAM,CAAC,GACrD,MAAM,GACN,SAAS,CAAA;IAEb,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,mBAAmB,EAAE,CACnB,IAAI,EAAE,6BAA6B,KAChC,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAE3C,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAEnE,yBAAyB,EAAE,CACzB,IAAI,EAAE,mCAAmC,KACtC,OAAO,CAAC,mCAAmC,CAAC,CAAA;CAClD,CAAA"}
@@ -1,23 +0,0 @@
1
- import type { Compute } from './utils.js';
2
- export type StorageItemMap = {
3
- recentConnectorId: string;
4
- state: any;
5
- };
6
- export type Storage<itemMap extends Record<string, unknown> = Record<string, unknown>, storageItemMap extends StorageItemMap = StorageItemMap & itemMap> = {
7
- key: string;
8
- getItem<key extends keyof storageItemMap, value extends storageItemMap[key], defaultValue extends value | null | undefined>(key: key, defaultValue?: defaultValue | undefined): (defaultValue extends null ? value | null : value) | Promise<defaultValue extends null ? value | null : value>;
9
- setItem<key extends keyof storageItemMap, value extends storageItemMap[key] | null>(key: key, value: value): void | Promise<void>;
10
- removeItem(key: keyof storageItemMap): void | Promise<void>;
11
- };
12
- export type BaseStorage = {
13
- getItem(key: string): string | null | undefined | Promise<string | null | undefined>;
14
- setItem(key: string, value: string): void | Promise<void>;
15
- removeItem(key: string): void | Promise<void>;
16
- };
17
- export type CreateStorageParameters = {
18
- deserialize?: (<type>(value: string) => type | unknown) | undefined;
19
- key?: string | undefined;
20
- serialize?: (<type>(value: type | any) => string) | undefined;
21
- storage?: Compute<BaseStorage> | undefined;
22
- };
23
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/types/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,MAAM,MAAM,OAAO,CACjB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,cAAc,SAAS,cAAc,GAAG,cAAc,GAAG,OAAO,IAC9D;IACF,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CACL,GAAG,SAAS,MAAM,cAAc,EAChC,KAAK,SAAS,cAAc,CAAC,GAAG,CAAC,EACjC,YAAY,SAAS,KAAK,GAAG,IAAI,GAAG,SAAS,EAE7C,GAAG,EAAE,GAAG,EACR,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,GAErC,CAAC,YAAY,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,GAClD,OAAO,CAAC,YAAY,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,CAAA;IAC7D,OAAO,CACL,GAAG,SAAS,MAAM,cAAc,EAChC,KAAK,SAAS,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,EACxC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,UAAU,CAAC,GAAG,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CACL,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,SAAS,CAAA;IACnE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;CAC3C,CAAA"}
@@ -1,37 +0,0 @@
1
- import type {
2
- SendUTXOTransactionParameters,
3
- SendUTXOTransactionReturnType,
4
- } from '../actions/sendUTXOTransaction.js'
5
- import type { WaitForTransactionReceiptParameters } from '../actions/waitForTransaction.js'
6
- import type {
7
- SignPsbtParameters,
8
- SignPsbtReturnType,
9
- } from '../transports/types.js'
10
- import type { UTXOTransaction } from './transaction.js'
11
-
12
- export type WaitForTransactionReceiptReturnType = UTXOTransaction
13
-
14
- export type WithRetryParameters = {
15
- // The delay (in ms) between retries.
16
- delay?:
17
- | ((config: { count: number; error: Error }) => number)
18
- | number
19
- | undefined
20
- // The max number of times to retry.
21
- retryCount?: number | undefined
22
- }
23
-
24
- export type WalletActions = {
25
- /**
26
- * Creates, signs, and sends a new transaction to the network.
27
- */
28
- sendUTXOTransaction: (
29
- args: SendUTXOTransactionParameters
30
- ) => Promise<SendUTXOTransactionReturnType>
31
-
32
- signPbst: (args: SignPsbtParameters) => Promise<SignPsbtReturnType>
33
-
34
- waitForTransactionReceipt: (
35
- args: WaitForTransactionReceiptParameters
36
- ) => Promise<WaitForTransactionReceiptReturnType>
37
- }
@@ -1,44 +0,0 @@
1
- import type { Compute } from './utils.js'
2
-
3
- export type StorageItemMap = {
4
- recentConnectorId: string
5
- state: any
6
- }
7
-
8
- export type Storage<
9
- itemMap extends Record<string, unknown> = Record<string, unknown>,
10
- ///
11
- storageItemMap extends StorageItemMap = StorageItemMap & itemMap,
12
- > = {
13
- key: string
14
- getItem<
15
- key extends keyof storageItemMap,
16
- value extends storageItemMap[key],
17
- defaultValue extends value | null | undefined,
18
- >(
19
- key: key,
20
- defaultValue?: defaultValue | undefined
21
- ):
22
- | (defaultValue extends null ? value | null : value)
23
- | Promise<defaultValue extends null ? value | null : value>
24
- setItem<
25
- key extends keyof storageItemMap,
26
- value extends storageItemMap[key] | null,
27
- >(key: key, value: value): void | Promise<void>
28
- removeItem(key: keyof storageItemMap): void | Promise<void>
29
- }
30
-
31
- export type BaseStorage = {
32
- getItem(
33
- key: string
34
- ): string | null | undefined | Promise<string | null | undefined>
35
- setItem(key: string, value: string): void | Promise<void>
36
- removeItem(key: string): void | Promise<void>
37
- }
38
-
39
- export type CreateStorageParameters = {
40
- deserialize?: (<type>(value: string) => type | unknown) | undefined
41
- key?: string | undefined
42
- serialize?: (<type>(value: type | any) => string) | undefined
43
- storage?: Compute<BaseStorage> | undefined
44
- }