@did-btcr2/bitcoin 0.5.3 → 0.7.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.
- package/README.md +102 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/client/rest/protocol.js +2 -7
- package/dist/cjs/client/rpc/index.js +0 -1
- package/dist/cjs/client/rpc/protocol.js +1 -1
- package/dist/cjs/connection.js +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/fee-estimator.js +33 -0
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/network.js +16 -4
- package/dist/esm/client/rest/protocol.js +2 -7
- package/dist/esm/client/rest/protocol.js.map +1 -1
- package/dist/esm/client/rpc/index.js +0 -1
- package/dist/esm/client/rpc/index.js.map +1 -1
- package/dist/esm/client/rpc/protocol.js +1 -1
- package/dist/esm/connection.js +1 -1
- package/dist/esm/connection.js.map +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/fee-estimator.js +30 -0
- package/dist/esm/fee-estimator.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/network.js +16 -4
- package/dist/esm/network.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/types/client/http.d.ts +1 -1
- package/dist/types/client/rest/protocol.d.ts +2 -2
- package/dist/types/client/rest/protocol.d.ts.map +1 -1
- package/dist/types/client/rpc/index.d.ts.map +1 -1
- package/dist/types/client/rpc/protocol.d.ts +1 -1
- package/dist/types/connection.d.ts +3 -3
- package/dist/types/connection.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -1
- package/dist/types/fee-estimator.d.ts +40 -0
- package/dist/types/fee-estimator.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/network.d.ts +12 -2
- package/dist/types/network.d.ts.map +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +4 -5
- package/src/client/http.ts +1 -1
- package/src/client/rest/protocol.ts +2 -12
- package/src/client/rpc/index.ts +0 -4
- package/src/client/rpc/protocol.ts +1 -1
- package/src/connection.ts +3 -3
- package/src/constants.ts +1 -1
- package/src/fee-estimator.ts +52 -0
- package/src/index.ts +5 -0
- package/src/network.ts +25 -5
- package/src/types.ts +1 -8
|
@@ -3,8 +3,8 @@ const HEX64_RE = /^[0-9a-f]{64}$/i;
|
|
|
3
3
|
/**
|
|
4
4
|
* Sans-I/O Esplora REST API protocol.
|
|
5
5
|
*
|
|
6
|
-
* Every method returns an {@link HttpRequest} descriptor
|
|
7
|
-
* describing *what* to request
|
|
6
|
+
* Every method returns an {@link HttpRequest} descriptor (a plain object
|
|
7
|
+
* describing *what* to request) without performing any I/O. The caller
|
|
8
8
|
* is responsible for executing the request with an HTTP client of their
|
|
9
9
|
* choice and deserializing the response.
|
|
10
10
|
*
|
|
@@ -33,7 +33,6 @@ export class EsploraProtocol {
|
|
|
33
33
|
...config.headers,
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
// ── validation ─────────────────────────────────────────────────────
|
|
37
36
|
static assertHex64(value, label) {
|
|
38
37
|
if (!HEX64_RE.test(value)) {
|
|
39
38
|
throw new Error(`Invalid ${label}: expected 64-char hex string`);
|
|
@@ -44,7 +43,6 @@ export class EsploraProtocol {
|
|
|
44
43
|
throw new Error('Invalid address: contains illegal characters');
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
|
-
// ── helpers ──────────────────────────────────────────────────────────
|
|
48
46
|
get(path) {
|
|
49
47
|
return {
|
|
50
48
|
url: `${this.baseUrl}${path}`,
|
|
@@ -60,7 +58,6 @@ export class EsploraProtocol {
|
|
|
60
58
|
body,
|
|
61
59
|
};
|
|
62
60
|
}
|
|
63
|
-
// ── Transaction ──────────────────────────────────────────────────────
|
|
64
61
|
/** GET /tx/:txid */
|
|
65
62
|
getTx(txid) {
|
|
66
63
|
EsploraProtocol.assertHex64(txid, 'txid');
|
|
@@ -80,7 +77,6 @@ export class EsploraProtocol {
|
|
|
80
77
|
postTx(hex) {
|
|
81
78
|
return this.post('/tx', hex, { 'Content-Type': 'text/plain' });
|
|
82
79
|
}
|
|
83
|
-
// ── Block ────────────────────────────────────────────────────────────
|
|
84
80
|
/** GET /blocks/tip/height */
|
|
85
81
|
getBlockTipHeight() {
|
|
86
82
|
return this.get('/blocks/tip/height');
|
|
@@ -94,7 +90,6 @@ export class EsploraProtocol {
|
|
|
94
90
|
getBlockHeight(height) {
|
|
95
91
|
return this.get(`/block-height/${height}`);
|
|
96
92
|
}
|
|
97
|
-
// ── Address ──────────────────────────────────────────────────────────
|
|
98
93
|
/** GET /address/:address/txs */
|
|
99
94
|
getAddressTxs(address) {
|
|
100
95
|
EsploraProtocol.assertAddress(address);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../src/client/rest/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,eAAe;IACT,OAAO,CAAS;IAChB,cAAc,CAAyB;IAExD,YAAY,MAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG;YACpB,cAAc,EAAG,kBAAkB;YACnC,GAAG,MAAM,CAAC,OAAO;SAClB,CAAC;IACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../src/client/rest/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,eAAe;IACT,OAAO,CAAS;IAChB,cAAc,CAAyB;IAExD,YAAY,MAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG;YACpB,cAAc,EAAG,kBAAkB;YACnC,GAAG,MAAM,CAAC,OAAO;SAClB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,KAAa;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,+BAA+B,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAa;QACxC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,GAAG,CAAC,IAAY;QACtB,OAAO;YACL,GAAG,EAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE;YAClC,MAAM,EAAI,KAAK;YACf,OAAO,EAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;SACrC,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,IAAY,EAAE,IAAY,EAAE,OAAgC;QACvE,OAAO;YACL,GAAG,EAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE;YAClC,MAAM,EAAI,MAAM;YAChB,OAAO,EAAG,OAAO,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;YAC/C,IAAI;SACL,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAY;QAChB,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,QAAQ,CAAC,IAAY;QACnB,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB;IACxB,QAAQ,CAAC,IAAY;QACnB,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,eAAe;IACf,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,6BAA6B;IAC7B,iBAAiB;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,4BAA4B;IAC5B,QAAQ,CAAC,SAAiB;QACxB,eAAe,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gCAAgC;IAChC,cAAc,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,gCAAgC;IAChC,aAAa,CAAC,OAAe;QAC3B,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,wCAAwC;IACxC,oBAAoB,CAAC,OAAe;QAClC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,wDAAwD;IACxD,kBAAkB,CAAC,OAAe,EAAE,YAAqB;QACvD,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,YAAY;YAAE,eAAe,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,YAAY;YACvB,CAAC,CAAC,YAAY,OAAO,cAAc,YAAY,EAAE;YACjD,CAAC,CAAC,YAAY,OAAO,YAAY,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,4BAA4B;IAC5B,cAAc,CAAC,OAAe;QAC5B,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,iCAAiC;IACjC,eAAe,CAAC,OAAe;QAC7B,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { JSONUtils } from '@did-btcr2/common';
|
|
2
2
|
import { BitcoinRpcError } from '../../errors.js';
|
|
3
3
|
import { JsonRpcTransport } from './json-rpc.js';
|
|
4
|
-
// ── Client ──────────────────────────────────────────────────────────
|
|
5
4
|
/**
|
|
6
5
|
* Bitcoin Core RPC client.
|
|
7
6
|
* @implements {BitcoinRpcClient}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0BlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0BlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA+BjD;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACtB,UAAU,CAAmB;IAC7B,OAAO,CAAY;IAE5B,YAAY,MAAiB,EAAE,QAAuB;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CACtB,MAAS,EACT,aAAwC,EAA0C;QAElF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAuB,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClF,OAAO,UAAuC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,GAAG,YAAY,eAAe;gBAAE,MAAM,GAAG,CAAC;YAC9C,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,IAAI,eAAe,CACvB,eAAe,EACf,GAAG,EACH,sBAAsB,MAAM,KAAK,KAAK,EAAE,EACxC,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAkB;QACpE,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,GAAG,EAAE,8BAA8B,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACpH,CAAC;QAED,SAAS,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,MAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7E,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAE,OAAO,KAAgB,CAAC;YACjC,KAAK,CAAC,CAAC,CAAE,OAAO,KAAgB,CAAC;YACjC,KAAK,CAAC,CAAC,CAAE,OAAO,KAAgB,CAAC;YACjC,KAAK,CAAC,CAAC,CAAE,OAAO,KAAgB,CAAC;YACjC,OAAO,CAAC,CAAC,OAAO,KAAgB,CAAC;QACnC,CAAC;IACH,CAAC;IAED,sEAAsE;IAC/D,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IAED,8DAA8D;IACvD,KAAK,CAAC,YAAY,CAAC,MAAc;QACtC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,6CAA6C;IACtC,KAAK,CAAC,iBAAiB;QAC5B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED,iEAAiE;IAC1D,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QAC/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,oFAAoF;IAC7E,KAAK,CAAC,kBAAkB,CAC7B,SAAiB,EACjB,UAA4B,EAC5B,aAA+B;QAE/B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,yCAAyC;IAClC,KAAK,CAAC,yBAAyB,CAAC,SAAiB;QACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,GAAG,EACH,gCAAgC,EAChC,WAAW,CAAC,MAAM,CACnB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,mDAAmD;IAC5C,KAAK,CAAC,4BAA4B,CAAC,MAA2B,EAAE,OAA6B;QAClG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,GAAG,EACH,gCAAgC,EAChC,WAAW,CAAC,MAAM,CACnB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,sDAAsD;IAC/C,KAAK,CAAC,gBAAgB,CAAC,MAA8B;QAC1D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;YAC/C,MAAM,CAAC,OAAO,IAAI,GAAG;YACrB,MAAM,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,IAAI,IAAI,CAAC;YAChB,MAAM,CAAC,iBAAiB,IAAI,KAAK;SAClC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IACxE,KAAK,CAAC,oBAAoB,CAAC,MAA2B,EAAE,OAA6B,EAAE,QAAiB,EAAE,UAAoB;QACnI,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,2EAA2E;IACpE,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,KAAqB;QACpE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,4FAA4F;IACrF,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,OAAe;QAC7D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,2CAA2C;IACpC,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,4DAA4D;IACrD,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,KAAc;QAC5D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,oDAAoD;IAC7C,KAAK,CAAC,WAAW,CAAC,MAKxB;QACC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YAC1C,MAAM,CAAC,OAAO,IAAI,CAAC;YACnB,MAAM,CAAC,OAAO,IAAI,OAAO;YACzB,MAAM,CAAC,OAAO,IAAI,EAAE;YACpB,MAAM,CAAC,cAAc,IAAI,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IAClC,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,MAAc;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAqB,CAAC;IAChE,CAAC;IAED,yDAAyD;IAClD,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,OAAe;QACvD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,+BAA+B;IACxB,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,SAAiB,EAAE,OAAe;QAC5E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,4DAA4D;IACrD,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,iBAA2B;QACnE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,oDAAoD;IAC7C,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,SAA0B,EAAE,SAAkB;QACzF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACrG,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAE,OAAO,cAAkC,CAAC;YACnD,KAAK,CAAC,CAAC,CAAE,OAAO,cAAkC,CAAC;YACnD,KAAK,CAAC,CAAC,CAAE,OAAO,cAAkC,CAAC;YACnD,OAAO,CAAC,CAAC,OAAO,cAAkC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,oFAAoF;IAC7E,KAAK,CAAC,kBAAkB,CAAC,KAAe,EAAE,SAA0B;QACzE,MAAM,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CACzC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAc,EAAE,CAAC,CAAC,CACrF,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACvB,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClF,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,CAAC,CAAC,CAAE,OAAO,UAA8B,CAAC;gBAC/C,KAAK,CAAC,CAAC,CAAE,OAAO,UAA8B,CAAC;gBAC/C,KAAK,CAAC,CAAC,CAAE,OAAO,UAA8B,CAAC;gBAC/C,OAAO,CAAC,CAAC,OAAO,UAA8B,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -4,7 +4,7 @@ import { toBase64 } from '../utils.js';
|
|
|
4
4
|
* Sans-I/O JSON-RPC protocol for Bitcoin Core.
|
|
5
5
|
*
|
|
6
6
|
* Builds {@link HttpRequest} descriptors for JSON-RPC method calls and
|
|
7
|
-
* provides response parsing
|
|
7
|
+
* provides response parsing, without performing any I/O.
|
|
8
8
|
*
|
|
9
9
|
* **Security note:** Built requests include an `Authorization` header when
|
|
10
10
|
* credentials are configured. Do not log or persist {@link HttpRequest}
|
package/dist/esm/connection.js
CHANGED
|
@@ -39,7 +39,7 @@ export class BitcoinConnection {
|
|
|
39
39
|
rest;
|
|
40
40
|
/** RPC client (Bitcoin Core). May be undefined if not configured. */
|
|
41
41
|
rpc;
|
|
42
|
-
/**
|
|
42
|
+
/** Bitcoin network params (for address derivation, PSBT signing, etc.). */
|
|
43
43
|
data;
|
|
44
44
|
constructor(options) {
|
|
45
45
|
this.name = options.network;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAahE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,iBAAiB;IAC5B,2CAA2C;IAClC,IAAI,CAAc;IAE3B,iCAAiC;IACxB,IAAI,CAAoB;IAEjC,qEAAqE;IAC5D,GAAG,CAAwB;IAEpC,2EAA2E;IAClE,IAAI,CAAa;IAE1B,YAAY,OAAiC;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,GAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9F,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,CACf,OAAoB,EACpB,SAAoF;QAEpF,MAAM,QAAQ,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,WAAW,CACnB,oBAAoB,OAAO,uEAAuE,EAClG,iBAAiB,EACjB,EAAE,OAAO,EAAE,CACZ,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAe,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;QAErE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,KAAK,SAAS,IAAI,SAAS,EAAE,GAAG,KAAK,SAAS,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,EAAe;YACrD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO,IAAI,iBAAiB,CAAC;YAC3B,OAAO;YACP,IAAI,EAAO,OAAO;YAClB,GAAG,EAAQ,MAAM;YACjB,QAAQ,EAAG,SAAS,EAAE,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAW;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,iDAAiD;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,IAAI,UAAU,CAAC,aAAa,GAAG,wCAAwC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC;CACF"}
|
package/dist/esm/constants.js
CHANGED
|
@@ -7,7 +7,7 @@ export const GENESIS_TX_ID = '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2
|
|
|
7
7
|
/**
|
|
8
8
|
* Default endpoint configuration per Bitcoin network.
|
|
9
9
|
*
|
|
10
|
-
* **Regtest RPC:** Credentials are intentionally omitted
|
|
10
|
+
* **Regtest RPC:** Credentials are intentionally omitted - callers must
|
|
11
11
|
* provide `username` and `password` via overrides or explicit config.
|
|
12
12
|
* This prevents accidentally using hardcoded credentials in non-local
|
|
13
13
|
* environments.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fee estimator that returns a fixed fee rate regardless of network conditions.
|
|
3
|
+
*
|
|
4
|
+
* Suitable for:
|
|
5
|
+
* - Tests (deterministic outputs)
|
|
6
|
+
* - Regtest (no real fee market)
|
|
7
|
+
* - Environments where a fee rate is supplied out-of-band
|
|
8
|
+
*
|
|
9
|
+
* For mainnet production use, prefer a dynamic estimator that queries current
|
|
10
|
+
* network conditions (mempool APIs, Bitcoin Core RPC).
|
|
11
|
+
*/
|
|
12
|
+
export class StaticFeeEstimator {
|
|
13
|
+
satsPerVbyte;
|
|
14
|
+
/**
|
|
15
|
+
* @param satsPerVbyte Fee rate in satoshis per virtual byte. Default: 5 sat/vB.
|
|
16
|
+
*/
|
|
17
|
+
constructor(satsPerVbyte = 5) {
|
|
18
|
+
if (satsPerVbyte < 0 || !Number.isFinite(satsPerVbyte)) {
|
|
19
|
+
throw new Error(`Invalid satsPerVbyte: ${satsPerVbyte}`);
|
|
20
|
+
}
|
|
21
|
+
this.satsPerVbyte = satsPerVbyte;
|
|
22
|
+
}
|
|
23
|
+
async estimateFee(vsize) {
|
|
24
|
+
if (vsize < 0 || !Number.isFinite(vsize)) {
|
|
25
|
+
throw new Error(`Invalid vsize: ${vsize}`);
|
|
26
|
+
}
|
|
27
|
+
return BigInt(Math.ceil(vsize * this.satsPerVbyte));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=fee-estimator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee-estimator.js","sourceRoot":"","sources":["../../src/fee-estimator.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IACpB,YAAY,CAAS;IAE9B;;OAEG;IACH,YAAY,eAAuB,CAAC;QAClC,IAAG,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,IAAG,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,CAAC;CACF"}
|
package/dist/esm/index.js
CHANGED
|
@@ -13,6 +13,8 @@ export { BitcoinTransaction } from './client/rest/transaction.js';
|
|
|
13
13
|
export { JsonRpcTransport } from './client/rpc/json-rpc.js';
|
|
14
14
|
// Errors
|
|
15
15
|
export { BitcoinRpcError, BitcoinRestError } from './errors.js';
|
|
16
|
+
// Fee estimation
|
|
17
|
+
export { StaticFeeEstimator } from './fee-estimator.js';
|
|
16
18
|
// Helpers
|
|
17
19
|
export { getNetwork } from './network.js';
|
|
18
20
|
export { toBase64, safeText } from './client/utils.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAiC,MAAM,iBAAiB,CAAC;AAInF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI7D,iEAAiE;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGhE,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAiC,MAAM,iBAAiB,CAAC;AAInF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI7D,iEAAiE;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGhE,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY;AACZ,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,GACd,MAAM,gBAAgB,CAAC;AA0CxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/esm/network.js
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NETWORK, TEST_NETWORK } from '@scure/btc-signer';
|
|
2
|
+
/** Regtest network params (bcrt HRP). */
|
|
3
|
+
const REGTEST_NETWORK = {
|
|
4
|
+
bech32: 'bcrt',
|
|
5
|
+
pubKeyHash: 0x6f,
|
|
6
|
+
scriptHash: 0xc4,
|
|
7
|
+
wif: 0xef,
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a named Bitcoin network to its @scure/btc-signer `BTC_NETWORK` params.
|
|
11
|
+
* Mainnet maps to `NETWORK`; testnet3/testnet4/signet/mutinynet all share `TEST_NETWORK`
|
|
12
|
+
* (identical address formats); regtest uses its own `bcrt` HRP.
|
|
13
|
+
*/
|
|
2
14
|
export function getNetwork(network) {
|
|
3
15
|
switch (network) {
|
|
4
16
|
case 'bitcoin':
|
|
5
|
-
return
|
|
17
|
+
return NETWORK;
|
|
6
18
|
case 'testnet3':
|
|
7
19
|
case 'testnet4':
|
|
8
20
|
case 'signet':
|
|
9
21
|
case 'mutinynet':
|
|
10
|
-
return
|
|
22
|
+
return TEST_NETWORK;
|
|
11
23
|
case 'regtest':
|
|
12
|
-
return
|
|
24
|
+
return REGTEST_NETWORK;
|
|
13
25
|
default:
|
|
14
26
|
throw new Error(`Unknown network "${network}"`);
|
|
15
27
|
}
|
package/dist/esm/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAS1D,yCAAyC;AACzC,MAAM,eAAe,GAAe;IAClC,MAAM,EAAO,MAAM;IACnB,UAAU,EAAG,IAAI;IACjB,UAAU,EAAG,IAAI;IACjB,GAAG,EAAU,IAAI;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO,eAAe,CAAC;QACzB;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,GAAG,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA2BC,CAAC;AA2ND,CAAC;AAKD,CAAC;AA4FF;;;GAGG;AACH,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB,4CAA4C;IAC5C,iDAAO,CAAA;IACP,wCAAwC;IACxC,mDAAQ,CAAA;IACR,6DAA6D;IAC7D,yDAAW,CAAA;IACX,2EAA2E;IAC3E,iEAAe,CAAA;AACjB,CAAC,EATW,cAAc,KAAd,cAAc,QASzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HTTP request descriptor. Represents a request that can be executed
|
|
3
|
-
* by any HTTP client
|
|
3
|
+
* by any HTTP client - the library never performs I/O itself at the
|
|
4
4
|
* protocol layer.
|
|
5
5
|
*/
|
|
6
6
|
export interface HttpRequest {
|
|
@@ -3,8 +3,8 @@ import type { HttpRequest } from '../http.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Sans-I/O Esplora REST API protocol.
|
|
5
5
|
*
|
|
6
|
-
* Every method returns an {@link HttpRequest} descriptor
|
|
7
|
-
* describing *what* to request
|
|
6
|
+
* Every method returns an {@link HttpRequest} descriptor (a plain object
|
|
7
|
+
* describing *what* to request) without performing any I/O. The caller
|
|
8
8
|
* is responsible for executing the request with an HTTP client of their
|
|
9
9
|
* choice and deserializing the response.
|
|
10
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../../src/client/rest/protocol.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../../src/client/rest/protocol.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,MAAM,EAAE,UAAU;IAQ9B,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B,OAAO,CAAC,MAAM,CAAC,aAAa;IAM5B,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,IAAI;IASZ,oBAAoB;IACpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAKhC,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAKnC,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAKnC,eAAe;IACf,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAIhC,6BAA6B;IAC7B,iBAAiB,IAAI,WAAW;IAIhC,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAKxC,gCAAgC;IAChC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAI3C,gCAAgC;IAChC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAK3C,wCAAwC;IACxC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAKlD,wDAAwD;IACxD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW;IASvE,4BAA4B;IAC5B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAK5C,iCAAiC;IACjC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;CAI9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/rpc/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAKb,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EAGtB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/rpc/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import type { HttpRequest } from '../http.js';
|
|
|
4
4
|
* Sans-I/O JSON-RPC protocol for Bitcoin Core.
|
|
5
5
|
*
|
|
6
6
|
* Builds {@link HttpRequest} descriptors for JSON-RPC method calls and
|
|
7
|
-
* provides response parsing
|
|
7
|
+
* provides response parsing, without performing any I/O.
|
|
8
8
|
*
|
|
9
9
|
* **Security note:** Built requests include an `Authorization` header when
|
|
10
10
|
* credentials are configured. Do not log or persist {@link HttpRequest}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { networks } from 'bitcoinjs-lib';
|
|
2
1
|
import type { HttpExecutor } from './client/http.js';
|
|
3
2
|
import { BitcoinRestClient } from './client/rest/index.js';
|
|
4
3
|
import { BitcoinCoreRpcClient } from './client/rpc/index.js';
|
|
4
|
+
import type { BTCNetwork } from './network.js';
|
|
5
5
|
import type { NetworkName, RestConfig, RpcConfig } from './types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Options for creating a BitcoinConnection.
|
|
@@ -49,8 +49,8 @@ export declare class BitcoinConnection {
|
|
|
49
49
|
readonly rest: BitcoinRestClient;
|
|
50
50
|
/** RPC client (Bitcoin Core). May be undefined if not configured. */
|
|
51
51
|
readonly rpc?: BitcoinCoreRpcClient;
|
|
52
|
-
/**
|
|
53
|
-
readonly data:
|
|
52
|
+
/** Bitcoin network params (for address derivation, PSBT signing, etc.). */
|
|
53
|
+
readonly data: BTCNetwork;
|
|
54
54
|
constructor(options: BitcoinConnectionOptions);
|
|
55
55
|
/**
|
|
56
56
|
* Create a connection for a single network with optional REST/RPC endpoint overrides.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGrE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,iBAAiB;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAEjC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC;IAEpC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;gBAEd,OAAO,EAAE,wBAAwB;IAO7C;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,CACf,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE,GACnF,iBAAiB;IA0BpB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUrC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAQvC"}
|
|
@@ -7,7 +7,7 @@ export declare const GENESIS_TX_ID = "4a5e1e4baab89f3a32518a88c31bc87f618f76673e
|
|
|
7
7
|
/**
|
|
8
8
|
* Default endpoint configuration per Bitcoin network.
|
|
9
9
|
*
|
|
10
|
-
* **Regtest RPC:** Credentials are intentionally omitted
|
|
10
|
+
* **Regtest RPC:** Credentials are intentionally omitted - callers must
|
|
11
11
|
* provide `username` and `password` via overrides or explicit config.
|
|
12
12
|
* This prevents accidentally using hardcoded credentials in non-local
|
|
13
13
|
* environments.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Estimates the fee (in satoshis) for a transaction of a given virtual size.
|
|
3
|
+
*
|
|
4
|
+
* Callers that build Bitcoin transactions (the did:btcr2 beacon broadcast paths,
|
|
5
|
+
* single-party and aggregated) delegate fee calculation to a `FeeEstimator` so they
|
|
6
|
+
* can plug in different strategies: static fee rates for tests/regtest, mempool APIs
|
|
7
|
+
* for mainnet, Bitcoin Core `estimatesmartfee` RPC for full-node setups, etc.
|
|
8
|
+
*
|
|
9
|
+
* Implementations return the **total fee in satoshis** for a transaction of the given
|
|
10
|
+
* virtual size (`vsize`). Callers pass the vsize; the estimator decides the fee rate
|
|
11
|
+
* and computes the total.
|
|
12
|
+
*/
|
|
13
|
+
export interface FeeEstimator {
|
|
14
|
+
/**
|
|
15
|
+
* Estimate the total fee in satoshis for a transaction of the given vsize.
|
|
16
|
+
* @param vsize Transaction virtual size in vbytes.
|
|
17
|
+
* @returns Total fee in satoshis.
|
|
18
|
+
*/
|
|
19
|
+
estimateFee(vsize: number): Promise<bigint>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Fee estimator that returns a fixed fee rate regardless of network conditions.
|
|
23
|
+
*
|
|
24
|
+
* Suitable for:
|
|
25
|
+
* - Tests (deterministic outputs)
|
|
26
|
+
* - Regtest (no real fee market)
|
|
27
|
+
* - Environments where a fee rate is supplied out-of-band
|
|
28
|
+
*
|
|
29
|
+
* For mainnet production use, prefer a dynamic estimator that queries current
|
|
30
|
+
* network conditions (mempool APIs, Bitcoin Core RPC).
|
|
31
|
+
*/
|
|
32
|
+
export declare class StaticFeeEstimator implements FeeEstimator {
|
|
33
|
+
readonly satsPerVbyte: number;
|
|
34
|
+
/**
|
|
35
|
+
* @param satsPerVbyte Fee rate in satoshis per virtual byte. Default: 5 sat/vB.
|
|
36
|
+
*/
|
|
37
|
+
constructor(satsPerVbyte?: number);
|
|
38
|
+
estimateFee(vsize: number): Promise<bigint>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=fee-estimator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee-estimator.d.ts","sourceRoot":"","sources":["../../src/fee-estimator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;OAEG;gBACS,YAAY,GAAE,MAAU;IAO9B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAMlD"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -13,7 +13,10 @@ export { BitcoinTransaction } from './client/rest/transaction.js';
|
|
|
13
13
|
export { JsonRpcTransport } from './client/rpc/json-rpc.js';
|
|
14
14
|
export { BitcoinRpcError, BitcoinRestError } from './errors.js';
|
|
15
15
|
export type { RpcErrorType } from './errors.js';
|
|
16
|
+
export { StaticFeeEstimator } from './fee-estimator.js';
|
|
17
|
+
export type { FeeEstimator } from './fee-estimator.js';
|
|
16
18
|
export { getNetwork } from './network.js';
|
|
19
|
+
export type { BTCNetwork } from './network.js';
|
|
17
20
|
export { toBase64, safeText } from './client/utils.js';
|
|
18
21
|
export { DEFAULT_BITCOIN_NETWORK_CONFIG, INITIAL_BLOCK_REWARD, HALVING_INTERVAL, COINBASE_MATURITY_DELAY, DEFAULT_BLOCK_CONFIRMATIONS, TXIN_WITNESS_COINBASE, GENESIS_TX_ID, } from './constants.js';
|
|
19
22
|
export type { NetworkName, RestConfig, EsploraBlock, TransactionStatus, Vin, Vout, ChainStats, MempoolStats, AddressInfo, RawTransactionRest, AddressUtxo, RpcConfig, ChainInfo, GetBlockParams, BlockResponse, BlockV0, BlockV1, BlockV2, BlockV3, RawTransactionResponse, RawTransactionV0, RawTransactionV1, RawTransactionV2, CreateRawTxInputs, CreateRawTxOutputs, SignedRawTx, UnspentTxInfo, WalletTransaction, DerivedAddresses, ListTransactionsParams, ListTransactionsResult, MethodNameInLowerCase, FeeEstimateMode, } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGnF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAEV,WAAW,EAEX,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,GAAG,EACH,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,WAAW,EAEX,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,EACb,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGnF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAEV,WAAW,EAEX,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,GAAG,EACH,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,WAAW,EAEX,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,EACb,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/types/network.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { BTC_NETWORK } from '@scure/btc-signer/utils';
|
|
2
|
+
/**
|
|
3
|
+
* Bitcoin network parameters: bech32 HRP, address version bytes, WIF prefix.
|
|
4
|
+
* Mirrors @scure/btc-signer's `BTC_NETWORK` type.
|
|
5
|
+
*/
|
|
6
|
+
export type BTCNetwork = BTC_NETWORK;
|
|
7
|
+
/**
|
|
8
|
+
* Resolve a named Bitcoin network to its @scure/btc-signer `BTC_NETWORK` params.
|
|
9
|
+
* Mainnet maps to `NETWORK`; testnet3/testnet4/signet/mutinynet all share `TEST_NETWORK`
|
|
10
|
+
* (identical address formats); regtest uses its own `bcrt` HRP.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getNetwork(network: string): BTCNetwork;
|
|
3
13
|
//# sourceMappingURL=network.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AAUrC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CActD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,uDAAuD;AACvD,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@did-btcr2/bitcoin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Bitcoin Core RPC and Rest Client Implementations in JS/TS. Used by @did-btcr2/method.",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -59,12 +59,11 @@
|
|
|
59
59
|
"@noble/curves": "^1.9.7",
|
|
60
60
|
"@noble/hashes": "^2.0.1",
|
|
61
61
|
"@noble/secp256k1": "^2.3.0",
|
|
62
|
-
"
|
|
63
|
-
"@did-btcr2/keypair": "^0.
|
|
64
|
-
"@did-btcr2/common": "^9.
|
|
62
|
+
"@scure/btc-signer": "^1.8.1",
|
|
63
|
+
"@did-btcr2/keypair": "^0.13.1",
|
|
64
|
+
"@did-btcr2/common": "^9.1.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"tiny-secp256k1": "^2.2.3",
|
|
68
67
|
"@eslint/js": "^9.22.0",
|
|
69
68
|
"@types/chai": "^5.0.1",
|
|
70
69
|
"@types/chai-as-promised": "^8.0.1",
|
package/src/client/http.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HTTP request descriptor. Represents a request that can be executed
|
|
3
|
-
* by any HTTP client
|
|
3
|
+
* by any HTTP client - the library never performs I/O itself at the
|
|
4
4
|
* protocol layer.
|
|
5
5
|
*/
|
|
6
6
|
export interface HttpRequest {
|
|
@@ -7,8 +7,8 @@ const HEX64_RE = /^[0-9a-f]{64}$/i;
|
|
|
7
7
|
/**
|
|
8
8
|
* Sans-I/O Esplora REST API protocol.
|
|
9
9
|
*
|
|
10
|
-
* Every method returns an {@link HttpRequest} descriptor
|
|
11
|
-
* describing *what* to request
|
|
10
|
+
* Every method returns an {@link HttpRequest} descriptor (a plain object
|
|
11
|
+
* describing *what* to request) without performing any I/O. The caller
|
|
12
12
|
* is responsible for executing the request with an HTTP client of their
|
|
13
13
|
* choice and deserializing the response.
|
|
14
14
|
*
|
|
@@ -39,8 +39,6 @@ export class EsploraProtocol {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
// ── validation ─────────────────────────────────────────────────────
|
|
43
|
-
|
|
44
42
|
private static assertHex64(value: string, label: string): void {
|
|
45
43
|
if (!HEX64_RE.test(value)) {
|
|
46
44
|
throw new Error(`Invalid ${label}: expected 64-char hex string`);
|
|
@@ -53,8 +51,6 @@ export class EsploraProtocol {
|
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
|
|
56
|
-
// ── helpers ──────────────────────────────────────────────────────────
|
|
57
|
-
|
|
58
54
|
private get(path: string): HttpRequest {
|
|
59
55
|
return {
|
|
60
56
|
url : `${this.baseUrl}${path}`,
|
|
@@ -72,8 +68,6 @@ export class EsploraProtocol {
|
|
|
72
68
|
};
|
|
73
69
|
}
|
|
74
70
|
|
|
75
|
-
// ── Transaction ──────────────────────────────────────────────────────
|
|
76
|
-
|
|
77
71
|
/** GET /tx/:txid */
|
|
78
72
|
getTx(txid: string): HttpRequest {
|
|
79
73
|
EsploraProtocol.assertHex64(txid, 'txid');
|
|
@@ -97,8 +91,6 @@ export class EsploraProtocol {
|
|
|
97
91
|
return this.post('/tx', hex, { 'Content-Type': 'text/plain' });
|
|
98
92
|
}
|
|
99
93
|
|
|
100
|
-
// ── Block ────────────────────────────────────────────────────────────
|
|
101
|
-
|
|
102
94
|
/** GET /blocks/tip/height */
|
|
103
95
|
getBlockTipHeight(): HttpRequest {
|
|
104
96
|
return this.get('/blocks/tip/height');
|
|
@@ -115,8 +107,6 @@ export class EsploraProtocol {
|
|
|
115
107
|
return this.get(`/block-height/${height}`);
|
|
116
108
|
}
|
|
117
109
|
|
|
118
|
-
// ── Address ──────────────────────────────────────────────────────────
|
|
119
|
-
|
|
120
110
|
/** GET /address/:address/txs */
|
|
121
111
|
getAddressTxs(address: string): HttpRequest {
|
|
122
112
|
EsploraProtocol.assertAddress(address);
|
package/src/client/rpc/index.ts
CHANGED
|
@@ -27,8 +27,6 @@ import type { HttpExecutor } from '../http.js';
|
|
|
27
27
|
import type { BitcoinRpcClient } from './interface.js';
|
|
28
28
|
import { JsonRpcTransport } from './json-rpc.js';
|
|
29
29
|
|
|
30
|
-
// ── Typed RPC method map ────────────────────────────────────────────
|
|
31
|
-
|
|
32
30
|
/**
|
|
33
31
|
* Maps Bitcoin Core JSON-RPC method names to their parameter and return types.
|
|
34
32
|
* Used by `BitcoinCoreRpcClient.executeRpc` for compile-time safety.
|
|
@@ -58,8 +56,6 @@ export interface RpcMethodMap {
|
|
|
58
56
|
/** Method names that have typed definitions in {@link RpcMethodMap}. */
|
|
59
57
|
export type TypedRpcMethod = keyof RpcMethodMap;
|
|
60
58
|
|
|
61
|
-
// ── Client ──────────────────────────────────────────────────────────
|
|
62
|
-
|
|
63
59
|
/**
|
|
64
60
|
* Bitcoin Core RPC client.
|
|
65
61
|
* @implements {BitcoinRpcClient}
|