@did-btcr2/api 0.2.2 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/browser.js +56457 -104900
  2. package/dist/browser.mjs +56442 -104885
  3. package/dist/cjs/api.js +31 -934
  4. package/dist/cjs/api.js.map +1 -1
  5. package/dist/cjs/bitcoin.js +110 -0
  6. package/dist/cjs/bitcoin.js.map +1 -0
  7. package/dist/cjs/cas.js +90 -0
  8. package/dist/cjs/cas.js.map +1 -0
  9. package/dist/cjs/crypto.js +425 -0
  10. package/dist/cjs/crypto.js.map +1 -0
  11. package/dist/cjs/did.js +70 -0
  12. package/dist/cjs/did.js.map +1 -0
  13. package/dist/cjs/helpers.js +28 -0
  14. package/dist/cjs/helpers.js.map +1 -0
  15. package/dist/cjs/index.js +12 -0
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/kms.js +73 -0
  18. package/dist/cjs/kms.js.map +1 -0
  19. package/dist/cjs/method.js +262 -0
  20. package/dist/cjs/method.js.map +1 -0
  21. package/dist/cjs/types.js +2 -0
  22. package/dist/cjs/types.js.map +1 -0
  23. package/dist/esm/api.js +31 -934
  24. package/dist/esm/api.js.map +1 -1
  25. package/dist/esm/bitcoin.js +110 -0
  26. package/dist/esm/bitcoin.js.map +1 -0
  27. package/dist/esm/cas.js +90 -0
  28. package/dist/esm/cas.js.map +1 -0
  29. package/dist/esm/crypto.js +425 -0
  30. package/dist/esm/crypto.js.map +1 -0
  31. package/dist/esm/did.js +70 -0
  32. package/dist/esm/did.js.map +1 -0
  33. package/dist/esm/helpers.js +28 -0
  34. package/dist/esm/helpers.js.map +1 -0
  35. package/dist/esm/index.js +12 -0
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/kms.js +73 -0
  38. package/dist/esm/kms.js.map +1 -0
  39. package/dist/esm/method.js +262 -0
  40. package/dist/esm/method.js.map +1 -0
  41. package/dist/esm/types.js +2 -0
  42. package/dist/esm/types.js.map +1 -0
  43. package/dist/types/api.d.ts +19 -693
  44. package/dist/types/api.d.ts.map +1 -1
  45. package/dist/types/bitcoin.d.ts +64 -0
  46. package/dist/types/bitcoin.d.ts.map +1 -0
  47. package/dist/types/cas.d.ts +70 -0
  48. package/dist/types/cas.d.ts.map +1 -0
  49. package/dist/types/crypto.d.ts +310 -0
  50. package/dist/types/crypto.d.ts.map +1 -0
  51. package/dist/types/did.d.ts +51 -0
  52. package/dist/types/did.d.ts.map +1 -0
  53. package/dist/types/helpers.d.ts +10 -0
  54. package/dist/types/helpers.d.ts.map +1 -0
  55. package/dist/types/index.d.ts +14 -0
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/kms.d.ts +49 -0
  58. package/dist/types/kms.d.ts.map +1 -0
  59. package/dist/types/method.d.ts +117 -0
  60. package/dist/types/method.d.ts.map +1 -0
  61. package/dist/types/types.d.ts +128 -0
  62. package/dist/types/types.d.ts.map +1 -0
  63. package/package.json +7 -7
  64. package/src/api.ts +40 -1317
  65. package/src/bitcoin.ts +129 -0
  66. package/src/cas.ts +121 -0
  67. package/src/crypto.ts +525 -0
  68. package/src/did.ts +75 -0
  69. package/src/helpers.ts +35 -0
  70. package/src/index.ts +37 -1
  71. package/src/kms.ts +95 -0
  72. package/src/method.ts +331 -0
  73. package/src/types.ts +122 -0
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACtB,wEAAwE;IAC/D,MAAM,CAAY;IAC3B,mEAAmE;IAC1D,GAAG,CAAS;IACrB,iCAAiC;IACxB,GAAG,CAAgB;IAE5B,UAAU,CAAoB;IAC9B,IAAI,CAAc;IAClB,UAAU,CAAa;IACvB,IAAI,CAAU;IACd,MAAM,CAAgB;IACtB,IAAI,CAAS;IACb,SAAS,GAAG,KAAK,CAAC;IAElB,YAAY,MAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,GAAG,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,GAAG,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,MAAM,IAAI,WAAW,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,kEAAkE;sBAChE,8CAA8C,CACjD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,8DAA8D;sBAC5D,oDAAoD,CACvD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAC5B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EACtC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EACtC,IAAI,CAAC,IAAI,CACV,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CACP,IAAkC,EAClC,YAAsC,EACtC,OAA0C;QAE1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,KAAK,eAAe;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAwB,EAAE,OAAO,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAA6B,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,OAAwD;QAClE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,OAA2B;QACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,OAA2B;QAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,OAAO;oBACL,EAAE,EAAS,IAAI;oBACf,QAAQ,EAAG,GAAG,CAAC,WAA+B;oBAC9C,QAAQ,EAAG,GAAG,CAAC,mBAAmB;oBAClC,GAAG;iBACJ,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,EAAE,EAAa,KAAK;gBACpB,KAAK,EAAU,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAI,SAAS;gBAC5D,YAAY,EAAG,GAAG,CAAC,qBAAqB,EAAE,YAAkC;gBAC5E,GAAG;aACJ,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,EAAE,EAAa,KAAK;gBACpB,KAAK,EAAU,eAAe;gBAC9B,YAAY,EAAG,GAAG,CAAC,OAAO;gBAC1B,GAAG,EAAY;oBACb,WAAW,EAAc,IAAI;oBAC7B,mBAAmB,EAAM,EAAE;oBAC3B,qBAAqB,EAAI,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,EAAE;iBAC7C;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CAAC,EACd,GAAG,EACH,OAAO,EACP,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,eAAe,GAQhB;QACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzB,IAAI,GAAG,GAAG,cAAc,CAAC;QACzB,IAAI,SAAS,GAAG,eAAe,CAAC;QAEhC,IAAI,CAAC,GAAG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,qBAAqB,CAAC;gBAC9C,MAAM,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrD,MAAM,KAAK,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,cAAc,MAAM,GAAG,KAAK,EAAE,EAC1D,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAC;YACJ,CAAC;YACD,GAAG,GAAG,GAAG,IAAI,UAAU,CAAC,WAA+B,CAAC;YAExD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,EAAE,SAAS,CAAC;gBAC/D,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,oDAAoD;0BAC1E,qCAAqC,CACxC,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,sCAAsC,MAAM,CAAC,YAAY,CAAC,GAAG,CACtF,CAAC;gBACJ,CAAC;gBACD,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7B,cAAc,EAAM,GAAG;YACvB,OAAO;YACP,eAAe,EAAK,SAAS;YAC7B,oBAAoB;YACpB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAkB;IAC1C,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { BitcoinConnection } from '@did-btcr2/bitcoin';
2
+ import { assertString } from './helpers.js';
3
+ /**
4
+ * Bitcoin network operations sub-facade.
5
+ * Always backed by a {@link BitcoinConnection} so it can be passed to
6
+ * resolve/update without extra configuration.
7
+ *
8
+ * Lazily initialized by {@link DidBtcr2Api} to avoid connection overhead
9
+ * when Bitcoin features are not used.
10
+ * @public
11
+ */
12
+ export class BitcoinApi {
13
+ /** The underlying BitcoinConnection used for all operations. */
14
+ connection;
15
+ /** REST client for the active network. */
16
+ get rest() {
17
+ return this.connection.rest;
18
+ }
19
+ /**
20
+ * RPC client for the active network, or `undefined` if not configured.
21
+ * Use {@link requireRpc} when RPC is expected to be available.
22
+ */
23
+ get rpc() {
24
+ return this.connection.rpc;
25
+ }
26
+ /** Whether an RPC client is available for this network. */
27
+ get hasRpc() {
28
+ return this.connection.rpc !== undefined;
29
+ }
30
+ /**
31
+ * RPC client for the active network.
32
+ * @throws {Error} If RPC was not configured for this network.
33
+ */
34
+ requireRpc() {
35
+ const client = this.connection.rpc;
36
+ if (!client) {
37
+ throw new Error('RPC client not configured. Pass an rpc config when creating the BitcoinApi, e.g.: '
38
+ + '{ network: \'regtest\', rpc: { host: \'http://localhost:18443\', username: \'u\', password: \'p\' } }');
39
+ }
40
+ return client;
41
+ }
42
+ /**
43
+ * Create a BitcoinApi for a specific network with optional endpoint overrides.
44
+ * Uses BitcoinConnection.forNetwork() — no env vars consulted.
45
+ * @param cfg The network and optional REST/RPC overrides.
46
+ */
47
+ constructor(cfg) {
48
+ let executor = cfg.executor;
49
+ // Wrap the default fetch with a timeout if configured and no custom
50
+ // executor was provided.
51
+ if (!executor && cfg.timeoutMs !== undefined) {
52
+ const ms = cfg.timeoutMs;
53
+ executor = (req) => fetch(req.url, {
54
+ method: req.method,
55
+ headers: req.headers,
56
+ body: req.body,
57
+ signal: AbortSignal.timeout(ms),
58
+ });
59
+ }
60
+ this.connection = BitcoinConnection.forNetwork(cfg.network, {
61
+ rest: cfg.rest,
62
+ rpc: cfg.rpc,
63
+ executor,
64
+ });
65
+ }
66
+ /**
67
+ * Fetch a transaction by txid via REST.
68
+ * @param txid The transaction ID (64-character hex string).
69
+ * @returns The fetched transaction.
70
+ */
71
+ async getTransaction(txid) {
72
+ assertString(txid, 'txid');
73
+ return await this.rest.transaction.get(txid);
74
+ }
75
+ /**
76
+ * Broadcast a raw tx (hex) via REST.
77
+ * @param rawTxHex The raw transaction hex string.
78
+ */
79
+ async send(rawTxHex) {
80
+ assertString(rawTxHex, 'rawTxHex');
81
+ return await this.rest.transaction.send(rawTxHex);
82
+ }
83
+ /**
84
+ * Get UTXOs for an address via REST.
85
+ * @param address The Bitcoin address.
86
+ */
87
+ async getUtxos(address) {
88
+ assertString(address, 'address');
89
+ return await this.rest.address.getUtxos(address);
90
+ }
91
+ /**
92
+ * Get a block by hash or height via REST.
93
+ * @param params Block identifier — at least one of `hash` or `height` is required.
94
+ */
95
+ async getBlock(params) {
96
+ if (!params.hash && params.height === undefined) {
97
+ throw new Error('getBlock requires at least one of hash or height.');
98
+ }
99
+ return await this.rest.block.get({ blockhash: params.hash, height: params.height });
100
+ }
101
+ /** Convert BTC to satoshis (integer-safe string-split arithmetic). */
102
+ static btcToSats(btc) {
103
+ return BitcoinConnection.btcToSats(btc);
104
+ }
105
+ /** Convert satoshis to BTC (integer-safe string-split arithmetic). */
106
+ static satsToBtc(sats) {
107
+ return BitcoinConnection.satsToBtc(sats);
108
+ }
109
+ }
110
+ //# sourceMappingURL=bitcoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../src/bitcoin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { canonicalize, decode as decodeHash } from '@did-btcr2/common';
2
+ import { CID } from 'multiformats/cid';
3
+ import * as raw from 'multiformats/codecs/raw';
4
+ import { create as createDigest } from 'multiformats/hashes/digest';
5
+ import { sha256 } from 'multiformats/hashes/sha2';
6
+ import { assertString } from './helpers.js';
7
+ /**
8
+ * Default {@link CasExecutor} backed by IPFS via Helia.
9
+ *
10
+ * Stores/retrieves data as raw blocks (`0x55` codec) with SHA-256 hashing.
11
+ * The CID is deterministically derived from the content hash, so lookups
12
+ * by base64url SHA-256 hash translate directly to CID lookups.
13
+ * @public
14
+ */
15
+ export class IpfsCasExecutor {
16
+ #helia;
17
+ constructor(helia) {
18
+ this.#helia = helia;
19
+ }
20
+ async retrieve(hash) {
21
+ const hashBytes = decodeHash(hash, 'base64url');
22
+ const cid = CID.create(1, raw.code, createDigest(sha256.code, hashBytes));
23
+ try {
24
+ return await this.#helia.blockstore.get(cid);
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ async publish(data) {
31
+ const digest = await sha256.digest(data);
32
+ const cid = CID.createV1(raw.code, digest);
33
+ await this.#helia.blockstore.put(cid, data);
34
+ // Return base64url-encoded hash (no padding)
35
+ return btoa(String.fromCharCode(...digest.bytes.slice(2)))
36
+ .replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
37
+ }
38
+ }
39
+ /**
40
+ * Content-Addressed Storage API sub-facade.
41
+ *
42
+ * Provides `publish` and `retrieve` for JSON objects using their
43
+ * JCS-canonicalized SHA-256 hash as the content address.
44
+ *
45
+ * By default uses IPFS (via Helia). Inject a custom {@link CasExecutor}
46
+ * to use a different CAS backend.
47
+ *
48
+ * Lazily initialized by {@link DidBtcr2Api} to avoid startup overhead
49
+ * when CAS features are not used.
50
+ * @public
51
+ */
52
+ export class CasApi {
53
+ #executor;
54
+ constructor(config) {
55
+ if (config.executor) {
56
+ this.#executor = config.executor;
57
+ }
58
+ else if (config.helia) {
59
+ this.#executor = new IpfsCasExecutor(config.helia);
60
+ }
61
+ else {
62
+ throw new Error('CAS configuration requires either an executor or a Helia instance. '
63
+ + 'Example: createApi({ cas: { helia: await createHelia() } })');
64
+ }
65
+ }
66
+ /**
67
+ * Retrieve a JSON object from the CAS by its base64url SHA-256 hash.
68
+ * @param hash Base64url-encoded SHA-256 hash of the JCS-canonicalized object.
69
+ * @returns The parsed JSON object, or `null` if not found.
70
+ */
71
+ async retrieve(hash) {
72
+ assertString(hash, 'hash');
73
+ const bytes = await this.#executor.retrieve(hash);
74
+ if (!bytes)
75
+ return null;
76
+ return JSON.parse(new TextDecoder().decode(bytes));
77
+ }
78
+ /**
79
+ * Publish a JSON object to the CAS.
80
+ * The object is JCS-canonicalized before storage; the returned hash
81
+ * matches what {@link canonicalHash} would produce.
82
+ * @param object The JSON object to publish.
83
+ * @returns The base64url-encoded SHA-256 hash (content address).
84
+ */
85
+ async publish(object) {
86
+ const bytes = new TextEncoder().encode(canonicalize(object));
87
+ return await this.#executor.publish(bytes);
88
+ }
89
+ }
90
+ //# sourceMappingURL=cas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cas.js","sourceRoot":"","sources":["../../src/cas.ts"],"names":[],"mappings":"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"}