@did-btcr2/bitcoin 0.3.2 → 0.3.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 (72) hide show
  1. package/dist/cjs/bitcoin.js +2 -2
  2. package/dist/cjs/bitcoin.js.map +1 -1
  3. package/dist/cjs/client/rest/index.js +3 -3
  4. package/dist/cjs/client/rest/index.js.map +1 -1
  5. package/dist/cjs/client/rpc/index.js +61 -22
  6. package/dist/cjs/client/rpc/index.js.map +1 -1
  7. package/dist/cjs/client/rpc/interface.js +6 -1
  8. package/dist/cjs/client/rpc/interface.js.map +1 -1
  9. package/dist/cjs/client/rpc/json-rpc.js +0 -1
  10. package/dist/cjs/client/rpc/json-rpc.js.map +1 -1
  11. package/dist/cjs/constants.js +4 -4
  12. package/dist/cjs/constants.js.map +1 -1
  13. package/dist/cjs/errors.js +3 -1
  14. package/dist/cjs/errors.js.map +1 -1
  15. package/dist/cjs/index.js +0 -1
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/types.js +0 -3
  18. package/dist/cjs/types.js.map +1 -1
  19. package/dist/esm/bitcoin.js +2 -2
  20. package/dist/esm/bitcoin.js.map +1 -1
  21. package/dist/esm/client/rest/index.js +3 -3
  22. package/dist/esm/client/rest/index.js.map +1 -1
  23. package/dist/esm/client/rpc/index.js +61 -22
  24. package/dist/esm/client/rpc/index.js.map +1 -1
  25. package/dist/esm/client/rpc/interface.js +6 -1
  26. package/dist/esm/client/rpc/interface.js.map +1 -1
  27. package/dist/esm/client/rpc/json-rpc.js +0 -1
  28. package/dist/esm/client/rpc/json-rpc.js.map +1 -1
  29. package/dist/esm/constants.js +4 -4
  30. package/dist/esm/constants.js.map +1 -1
  31. package/dist/esm/errors.js +3 -1
  32. package/dist/esm/errors.js.map +1 -1
  33. package/dist/esm/index.js +0 -1
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/types.js +0 -3
  36. package/dist/esm/types.js.map +1 -1
  37. package/dist/types/client/rpc/index.d.ts +22 -5
  38. package/dist/types/client/rpc/index.d.ts.map +1 -1
  39. package/dist/types/client/rpc/interface.d.ts +1 -0
  40. package/dist/types/client/rpc/interface.d.ts.map +1 -1
  41. package/dist/types/client/rpc/json-rpc.d.ts.map +1 -1
  42. package/dist/types/constants.d.ts +4 -4
  43. package/dist/types/errors.d.ts +3 -2
  44. package/dist/types/errors.d.ts.map +1 -1
  45. package/dist/types/index.d.ts +0 -1
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/types/types.d.ts +10 -11
  48. package/dist/types/types.d.ts.map +1 -1
  49. package/package.json +3 -3
  50. package/src/bitcoin.ts +2 -2
  51. package/src/client/rest/index.ts +3 -3
  52. package/src/client/rpc/index.ts +68 -27
  53. package/src/client/rpc/interface.ts +7 -0
  54. package/src/client/rpc/json-rpc.ts +0 -1
  55. package/src/constants.ts +4 -4
  56. package/src/errors.ts +4 -2
  57. package/src/index.ts +0 -1
  58. package/src/types.ts +10 -15
  59. package/dist/cjs/musig2.js +0 -74
  60. package/dist/cjs/musig2.js.map +0 -1
  61. package/dist/cjs/taproot.js +0 -219
  62. package/dist/cjs/taproot.js.map +0 -1
  63. package/dist/esm/musig2.js +0 -74
  64. package/dist/esm/musig2.js.map +0 -1
  65. package/dist/esm/taproot.js +0 -219
  66. package/dist/esm/taproot.js.map +0 -1
  67. package/dist/types/musig2.d.ts +0 -44
  68. package/dist/types/musig2.d.ts.map +0 -1
  69. package/dist/types/taproot.d.ts +0 -34
  70. package/dist/types/taproot.d.ts.map +0 -1
  71. package/src/musig2.ts +0 -117
  72. package/src/taproot.ts +0 -237
@@ -1,4 +1,4 @@
1
- import { MethodError } from '@did-btcr2/common';
1
+ import { JSONUtils, MethodError } from '@did-btcr2/common';
2
2
  import { BitcoinRestClient } from './client/rest/index.js';
3
3
  import { BitcoinCoreRpcClient } from './client/rpc/index.js';
4
4
  import { getNetwork } from './network.js';
@@ -28,7 +28,7 @@ export class BitcoinNetworkConnection {
28
28
  throw new MethodError('No BITCOIN_NETWORK_CONFIG available: must pass `configs` to constructor or set `BITCOIN_NETWORK_CONFIG` in env', 'MISSING_BITCOIN_NETWORK_CONFIG', { BITCOIN_NETWORK_CONFIG });
29
29
  }
30
30
  // Check if BITCOIN_NETWORK_CONFIG is parsable JSON string
31
- if (!JSON.parsable(BITCOIN_NETWORK_CONFIG)) {
31
+ if (!JSONUtils.isParsable(BITCOIN_NETWORK_CONFIG)) {
32
32
  throw new MethodError('Parsing failed: malformed BITCOIN_NETWORK_CONFIG', 'MISSING_MALFORMED_BITCOIN_NETWORK_CONFIG', { BITCOIN_NETWORK_CONFIG });
33
33
  }
34
34
  // Parse the BITCOIN_NETWORK_CONFIG
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../src/bitcoin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../src/bitcoin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MethodError } from '@did-btcr2/common';
1
+ import { JSONUtils, MethodError, StringUtils } from '@did-btcr2/common';
2
2
  import { DEFAULT_BITCOIN_NETWORK_CONFIG } from '../../constants.js';
3
3
  import { BitcoinAddress } from './address.js';
4
4
  import { BitcoinBlock } from './block.js';
@@ -77,7 +77,7 @@ export class BitcoinRestClient {
77
77
  */
78
78
  async call({ path, url, method, body, headers }) {
79
79
  // Construct the URL if not provided
80
- url ??= `${this.config.host.replaceEnd('/')}${path}`;
80
+ url ??= `${StringUtils.replaceEnd(this.config.host, '/')}${path}`;
81
81
  // Set the method to GET if not provided
82
82
  method ??= 'GET';
83
83
  // Construct the request options
@@ -90,7 +90,7 @@ export class BitcoinRestClient {
90
90
  };
91
91
  // If the method is POST or PUT, add the body to the request
92
92
  if (body) {
93
- requestInit.body = JSON.is(body) ? JSON.stringify(body) : body;
93
+ requestInit.body = JSONUtils.isObject(body) ? JSON.stringify(body) : body;
94
94
  requestInit.method = 'POST';
95
95
  }
96
96
  // Make the request
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rest/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rest/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { JSONUtils } from '@did-btcr2/common';
1
2
  import { DEFAULT_BITCOIN_NETWORK_CONFIG } from '../../constants.js';
2
3
  import { BitcoinRpcError } from '../../errors.js';
3
4
  import { BitcoinRpcClientConfig } from '../../types.js';
@@ -9,8 +10,24 @@ import { JsonRpcTransport } from './json-rpc.js';
9
10
  * @implements {BitcoinRpcClient}
10
11
  */
11
12
  export class BitcoinCoreRpcClient {
12
- _transport;
13
- _config;
13
+ /**
14
+ * The singleton instance of the BitcoinCoreRpcClient.
15
+ * @type {BitcoinCoreRpcClient}
16
+ * @private
17
+ */
18
+ static #instance;
19
+ /**
20
+ * The JSON-RPC transport layer.
21
+ * @type {JsonRpcTransport}
22
+ * @private
23
+ */
24
+ #transport;
25
+ /**
26
+ * The configuration for the RPC client.
27
+ * @type {RpcClientConfig}
28
+ * @private
29
+ */
30
+ #config;
14
31
  /**
15
32
  * Constructs a new {@link BitcoinCoreRpcClient} instance from a new {@link RpcClient | RpcClient}.
16
33
  * @param {RpcClientConfig} config The bitcoin-core client instance.
@@ -21,8 +38,8 @@ export class BitcoinCoreRpcClient {
21
38
  * ```
22
39
  */
23
40
  constructor(config) {
24
- this._config = new BitcoinRpcClientConfig(config);
25
- this._transport = new JsonRpcTransport(this._config);
41
+ this.#config = new BitcoinRpcClientConfig(config);
42
+ this.#transport = new JsonRpcTransport(this.#config);
26
43
  }
27
44
  /**
28
45
  * Get the config for the current BitcoinRpcClient object.
@@ -35,7 +52,7 @@ export class BitcoinCoreRpcClient {
35
52
  * ```
36
53
  */
37
54
  get config() {
38
- const config = this._config;
55
+ const config = this.#config;
39
56
  return config;
40
57
  }
41
58
  /**
@@ -48,11 +65,11 @@ export class BitcoinCoreRpcClient {
48
65
  * ```
49
66
  */
50
67
  get client() {
51
- const client = this._transport;
68
+ const client = this.#transport;
52
69
  return client;
53
70
  }
54
71
  /**
55
- * Static method initializes a new BitcoinCoreRpcClient client with the given configuration.
72
+ * Static method initializes a static instance of BitcoinCoreRpcClient with the given configuration.
56
73
  * The RpcClient returned by this method does not have any named methods.
57
74
  * Use this method to create and pass a new RpcClient instance to a BitcoinCoreRpcClient constructor.
58
75
  *
@@ -70,7 +87,9 @@ export class BitcoinCoreRpcClient {
70
87
  * ```
71
88
  */
72
89
  static initialize(config) {
73
- return BitcoinRpcClientConfig.initialize(config);
90
+ const cfg = new BitcoinRpcClientConfig(config);
91
+ BitcoinCoreRpcClient.#instance = new BitcoinCoreRpcClient(cfg);
92
+ return BitcoinCoreRpcClient.#instance;
74
93
  }
75
94
  /**
76
95
  * Static method connects to a bitcoin node running the bitcoin core daemon (bitcoind).
@@ -105,10 +124,8 @@ export class BitcoinCoreRpcClient {
105
124
  */
106
125
  async executeRpc(method, parameters = []) {
107
126
  try {
108
- // raw call
109
127
  const raw = await this.client.command([{ method, parameters }]);
110
- // normalization/unwrapping, if needed
111
- const normalized = JSON.unprototyped(raw) ? JSON.normalize(raw) : raw;
128
+ const normalized = JSONUtils.isUnprototyped(raw) ? JSONUtils.normalize(raw) : raw;
112
129
  const result = Array.isArray(normalized)
113
130
  ? normalized[normalized.length - 1]
114
131
  : normalized;
@@ -118,6 +135,33 @@ export class BitcoinCoreRpcClient {
118
135
  this.handleError(err, method, parameters);
119
136
  }
120
137
  }
138
+ /**
139
+ *
140
+ * Map JSON-RPC error codes to HTTP status codes.
141
+ * @param {number | undefined} code The JSON-RPC error code.
142
+ * @returns {number} The corresponding HTTP status code.
143
+ *
144
+ * | Error type | HTTP code |
145
+ * | -------------------------------| --------------------|
146
+ * | Valid JSON-RPC failure | **400 / 404 / 422** |
147
+ * | JSON-RPC authentication issues | **401 / 403** |
148
+ * | Upstream bitcoind unreachable | **502** |
149
+ * | Upstream timeout | **504** |
150
+ * | Network transient errors | **503** |
151
+ * | Unknown unexpected errors | **500** |
152
+ */
153
+ mapRpcCodeToHttp(code) {
154
+ switch (code) {
155
+ case -32700:
156
+ case -32600:
157
+ case -32602:
158
+ return 400;
159
+ case -32601:
160
+ return 404;
161
+ default:
162
+ return 422;
163
+ }
164
+ }
121
165
  /**
122
166
  * Handle errors that occur while executing commands.
123
167
  * @param methods An array of {@link BatchOption} objects.
@@ -126,15 +170,9 @@ export class BitcoinCoreRpcClient {
126
170
  */
127
171
  handleError(err, method, params) {
128
172
  if (this.isJsonRpcError(err)) {
129
- // a bitcoind JSON‑RPC error
130
- throw new BitcoinRpcError(err.code, `RPC ${method} failed: ${err.message}`, { method, params });
131
- }
132
- if (err instanceof Error) {
133
- // network, HTTP, or unexpected client error
134
- throw new BitcoinRpcError('NETWORK_ERROR', `Network error in ${method}: ${err.message}`, { method, params, original: err });
173
+ throw new BitcoinRpcError(err.name.toUpperCase(), this.mapRpcCodeToHttp(err.code), `RPC ${method} failed: ${err.message}`, { method, params });
135
174
  }
136
- // absolutely unknown
137
- throw new BitcoinRpcError('UNKNOWN_ERROR', `Unknown failure in ${method}`, { method, params, err });
175
+ throw new BitcoinRpcError('UNKNOWN_ERROR', 500, `Unknown failure in ${method}`, { method, params, err });
138
176
  }
139
177
  /**
140
178
  * Returns the block data associated with a `blockhash` of a valid block.
@@ -148,7 +186,7 @@ export class BitcoinCoreRpcClient {
148
186
  async getBlock({ blockhash, height, verbosity }) {
149
187
  // Check if blockhash or height is provided, if neither throw an error
150
188
  if (!blockhash && height === undefined) {
151
- throw new BitcoinRpcError('blockhash or height required', 'INVALID_PARAMS_GET_BLOCK', { blockhash, height });
189
+ throw new BitcoinRpcError('INVALID_PARAMS_GET_BLOCK', 400, 'blockhash or height required', { blockhash, height });
152
190
  }
153
191
  // If height is provided, get the blockhash
154
192
  blockhash ??= await this.getBlockHash(height);
@@ -212,7 +250,6 @@ export class BitcoinCoreRpcClient {
212
250
  * @returns {Promise<string>} A promise resolving to the transaction hash in hex.
213
251
  */
214
252
  async sendRawTransaction(hexstring, maxfeerate, maxBurnAmount) {
215
- console.log('sendRawTransaction', { hexstring, maxfeerate, maxBurnAmount });
216
253
  return await this.executeRpc('sendrawtransaction', [hexstring, maxfeerate ?? 0.10, maxBurnAmount ?? 0.00]);
217
254
  }
218
255
  /**
@@ -237,7 +274,9 @@ export class BitcoinCoreRpcClient {
237
274
  return sentRawTx;
238
275
  }
239
276
  /**
240
- * TODO: Comments
277
+ * Returns up to 'count' most recent transactions skipping the first 'from' transactions for account 'label'.
278
+ * @param {ListTransactionsParams} params The parameters for the listTransactions command.
279
+ * @returns {Promise<ListTransactionsResult>} A promise resolving to a {@link ListTransactionsResult} object.
241
280
  */
242
281
  async listTransactions(params) {
243
282
  return await this.executeRpc('listtransactions', [params]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rpc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rpc/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
- export {};
1
+ export function isBitcoinRpcClient(obj) {
2
+ return obj &&
3
+ typeof obj.getBlockCount === 'function' &&
4
+ typeof obj.getBlockHash === 'function' &&
5
+ typeof obj.getBlockchainInfo === 'function';
6
+ }
2
7
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/client/rpc/interface.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/client/rpc/interface.ts"],"names":[],"mappings":"AA2DA,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,OAAO,GAAG;QACR,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU;QACvC,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU;QACtC,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,CAAC;AAChD,CAAC"}
@@ -13,7 +13,6 @@ export class JsonRpcTransport {
13
13
  const u = new URL(this.url);
14
14
  if (u.username || u.password) {
15
15
  this.authHeader = `Basic ${toBase64(`${decodeURIComponent(u.username)}:${decodeURIComponent(u.password)}`)}`;
16
- // strip creds from URL if they were embedded
17
16
  u.username = '';
18
17
  u.password = '';
19
18
  this.url = u.toString().replace(/\/+$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/client/rpc/json-rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/client/rpc/json-rpc.ts"],"names":[],"mappings":"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"}
@@ -7,19 +7,19 @@ export const GENESIS_TX_ID = '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2
7
7
  export const DEFAULT_BITCOIN_NETWORK_CONFIG = {
8
8
  bitcoin: {
9
9
  rpc: undefined,
10
- rest: { host: 'https://mempool.holdings/api' }
10
+ rest: { host: 'https://mempool.space/api' }
11
11
  },
12
12
  testnet3: {
13
13
  rpc: undefined,
14
- rest: { host: 'https://mempool.holdings/testnet/api' }
14
+ rest: { host: 'https://mempool.space/testnet/api' }
15
15
  },
16
16
  testnet4: {
17
17
  rpc: undefined,
18
- rest: { host: 'https://mempool.holdings/testnet4/api' }
18
+ rest: { host: 'https://mempool.space/testnet4/api' }
19
19
  },
20
20
  signet: {
21
21
  rpc: undefined,
22
- rest: { host: 'https://mempool.holdings/signet/api' }
22
+ rest: { host: 'https://mempool.space/signet/api' }
23
23
  },
24
24
  mutinynet: {
25
25
  rpc: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,kEAAkE,CAAC;AACxG,MAAM,CAAC,MAAM,aAAa,GAAG,kEAAkE,CAAC;AAChG,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,OAAO,EAAG;QACR,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,8BAA8B,EAAE;KAChD;IACD,QAAQ,EAAG;QACT,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,sCAAsC,EAAE;KACxD;IACD,QAAQ,EAAG;QACT,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,uCAAuC,EAAE;KACzD;IACD,MAAM,EAAI;QACR,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,qCAAqC,EAAE;KACvD;IACD,SAAS,EAAG;QACV,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE;KAC7C;IACD,OAAO,EAAG;QACR,GAAG,EAAI;YACL,OAAO,EAAc,SAAS;YAC9B,IAAI,EAAiB,wBAAwB;YAC7C,IAAI,EAAiB,KAAK;YAC1B,QAAQ,EAAa,WAAW;YAChC,QAAQ,EAAa,WAAW;YAChC,kBAAkB,EAAG,IAAI;YACzB,OAAO,EAAc,QAAQ;SAC9B;QACD,IAAI,EAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE;KACzC;CACO,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,kEAAkE,CAAC;AACxG,MAAM,CAAC,MAAM,aAAa,GAAG,kEAAkE,CAAC;AAChG,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,OAAO,EAAG;QACR,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE;KAC7C;IACD,QAAQ,EAAG;QACT,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,mCAAmC,EAAE;KACrD;IACD,QAAQ,EAAG;QACT,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE;KACtD;IACD,MAAM,EAAI;QACR,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,kCAAkC,EAAE;KACpD;IACD,SAAS,EAAG;QACV,GAAG,EAAI,SAAS;QAChB,IAAI,EAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE;KAC7C;IACD,OAAO,EAAG;QACR,GAAG,EAAI;YACL,OAAO,EAAc,SAAS;YAC9B,IAAI,EAAiB,wBAAwB;YAC7C,IAAI,EAAiB,KAAK;YAC1B,QAAQ,EAAa,WAAW;YAChC,QAAQ,EAAa,WAAW;YAChC,kBAAkB,EAAG,IAAI;YACzB,OAAO,EAAc,QAAQ;SAC9B;QACD,IAAI,EAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE;KACzC;CACO,CAAC"}
@@ -2,10 +2,12 @@
2
2
  * Custom Error class for handling Bitcoin RPC errors.
3
3
  */
4
4
  export class BitcoinRpcError extends Error {
5
+ type;
5
6
  code;
6
7
  data;
7
- constructor(code, message, data) {
8
+ constructor(type, code, message, data) {
8
9
  super(message);
10
+ this.type = type;
9
11
  this.code = code;
10
12
  this.data = data;
11
13
  this.name = 'BitcoinRpcError';
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,IAAI,CAAkB;IACtB,IAAI,CAAO;IAC3B,YAAY,IAAqB,EAAE,OAAe,EAAE,IAAU;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzB,IAAI,CAAO;IAC3B,YAAY,OAAe,EAAE,IAAU;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,IAAI,CAAS;IACb,IAAI,CAAS;IACb,IAAI,CAAO;IAC3B,YAAY,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,IAAU;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzB,IAAI,CAAO;IAC3B,YAAY,OAAe,EAAE,IAAU;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
package/dist/cjs/index.js CHANGED
@@ -10,6 +10,5 @@ export * from './client/utils.js';
10
10
  export * from './constants.js';
11
11
  export * from './errors.js';
12
12
  export * from './network.js';
13
- export * from './taproot.js';
14
13
  export * from './types.js';
15
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/dist/cjs/types.js CHANGED
@@ -40,9 +40,6 @@ export class BitcoinRpcClientConfig {
40
40
  this.wallet = options.wallet;
41
41
  this.allowDefaultWallet = options.allowDefaultWallet;
42
42
  }
43
- static initialize(options) {
44
- return new BitcoinRpcClientConfig(options);
45
- }
46
43
  }
47
44
  ;
48
45
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAkBC,CAAC;AAoDF,MAAM,OAAO,gBAAgB;IAC3B,IAAI,CAAS;IACb,OAAO,CAA6B;IACpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAA0B;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAQA,CAAC;AAiDF,MAAM,OAAO,sBAAsB;IACjC,OAAO,CAAU;IACjB,OAAO,CAA0B;IACjC,IAAI,CAAU;IACd,MAAM,CAAO;IACb,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,MAAM,CAAU;IAChB,kBAAkB,CAAW;IAE7B,YAAY,UAA2B;QACrC,OAAO,EAAc,EAAE;QACvB,IAAI,EAAiB,kBAAkB;QACvC,MAAM,EAAe,OAAO;QAC5B,QAAQ,EAAa,EAAE;QACvB,OAAO,EAAc,KAAK;QAC1B,QAAQ,EAAa,EAAE;QACvB,OAAO,EAAc,QAAQ;QAC7B,MAAM,EAAe,EAAE;QACvB,kBAAkB,EAAG,KAAK;KAC3B;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,OAAyB;QAChD,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAiZA,CAAC;AAKD,CAAC;AA2gBF;;;;GAIG;AACH,MAAM,CAAN,IAAY,cAgBX;AAhBD,WAAY,cAAc;IACtB,iEAAiE;IACjE,iDAAO,CAAA;IACP,6DAA6D;IAC7D,mDAAQ,CAAA;IACR;;;;OAIG;IACH,yDAAW,CAAA;IACX;;;OAGG;IACH,iEAAe,CAAA;AACnB,CAAC,EAhBW,cAAc,KAAd,cAAc,QAgBzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAkBC,CAAC;AAoDF,MAAM,OAAO,gBAAgB;IAC3B,IAAI,CAAS;IACb,OAAO,CAA6B;IACpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAA0B;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAQA,CAAC;AAiDF,MAAM,OAAO,sBAAsB;IACjC,OAAO,CAAU;IACjB,OAAO,CAA0B;IACjC,IAAI,CAAU;IACd,MAAM,CAAO;IACb,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,MAAM,CAAU;IAChB,kBAAkB,CAAW;IAE7B,YAAY,UAA2B;QACrC,OAAO,EAAc,EAAE;QACvB,IAAI,EAAiB,kBAAkB;QACvC,MAAM,EAAe,OAAO;QAC5B,QAAQ,EAAa,EAAE;QACvB,OAAO,EAAc,KAAK;QAC1B,QAAQ,EAAa,EAAE;QACvB,OAAO,EAAc,QAAQ;QAC7B,MAAM,EAAe,EAAE;QACvB,kBAAkB,EAAG,KAAK;KAC3B;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACvD,CAAC;CACF;AAkZA,CAAC;AAKD,CAAC;AAygBF;;;;GAIG;AACH,MAAM,CAAN,IAAY,cAgBX;AAhBD,WAAY,cAAc;IACtB,iEAAiE;IACjE,iDAAO,CAAA;IACP,6DAA6D;IAC7D,mDAAQ,CAAA;IACR;;;;OAIG;IACH,yDAAW,CAAA;IACX;;;OAGG;IACH,iEAAe,CAAA;AACnB,CAAC,EAhBW,cAAc,KAAd,cAAc,QAgBzB"}
@@ -1,4 +1,4 @@
1
- import { MethodError } from '@did-btcr2/common';
1
+ import { JSONUtils, MethodError } from '@did-btcr2/common';
2
2
  import { BitcoinRestClient } from './client/rest/index.js';
3
3
  import { BitcoinCoreRpcClient } from './client/rpc/index.js';
4
4
  import { getNetwork } from './network.js';
@@ -28,7 +28,7 @@ export class BitcoinNetworkConnection {
28
28
  throw new MethodError('No BITCOIN_NETWORK_CONFIG available: must pass `configs` to constructor or set `BITCOIN_NETWORK_CONFIG` in env', 'MISSING_BITCOIN_NETWORK_CONFIG', { BITCOIN_NETWORK_CONFIG });
29
29
  }
30
30
  // Check if BITCOIN_NETWORK_CONFIG is parsable JSON string
31
- if (!JSON.parsable(BITCOIN_NETWORK_CONFIG)) {
31
+ if (!JSONUtils.isParsable(BITCOIN_NETWORK_CONFIG)) {
32
32
  throw new MethodError('Parsing failed: malformed BITCOIN_NETWORK_CONFIG', 'MISSING_MALFORMED_BITCOIN_NETWORK_CONFIG', { BITCOIN_NETWORK_CONFIG });
33
33
  }
34
34
  // Parse the BITCOIN_NETWORK_CONFIG
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../src/bitcoin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../src/bitcoin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MethodError } from '@did-btcr2/common';
1
+ import { JSONUtils, MethodError, StringUtils } from '@did-btcr2/common';
2
2
  import { DEFAULT_BITCOIN_NETWORK_CONFIG } from '../../constants.js';
3
3
  import { BitcoinAddress } from './address.js';
4
4
  import { BitcoinBlock } from './block.js';
@@ -77,7 +77,7 @@ export class BitcoinRestClient {
77
77
  */
78
78
  async call({ path, url, method, body, headers }) {
79
79
  // Construct the URL if not provided
80
- url ??= `${this.config.host.replaceEnd('/')}${path}`;
80
+ url ??= `${StringUtils.replaceEnd(this.config.host, '/')}${path}`;
81
81
  // Set the method to GET if not provided
82
82
  method ??= 'GET';
83
83
  // Construct the request options
@@ -90,7 +90,7 @@ export class BitcoinRestClient {
90
90
  };
91
91
  // If the method is POST or PUT, add the body to the request
92
92
  if (body) {
93
- requestInit.body = JSON.is(body) ? JSON.stringify(body) : body;
93
+ requestInit.body = JSONUtils.isObject(body) ? JSON.stringify(body) : body;
94
94
  requestInit.method = 'POST';
95
95
  }
96
96
  // Make the request
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rest/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rest/index.ts"],"names":[],"mappings":"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"}