@bitgo/abstract-utxo 13.3.0 → 13.4.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryProvider.d.ts","sourceRoot":"","sources":["../../../src/recovery/RecoveryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACxE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxD;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAgBrF"}
1
+ {"version":3,"file":"RecoveryProvider.d.ts","sourceRoot":"","sources":["../../../src/recovery/RecoveryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACxE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxD;AA0BD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAgBrF"}
@@ -1,5 +1,28 @@
1
- import { BlockchairApi } from '@bitgo/blockapis';
1
+ import { ApiRequestError, BlockchairApi } from '@bitgo/blockapis';
2
+ import { RecoveryProviderError } from '@bitgo/sdk-core';
2
3
  import { ApiNotImplementedError } from './baseApi';
4
+ /**
5
+ * Re-map `@bitgo/blockapis` provider failures (`ApiRequestError`) to the shared
6
+ * `RecoveryProviderError` so a recovery scanner can distinguish "indexer failed"
7
+ * from "wallet is empty". `ApiRequestError` is the single error type the blockchair
8
+ * http client surfaces for network failures, non-2xx responses, and malformed bodies.
9
+ */
10
+ function wrapProviderErrors(provider) {
11
+ return new Proxy(provider, {
12
+ get(target, prop, receiver) {
13
+ const value = Reflect.get(target, prop, receiver);
14
+ if (typeof value === 'function') {
15
+ return (...args) => Promise.resolve(value.apply(target, args)).catch((e) => {
16
+ if (e instanceof ApiRequestError) {
17
+ throw new RecoveryProviderError(e.message, e);
18
+ }
19
+ throw e;
20
+ });
21
+ }
22
+ return value;
23
+ },
24
+ });
25
+ }
3
26
  export function forCoin(coinName, apiToken) {
4
27
  switch (coinName) {
5
28
  case 'btc':
@@ -12,8 +35,8 @@ export function forCoin(coinName, apiToken) {
12
35
  case 'doge':
13
36
  case 'ltc':
14
37
  case 'zec':
15
- return BlockchairApi.forCoin(coinName, { apiToken });
38
+ return wrapProviderErrors(BlockchairApi.forCoin(coinName, { apiToken }));
16
39
  }
17
40
  throw new ApiNotImplementedError(coinName);
18
41
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3ZlcnlQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWNvdmVyeS9SZWNvdmVyeVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBb0JuRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7SUFDekQsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUs7WUFDUixPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxJQUFJLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG9ja2NoYWlyQXBpLCBBZGRyZXNzSW5mbywgVHJhbnNhY3Rpb25JTyB9IGZyb20gJ0BiaXRnby9ibG9ja2FwaXMnO1xuXG5pbXBvcnQgdHlwZSB7IFVuc3BlbnQgfSBmcm9tICcuLi91bnNwZW50JztcblxuaW1wb3J0IHsgQXBpTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4vYmFzZUFwaSc7XG5cbi8qKlxuICogQW4gYWNjb3VudCB3aXRoIGJlYXIgbWluaW11bSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmb3IgcmVjb3Zlcmllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyeUFjY291bnREYXRhIHtcbiAgdHhDb3VudDogbnVtYmVyO1xuICB0b3RhbEJhbGFuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZvciBBZGRyZXNzQXBpICYgVXR4b0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5UHJvdmlkZXI8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4ge1xuICBnZXRVbnNwZW50c0ZvckFkZHJlc3NlcyhhZGRyZXNzZXM6IHN0cmluZ1tdKTogUHJvbWlzZTxVbnNwZW50PFROdW1iZXI+W10+O1xuICBnZXRBZGRyZXNzSW5mbyhhZGRyZXNzOiBzdHJpbmcpOiBQcm9taXNlPEFkZHJlc3NJbmZvPjtcbiAgZ2V0VHJhbnNhY3Rpb25IZXgodHhpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBnZXRUcmFuc2FjdGlvbklPKHR4aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JTz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JDb2luKGNvaW5OYW1lOiBzdHJpbmcsIGFwaVRva2VuPzogc3RyaW5nKTogUmVjb3ZlcnlQcm92aWRlcjxudW1iZXI+IHtcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ2J0Yyc6XG4gICAgY2FzZSAndGJ0Yyc6XG4gICAgY2FzZSAnYmNoJzpcbiAgICBjYXNlICdiY2hhJzpcbiAgICBjYXNlICdic3YnOlxuICAgIGNhc2UgJ2J0Zyc6XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgY2FzZSAnbHRjJzpcbiAgICBjYXNlICd6ZWMnOlxuICAgICAgcmV0dXJuIEJsb2NrY2hhaXJBcGkuZm9yQ29pbihjb2luTmFtZSwgeyBhcGlUb2tlbiB9KTtcbiAgfVxuXG4gIHRocm93IG5ldyBBcGlOb3RJbXBsZW1lbnRlZEVycm9yKGNvaW5OYW1lKTtcbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3ZlcnlQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWNvdmVyeS9SZWNvdmVyeVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUE4QixNQUFNLGtCQUFrQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQW9CbkQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGtCQUFrQixDQUE2QixRQUFXO0lBQ2pFLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ3pCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDeEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFLENBQzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtvQkFDOUQsSUFBSSxDQUFDLFlBQVksZUFBZSxFQUFFLENBQUM7d0JBQ2pDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNoRCxDQUFDO29CQUNELE1BQU0sQ0FBQyxDQUFDO2dCQUNWLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUNGLENBQU0sQ0FBQztBQUNWLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7SUFDekQsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUs7WUFDUixPQUFPLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxNQUFNLElBQUksc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaVJlcXVlc3RFcnJvciwgQmxvY2tjaGFpckFwaSwgQWRkcmVzc0luZm8sIFRyYW5zYWN0aW9uSU8gfSBmcm9tICdAYml0Z28vYmxvY2thcGlzJztcbmltcG9ydCB7IFJlY292ZXJ5UHJvdmlkZXJFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgVW5zcGVudCB9IGZyb20gJy4uL3Vuc3BlbnQnO1xuXG5pbXBvcnQgeyBBcGlOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi9iYXNlQXBpJztcblxuLyoqXG4gKiBBbiBhY2NvdW50IHdpdGggYmVhciBtaW5pbXVtIGluZm9ybWF0aW9uIHJlcXVpcmVkIGZvciByZWNvdmVyaWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5QWNjb3VudERhdGEge1xuICB0eENvdW50OiBudW1iZXI7XG4gIHRvdGFsQmFsYW5jZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZhY3RvcnkgZm9yIEFkZHJlc3NBcGkgJiBVdHhvQXBpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlQcm92aWRlcjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPiB7XG4gIGdldFVuc3BlbnRzRm9yQWRkcmVzc2VzKGFkZHJlc3Nlczogc3RyaW5nW10pOiBQcm9taXNlPFVuc3BlbnQ8VE51bWJlcj5bXT47XG4gIGdldEFkZHJlc3NJbmZvKGFkZHJlc3M6IHN0cmluZyk6IFByb21pc2U8QWRkcmVzc0luZm8+O1xuICBnZXRUcmFuc2FjdGlvbkhleCh0eGlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG4gIGdldFRyYW5zYWN0aW9uSU8odHhpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbklPPjtcbn1cblxuLyoqXG4gKiBSZS1tYXAgYEBiaXRnby9ibG9ja2FwaXNgIHByb3ZpZGVyIGZhaWx1cmVzIChgQXBpUmVxdWVzdEVycm9yYCkgdG8gdGhlIHNoYXJlZFxuICogYFJlY292ZXJ5UHJvdmlkZXJFcnJvcmAgc28gYSByZWNvdmVyeSBzY2FubmVyIGNhbiBkaXN0aW5ndWlzaCBcImluZGV4ZXIgZmFpbGVkXCJcbiAqIGZyb20gXCJ3YWxsZXQgaXMgZW1wdHlcIi4gYEFwaVJlcXVlc3RFcnJvcmAgaXMgdGhlIHNpbmdsZSBlcnJvciB0eXBlIHRoZSBibG9ja2NoYWlyXG4gKiBodHRwIGNsaWVudCBzdXJmYWNlcyBmb3IgbmV0d29yayBmYWlsdXJlcywgbm9uLTJ4eCByZXNwb25zZXMsIGFuZCBtYWxmb3JtZWQgYm9kaWVzLlxuICovXG5mdW5jdGlvbiB3cmFwUHJvdmlkZXJFcnJvcnM8VCBleHRlbmRzIFJlY292ZXJ5UHJvdmlkZXI+KHByb3ZpZGVyOiBUKTogVCB7XG4gIHJldHVybiBuZXcgUHJveHkocHJvdmlkZXIsIHtcbiAgICBnZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgICAgY29uc3QgdmFsdWUgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKTtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuICguLi5hcmdzOiB1bmtub3duW10pID0+XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHZhbHVlLmFwcGx5KHRhcmdldCwgYXJncykpLmNhdGNoKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFwaVJlcXVlc3RFcnJvcikge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVjb3ZlcnlQcm92aWRlckVycm9yKGUubWVzc2FnZSwgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0sXG4gIH0pIGFzIFQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JDb2luKGNvaW5OYW1lOiBzdHJpbmcsIGFwaVRva2VuPzogc3RyaW5nKTogUmVjb3ZlcnlQcm92aWRlcjxudW1iZXI+IHtcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ2J0Yyc6XG4gICAgY2FzZSAndGJ0Yyc6XG4gICAgY2FzZSAnYmNoJzpcbiAgICBjYXNlICdiY2hhJzpcbiAgICBjYXNlICdic3YnOlxuICAgIGNhc2UgJ2J0Zyc6XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgY2FzZSAnbHRjJzpcbiAgICBjYXNlICd6ZWMnOlxuICAgICAgcmV0dXJuIHdyYXBQcm92aWRlckVycm9ycyhCbG9ja2NoYWlyQXBpLmZvckNvaW4oY29pbk5hbWUsIHsgYXBpVG9rZW4gfSkpO1xuICB9XG5cbiAgdGhyb3cgbmV3IEFwaU5vdEltcGxlbWVudGVkRXJyb3IoY29pbk5hbWUpO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/abstract-utxo",
3
- "version": "13.3.0",
3
+ "version": "13.4.0",
4
4
  "description": "BitGo SDK coin library for UTXO base implementation",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -61,8 +61,8 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@bitgo/blockapis": "^1.13.11",
64
- "@bitgo/sdk-api": "^3.0.7",
65
- "@bitgo/sdk-core": "^38.23.0",
64
+ "@bitgo/sdk-api": "^3.1.0",
65
+ "@bitgo/sdk-core": "^39.0.0",
66
66
  "@bitgo/utxo-core": "^1.41.5",
67
67
  "@bitgo/utxo-descriptors": "^2.1.0",
68
68
  "@bitgo/utxo-ord": "^1.34.5",
@@ -76,10 +76,10 @@
76
76
  "superagent": "^9.0.1"
77
77
  },
78
78
  "devDependencies": {
79
- "@bitgo/sdk-test": "^9.1.84",
80
- "@bitgo/statics": "^59.22.0",
79
+ "@bitgo/sdk-test": "^9.1.85",
80
+ "@bitgo/statics": "^59.23.0",
81
81
  "@bitgo/utxo-lib": "^11.24.4",
82
82
  "mocha": "^10.2.0"
83
83
  },
84
- "gitHead": "6c85ccf5b89de751eb82848d9af722eba0136e52"
84
+ "gitHead": "55f471c58a723830b4da056635d29dc87f5c3426"
85
85
  }