@1sat/client 0.0.2 → 0.0.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 (69) hide show
  1. package/dist/errors.d.ts +8 -0
  2. package/dist/errors.d.ts.map +1 -0
  3. package/dist/errors.js +12 -0
  4. package/dist/errors.js.map +1 -0
  5. package/dist/index.d.ts +3 -12
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -16
  8. package/dist/index.js.map +1 -1
  9. package/dist/services/ArcadeClient.d.ts +46 -0
  10. package/dist/services/ArcadeClient.d.ts.map +1 -0
  11. package/dist/services/ArcadeClient.js +108 -0
  12. package/dist/services/ArcadeClient.js.map +1 -0
  13. package/dist/services/BaseClient.d.ts +33 -0
  14. package/dist/services/BaseClient.d.ts.map +1 -0
  15. package/dist/services/BaseClient.js +126 -0
  16. package/dist/services/BaseClient.js.map +1 -0
  17. package/dist/services/BeefClient.d.ts +27 -0
  18. package/dist/services/BeefClient.d.ts.map +1 -0
  19. package/dist/services/BeefClient.js +34 -0
  20. package/dist/services/BeefClient.js.map +1 -0
  21. package/dist/services/Bsv21Client.d.ts +110 -0
  22. package/dist/services/Bsv21Client.d.ts.map +1 -0
  23. package/dist/services/Bsv21Client.js +155 -0
  24. package/dist/services/Bsv21Client.js.map +1 -0
  25. package/dist/services/ChaintracksClient.d.ts +105 -0
  26. package/dist/services/ChaintracksClient.d.ts.map +1 -0
  27. package/dist/services/ChaintracksClient.js +227 -0
  28. package/dist/services/ChaintracksClient.js.map +1 -0
  29. package/dist/services/OneSatServices.d.ts +81 -0
  30. package/dist/services/OneSatServices.d.ts.map +1 -0
  31. package/dist/services/OneSatServices.js +401 -0
  32. package/dist/services/OneSatServices.js.map +1 -0
  33. package/dist/services/OrdfsClient.d.ts +48 -0
  34. package/dist/services/OrdfsClient.d.ts.map +1 -0
  35. package/dist/services/OrdfsClient.js +124 -0
  36. package/dist/services/OrdfsClient.js.map +1 -0
  37. package/dist/services/OverlayClient.d.ts +50 -0
  38. package/dist/services/OverlayClient.d.ts.map +1 -0
  39. package/dist/services/OverlayClient.js +48 -0
  40. package/dist/services/OverlayClient.js.map +1 -0
  41. package/dist/services/OwnerClient.d.ts +84 -0
  42. package/dist/services/OwnerClient.d.ts.map +1 -0
  43. package/dist/services/OwnerClient.js +241 -0
  44. package/dist/services/OwnerClient.js.map +1 -0
  45. package/dist/services/TxoClient.d.ts +42 -0
  46. package/dist/services/TxoClient.d.ts.map +1 -0
  47. package/dist/services/TxoClient.js +95 -0
  48. package/dist/services/TxoClient.js.map +1 -0
  49. package/dist/services/index.d.ts +11 -0
  50. package/dist/services/index.d.ts.map +1 -0
  51. package/dist/services/index.js +11 -0
  52. package/dist/services/index.js.map +1 -0
  53. package/package.json +5 -6
  54. package/dist/broadcast/index.d.ts +0 -41
  55. package/dist/broadcast/index.d.ts.map +0 -1
  56. package/dist/broadcast/index.js +0 -78
  57. package/dist/broadcast/index.js.map +0 -1
  58. package/dist/http/index.d.ts +0 -32
  59. package/dist/http/index.d.ts.map +0 -1
  60. package/dist/http/index.js +0 -63
  61. package/dist/http/index.js.map +0 -1
  62. package/dist/indexer/index.d.ts +0 -65
  63. package/dist/indexer/index.d.ts.map +0 -1
  64. package/dist/indexer/index.js +0 -202
  65. package/dist/indexer/index.js.map +0 -1
  66. package/dist/input.d.ts +0 -30
  67. package/dist/input.d.ts.map +0 -1
  68. package/dist/input.js +0 -46
  69. package/dist/input.js.map +0 -1
@@ -0,0 +1,48 @@
1
+ import { BaseClient } from './BaseClient';
2
+ /**
3
+ * Client for overlay service routes.
4
+ * Handles topic manager queries and overlay lookups.
5
+ */
6
+ export class OverlayClient extends BaseClient {
7
+ constructor(baseUrl, options = {}) {
8
+ super(baseUrl, options);
9
+ }
10
+ /**
11
+ * List all registered topic managers.
12
+ */
13
+ async listTopicManagers() {
14
+ return this.request('/1sat/overlay/listTopicManagers');
15
+ }
16
+ /**
17
+ * List all registered lookup service providers.
18
+ */
19
+ async listLookupServiceProviders() {
20
+ return this.request('/1sat/overlay/listLookupServiceProviders');
21
+ }
22
+ /**
23
+ * Submit a transaction to the overlay service for indexing.
24
+ * @param beef - BEEF data as Uint8Array or number[]
25
+ * @param topics - Topic names to submit to (e.g., ["tm_tokenId"])
26
+ */
27
+ async submit(beef, topics) {
28
+ const beefArray = beef instanceof Uint8Array ? Array.from(beef) : beef;
29
+ return this.request('/1sat/overlay/submit', {
30
+ method: 'POST',
31
+ headers: {
32
+ 'Content-Type': 'application/octet-stream',
33
+ 'X-Topics': JSON.stringify(topics),
34
+ },
35
+ body: new Blob([new Uint8Array(beefArray)]),
36
+ });
37
+ }
38
+ /**
39
+ * Submit a BSV-21 token transaction to the overlay.
40
+ * Convenience method that formats the topic correctly.
41
+ * @param beef - BEEF data
42
+ * @param tokenId - Token ID (txid_vout format)
43
+ */
44
+ async submitBsv21(beef, tokenId) {
45
+ return this.submit(beef, [`tm_${tokenId}`]);
46
+ }
47
+ }
48
+ //# sourceMappingURL=OverlayClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayClient.js","sourceRoot":"","sources":["../../src/services/OverlayClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAezC;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC5C,YAAY,OAAe,EAAE,UAAyB,EAAE;QACvD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,OAAO,CAClB,iCAAiC,CACjC,CAAA;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B;QAG/B,OAAO,IAAI,CAAC,OAAO,CAClB,0CAA0C,CAC1C,CAAA;IACF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACX,IAA2B,EAC3B,MAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAEtE,OAAO,IAAI,CAAC,OAAO,CAClB,sBAAsB,EACtB;YACC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,cAAc,EAAE,0BAA0B;gBAC1C,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAClC;YACD,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3C,CACD,CAAA;IACF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAChB,IAA2B,EAC3B,OAAe;QAEf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC;CACD"}
@@ -0,0 +1,84 @@
1
+ import type { BalanceResponse, ClientOptions, IndexedOutput, SyncOutput, SyncProgress, TxoQueryOptions } from '@1sat/types';
2
+ import { BaseClient } from './BaseClient';
3
+ /**
4
+ * Event types emitted by the OwnerTxos SSE stream.
5
+ */
6
+ export type TxoStreamEvent = {
7
+ type: 'sync';
8
+ data: SyncProgress;
9
+ } | {
10
+ type: 'txo';
11
+ data: IndexedOutput;
12
+ } | {
13
+ type: 'done';
14
+ } | {
15
+ type: 'error';
16
+ error: Error;
17
+ };
18
+ /**
19
+ * Client for /1sat/owner/* routes.
20
+ * Provides owner (address) queries and sync.
21
+ *
22
+ * Routes:
23
+ * - GET /:owner/txos - SSE stream: sync progress then TXO results
24
+ * - GET /:owner/balance - Get balance
25
+ * - GET /sync?owner=... - SSE stream of outputs for sync (supports multiple owners)
26
+ */
27
+ export declare class OwnerClient extends BaseClient {
28
+ constructor(baseUrl: string, options?: ClientOptions);
29
+ /**
30
+ * Stream TXOs owned by an address/owner via SSE.
31
+ *
32
+ * The stream has three phases:
33
+ * 1. Sync — progress events report blockchain sync status (when refresh=true)
34
+ * 2. Data — each matching TXO is delivered individually
35
+ * 3. Done — signals the stream is complete
36
+ *
37
+ * @param owner - Owner identifier (address, pubkey, or script hash)
38
+ * @param opts - Query options and callbacks
39
+ * @returns Unsubscribe function to close the stream
40
+ */
41
+ getTxos(owner: string, opts?: TxoQueryOptions & {
42
+ refresh?: boolean;
43
+ onSync?: (progress: SyncProgress) => void;
44
+ onTxo?: (output: IndexedOutput) => void;
45
+ onDone?: (outputs: IndexedOutput[]) => void;
46
+ onError?: (error: Error) => void;
47
+ }): () => void;
48
+ /**
49
+ * Stream TXOs as an async iterator yielding typed events.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * for await (const event of client.owner.getTxosIterator(address)) {
54
+ * if (event.type === 'sync') updateProgress(event.data)
55
+ * if (event.type === 'txo') addOutput(event.data)
56
+ * }
57
+ * ```
58
+ */
59
+ getTxosIterator(owner: string, opts?: TxoQueryOptions & {
60
+ refresh?: boolean;
61
+ }): AsyncGenerator<TxoStreamEvent, void, unknown>;
62
+ /**
63
+ * Get balance for an address/owner
64
+ */
65
+ getBalance(owner: string): Promise<BalanceResponse>;
66
+ /**
67
+ * Sync outputs for owner(s) via SSE stream.
68
+ * The server merges results from all owners in score order.
69
+ *
70
+ * @param owners - Array of addresses/owners to sync
71
+ * @param onOutput - Callback for each output
72
+ * @param from - Starting score (for pagination/resumption)
73
+ * @param onDone - Callback when sync completes (client should retry after delay)
74
+ * @param onError - Callback for errors
75
+ * @returns Unsubscribe function
76
+ */
77
+ sync(owners: string[], onOutput: (output: SyncOutput) => void, from?: number, onDone?: () => void, onError?: (error: Error) => void): () => void;
78
+ /**
79
+ * Sync outputs as an async iterator.
80
+ * Yields SyncOutput objects until the stream is done.
81
+ */
82
+ syncIterator(owners: string[], from?: number): AsyncGenerator<SyncOutput, void, unknown>;
83
+ }
84
+ //# sourceMappingURL=OwnerClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OwnerClient.d.ts","sourceRoot":"","sources":["../../src/services/OwnerClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;GAEG;AACH,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAElC;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,UAAU;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAIxD;;;;;;;;;;;OAWG;IACH,OAAO,CACN,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,eAAe,GAAG;QACxB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;QACzC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;QACvC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;QAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;KAChC,GACC,MAAM,IAAI;IAkEb;;;;;;;;;;OAUG;IACI,eAAe,CACrB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,eAAe,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5C,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC;IAoDhD;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIzD;;;;;;;;;;OAUG;IACH,IAAI,CACH,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EACtC,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,IAAI,EACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,MAAM,IAAI;IAoCb;;;OAGG;IACI,YAAY,CAClB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,CAAC,EAAE,MAAM,GACX,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC;CAgD5C"}
@@ -0,0 +1,241 @@
1
+ import { BaseClient } from './BaseClient';
2
+ /**
3
+ * Client for /1sat/owner/* routes.
4
+ * Provides owner (address) queries and sync.
5
+ *
6
+ * Routes:
7
+ * - GET /:owner/txos - SSE stream: sync progress then TXO results
8
+ * - GET /:owner/balance - Get balance
9
+ * - GET /sync?owner=... - SSE stream of outputs for sync (supports multiple owners)
10
+ */
11
+ export class OwnerClient extends BaseClient {
12
+ constructor(baseUrl, options = {}) {
13
+ super(`${baseUrl}/1sat/owner`, options);
14
+ }
15
+ /**
16
+ * Stream TXOs owned by an address/owner via SSE.
17
+ *
18
+ * The stream has three phases:
19
+ * 1. Sync — progress events report blockchain sync status (when refresh=true)
20
+ * 2. Data — each matching TXO is delivered individually
21
+ * 3. Done — signals the stream is complete
22
+ *
23
+ * @param owner - Owner identifier (address, pubkey, or script hash)
24
+ * @param opts - Query options and callbacks
25
+ * @returns Unsubscribe function to close the stream
26
+ */
27
+ getTxos(owner, opts) {
28
+ const qs = this.buildQueryString({
29
+ tags: opts?.tags,
30
+ from: opts?.from,
31
+ limit: opts?.limit,
32
+ rev: opts?.rev,
33
+ unspent: opts?.unspent,
34
+ sats: opts?.sats,
35
+ spend: opts?.spend,
36
+ events: opts?.events,
37
+ block: opts?.block,
38
+ refresh: opts?.refresh,
39
+ });
40
+ const url = `${this.baseUrl}/${owner}/txos${qs}`;
41
+ const eventSource = new EventSource(url);
42
+ const collected = [];
43
+ eventSource.addEventListener('sync', (event) => {
44
+ try {
45
+ const progress = JSON.parse(event.data);
46
+ opts?.onSync?.(progress);
47
+ }
48
+ catch (e) {
49
+ opts?.onError?.(e instanceof Error ? e : new Error(String(e)));
50
+ }
51
+ });
52
+ eventSource.addEventListener('txo', (event) => {
53
+ try {
54
+ const output = JSON.parse(event.data);
55
+ collected.push(output);
56
+ opts?.onTxo?.(output);
57
+ }
58
+ catch (e) {
59
+ opts?.onError?.(e instanceof Error ? e : new Error(String(e)));
60
+ }
61
+ });
62
+ eventSource.addEventListener('done', () => {
63
+ eventSource.close();
64
+ opts?.onDone?.(collected);
65
+ });
66
+ eventSource.addEventListener('error', (event) => {
67
+ try {
68
+ const data = event.data;
69
+ const msg = data ? String(data) : 'SSE stream error';
70
+ opts?.onError?.(new Error(msg));
71
+ }
72
+ catch {
73
+ opts?.onError?.(new Error('SSE stream error'));
74
+ }
75
+ });
76
+ eventSource.onerror = () => {
77
+ eventSource.close();
78
+ opts?.onError?.(new Error('SSE connection error'));
79
+ };
80
+ return () => {
81
+ eventSource.close();
82
+ };
83
+ }
84
+ /**
85
+ * Stream TXOs as an async iterator yielding typed events.
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * for await (const event of client.owner.getTxosIterator(address)) {
90
+ * if (event.type === 'sync') updateProgress(event.data)
91
+ * if (event.type === 'txo') addOutput(event.data)
92
+ * }
93
+ * ```
94
+ */
95
+ async *getTxosIterator(owner, opts) {
96
+ const events = [];
97
+ let done = false;
98
+ let error = null;
99
+ let resolve = null;
100
+ const unsubscribe = this.getTxos(owner, {
101
+ ...opts,
102
+ onSync: (progress) => {
103
+ events.push({ type: 'sync', data: progress });
104
+ resolve?.();
105
+ },
106
+ onTxo: (output) => {
107
+ events.push({ type: 'txo', data: output });
108
+ resolve?.();
109
+ },
110
+ onDone: () => {
111
+ done = true;
112
+ resolve?.();
113
+ },
114
+ onError: (e) => {
115
+ error = e;
116
+ resolve?.();
117
+ },
118
+ });
119
+ try {
120
+ while (!done && !error) {
121
+ if (events.length > 0) {
122
+ const event = events.shift();
123
+ if (event)
124
+ yield event;
125
+ }
126
+ else {
127
+ await new Promise((r) => {
128
+ resolve = r;
129
+ });
130
+ }
131
+ }
132
+ // Yield remaining events
133
+ while (events.length > 0) {
134
+ const event = events.shift();
135
+ if (event)
136
+ yield event;
137
+ }
138
+ if (error) {
139
+ yield { type: 'error', error };
140
+ }
141
+ }
142
+ finally {
143
+ unsubscribe();
144
+ }
145
+ }
146
+ /**
147
+ * Get balance for an address/owner
148
+ */
149
+ async getBalance(owner) {
150
+ return this.request(`/${owner}/balance`);
151
+ }
152
+ /**
153
+ * Sync outputs for owner(s) via SSE stream.
154
+ * The server merges results from all owners in score order.
155
+ *
156
+ * @param owners - Array of addresses/owners to sync
157
+ * @param onOutput - Callback for each output
158
+ * @param from - Starting score (for pagination/resumption)
159
+ * @param onDone - Callback when sync completes (client should retry after delay)
160
+ * @param onError - Callback for errors
161
+ * @returns Unsubscribe function
162
+ */
163
+ sync(owners, onOutput, from, onDone, onError) {
164
+ const params = new URLSearchParams();
165
+ for (const owner of owners) {
166
+ params.append('owner', owner);
167
+ }
168
+ if (from !== undefined) {
169
+ params.set('from', String(from));
170
+ }
171
+ const url = `${this.baseUrl}/sync?${params.toString()}`;
172
+ const eventSource = new EventSource(url);
173
+ eventSource.onmessage = (event) => {
174
+ try {
175
+ const output = JSON.parse(event.data);
176
+ onOutput(output);
177
+ }
178
+ catch (e) {
179
+ onError?.(e instanceof Error ? e : new Error(String(e)));
180
+ }
181
+ };
182
+ eventSource.addEventListener('done', () => {
183
+ eventSource.close();
184
+ onDone?.();
185
+ });
186
+ eventSource.onerror = () => {
187
+ eventSource.close();
188
+ onError?.(new Error('SSE connection error'));
189
+ };
190
+ return () => {
191
+ eventSource.close();
192
+ };
193
+ }
194
+ /**
195
+ * Sync outputs as an async iterator.
196
+ * Yields SyncOutput objects until the stream is done.
197
+ */
198
+ async *syncIterator(owners, from) {
199
+ const outputs = [];
200
+ let done = false;
201
+ let error = null;
202
+ let resolve = null;
203
+ const unsubscribe = this.sync(owners, (output) => {
204
+ outputs.push(output);
205
+ resolve?.();
206
+ }, from, () => {
207
+ done = true;
208
+ resolve?.();
209
+ }, (e) => {
210
+ error = e;
211
+ resolve?.();
212
+ });
213
+ try {
214
+ while (!done && !error) {
215
+ if (outputs.length > 0) {
216
+ const output = outputs.shift();
217
+ if (output)
218
+ yield output;
219
+ }
220
+ else {
221
+ await new Promise((r) => {
222
+ resolve = r;
223
+ });
224
+ }
225
+ }
226
+ // Yield remaining outputs
227
+ while (outputs.length > 0) {
228
+ const output = outputs.shift();
229
+ if (output)
230
+ yield output;
231
+ }
232
+ if (error) {
233
+ throw error;
234
+ }
235
+ }
236
+ finally {
237
+ unsubscribe();
238
+ }
239
+ }
240
+ }
241
+ //# sourceMappingURL=OwnerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OwnerClient.js","sourceRoot":"","sources":["../../src/services/OwnerClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { ClientOptions, IndexedOutput, TxoQueryOptions } from '@1sat/types';
2
+ import { BaseClient } from './BaseClient';
3
+ /**
4
+ * Client for /1sat/txo/* routes.
5
+ * Provides TXO (transaction output) lookup and search.
6
+ *
7
+ * Routes:
8
+ * - GET /:outpoint - Get single TXO (outpoint pattern-matched)
9
+ * - GET /:outpoint/spend - Get spend info
10
+ * - POST /outpoints - Get multiple TXOs
11
+ * - POST /spends - Get multiple spends
12
+ * - GET /tx/:txid - Get all TXOs for a transaction
13
+ * - GET /search?key=... - Search by key(s)
14
+ */
15
+ export declare class TxoClient extends BaseClient {
16
+ constructor(baseUrl: string, options?: ClientOptions);
17
+ /**
18
+ * Get a single TXO by outpoint
19
+ */
20
+ get(outpoint: string, opts?: TxoQueryOptions): Promise<IndexedOutput>;
21
+ /**
22
+ * Get multiple TXOs by outpoints
23
+ */
24
+ getBatch(outpoints: string[], opts?: TxoQueryOptions): Promise<(IndexedOutput | null)[]>;
25
+ /**
26
+ * Get spend info for an outpoint
27
+ */
28
+ getSpend(outpoint: string): Promise<string | null>;
29
+ /**
30
+ * Get spend info for multiple outpoints
31
+ */
32
+ getSpends(outpoints: string[]): Promise<(string | null)[]>;
33
+ /**
34
+ * Get all TXOs for a transaction
35
+ */
36
+ getByTxid(txid: string, opts?: TxoQueryOptions): Promise<IndexedOutput[]>;
37
+ /**
38
+ * Search TXOs by key(s)
39
+ */
40
+ search(keys: string | string[], opts?: TxoQueryOptions): Promise<IndexedOutput[]>;
41
+ }
42
+ //# sourceMappingURL=TxoClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxoClient.d.ts","sourceRoot":"","sources":["../../src/services/TxoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,aAAa,EAEb,eAAe,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,SAAQ,UAAU;gBAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAIxD;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAU3E;;OAEG;IACG,QAAQ,CACb,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE,eAAe,GACpB,OAAO,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;IAcpC;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxD;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAShE;;OAEG;IACG,SAAS,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,eAAe,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC;IAU3B;;OAEG;IACG,MAAM,CACX,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,IAAI,CAAC,EAAE,eAAe,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC;CAe3B"}
@@ -0,0 +1,95 @@
1
+ import { BaseClient } from './BaseClient';
2
+ /**
3
+ * Client for /1sat/txo/* routes.
4
+ * Provides TXO (transaction output) lookup and search.
5
+ *
6
+ * Routes:
7
+ * - GET /:outpoint - Get single TXO (outpoint pattern-matched)
8
+ * - GET /:outpoint/spend - Get spend info
9
+ * - POST /outpoints - Get multiple TXOs
10
+ * - POST /spends - Get multiple spends
11
+ * - GET /tx/:txid - Get all TXOs for a transaction
12
+ * - GET /search?key=... - Search by key(s)
13
+ */
14
+ export class TxoClient extends BaseClient {
15
+ constructor(baseUrl, options = {}) {
16
+ super(`${baseUrl}/1sat/txo`, options);
17
+ }
18
+ /**
19
+ * Get a single TXO by outpoint
20
+ */
21
+ async get(outpoint, opts) {
22
+ const qs = this.buildQueryString({
23
+ tags: opts?.tags,
24
+ sats: opts?.sats,
25
+ spend: opts?.spend,
26
+ block: opts?.block,
27
+ });
28
+ return this.request(`/${outpoint}${qs}`);
29
+ }
30
+ /**
31
+ * Get multiple TXOs by outpoints
32
+ */
33
+ async getBatch(outpoints, opts) {
34
+ const qs = this.buildQueryString({
35
+ tags: opts?.tags,
36
+ sats: opts?.sats,
37
+ spend: opts?.spend,
38
+ block: opts?.block,
39
+ });
40
+ return this.request(`/outpoints${qs}`, {
41
+ method: 'POST',
42
+ headers: { 'Content-Type': 'application/json' },
43
+ body: JSON.stringify(outpoints),
44
+ });
45
+ }
46
+ /**
47
+ * Get spend info for an outpoint
48
+ */
49
+ async getSpend(outpoint) {
50
+ const resp = await this.request(`/${outpoint}/spend`);
51
+ return resp.spendTxid;
52
+ }
53
+ /**
54
+ * Get spend info for multiple outpoints
55
+ */
56
+ async getSpends(outpoints) {
57
+ const resp = await this.request('/spends', {
58
+ method: 'POST',
59
+ headers: { 'Content-Type': 'application/json' },
60
+ body: JSON.stringify(outpoints),
61
+ });
62
+ return resp.map((r) => r.spendTxid);
63
+ }
64
+ /**
65
+ * Get all TXOs for a transaction
66
+ */
67
+ async getByTxid(txid, opts) {
68
+ const qs = this.buildQueryString({
69
+ tags: opts?.tags,
70
+ sats: opts?.sats,
71
+ spend: opts?.spend,
72
+ block: opts?.block,
73
+ });
74
+ return this.request(`/tx/${txid}${qs}`);
75
+ }
76
+ /**
77
+ * Search TXOs by key(s)
78
+ */
79
+ async search(keys, opts) {
80
+ const qs = this.buildQueryString({
81
+ key: Array.isArray(keys) ? keys : [keys],
82
+ tags: opts?.tags,
83
+ from: opts?.from,
84
+ limit: opts?.limit,
85
+ rev: opts?.rev,
86
+ unspent: opts?.unspent,
87
+ sats: opts?.sats,
88
+ spend: opts?.spend,
89
+ events: opts?.events,
90
+ block: opts?.block,
91
+ });
92
+ return this.request(`/search${qs}`);
93
+ }
94
+ }
95
+ //# sourceMappingURL=TxoClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxoClient.js","sourceRoot":"","sources":["../../src/services/TxoClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export { BaseClient } from './BaseClient';
2
+ export { ChaintracksClient } from './ChaintracksClient';
3
+ export { BeefClient } from './BeefClient';
4
+ export { ArcadeClient } from './ArcadeClient';
5
+ export { TxoClient } from './TxoClient';
6
+ export { OwnerClient, type TxoStreamEvent } from './OwnerClient';
7
+ export { OrdfsClient } from './OrdfsClient';
8
+ export { Bsv21Client, type OutputQueryOptions } from './Bsv21Client';
9
+ export { OverlayClient } from './OverlayClient';
10
+ export { OneSatServices } from './OneSatServices';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,11 @@
1
+ export { BaseClient } from './BaseClient';
2
+ export { ChaintracksClient } from './ChaintracksClient';
3
+ export { BeefClient } from './BeefClient';
4
+ export { ArcadeClient } from './ArcadeClient';
5
+ export { TxoClient } from './TxoClient';
6
+ export { OwnerClient } from './OwnerClient';
7
+ export { OrdfsClient } from './OrdfsClient';
8
+ export { Bsv21Client } from './Bsv21Client';
9
+ export { OverlayClient } from './OverlayClient';
10
+ export { OneSatServices } from './OneSatServices';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAuB,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAA2B,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/client",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "API client for 1Sat Ordinals SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,15 +20,14 @@
20
20
  "keywords": ["1sat", "bsv", "ordinals", "client", "api"],
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@1sat/types": "^0.0.2",
24
- "@1sat/constants": "^0.0.2",
25
- "satoshi-token": "^0.0.4"
23
+ "@1sat/types": "^0.0.4",
24
+ "@bsv/wallet-toolbox-mobile": "npm:@bopen-io/wallet-toolbox-mobile@1.7.24-idb-fix.1"
26
25
  },
27
26
  "peerDependencies": {
28
- "@bsv/sdk": "^1.9.0"
27
+ "@bsv/sdk": "^1.10.4"
29
28
  },
30
29
  "devDependencies": {
31
- "@bsv/sdk": "^1.9.24",
30
+ "@bsv/sdk": "^1.10.4",
32
31
  "typescript": "^5.9.3"
33
32
  }
34
33
  }
@@ -1,41 +0,0 @@
1
- /**
2
- * Transaction broadcaster for 1Sat API
3
- *
4
- * Broadcasts transactions to the BSV network via the 1Sat API
5
- */
6
- import type { BroadcastFailure, BroadcastResponse, Broadcaster, HttpClient, Transaction } from '@bsv/sdk';
7
- /**
8
- * Configuration options for the broadcaster
9
- */
10
- export interface BroadcasterConfig {
11
- /** API host URL (defaults to mainnet) */
12
- apiHost?: string;
13
- /** Custom HTTP client */
14
- httpClient?: HttpClient;
15
- }
16
- /**
17
- * 1Sat API transaction broadcaster
18
- *
19
- * Implements the @bsv/sdk Broadcaster interface for compatibility
20
- * with the Transaction class's broadcast() method.
21
- */
22
- export declare class OneSatBroadcaster implements Broadcaster {
23
- private readonly url;
24
- private readonly httpClient;
25
- constructor(config?: BroadcasterConfig);
26
- /**
27
- * Broadcast a transaction to the network
28
- *
29
- * @param tx - Transaction to broadcast
30
- * @returns Broadcast result with txid on success
31
- */
32
- broadcast(tx: Transaction): Promise<BroadcastResponse | BroadcastFailure>;
33
- }
34
- /**
35
- * Create a 1Sat broadcaster instance
36
- *
37
- * @param config - Optional configuration
38
- * @returns Broadcaster instance
39
- */
40
- export declare function createBroadcaster(config?: BroadcasterConfig): Broadcaster;
41
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/broadcast/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,WAAW,EACX,MAAM,UAAU,CAAA;AAMjB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yBAAyB;IACzB,UAAU,CAAC,EAAE,UAAU,CAAA;CACvB;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,MAAM,GAAE,iBAAsB;IAM1C;;;;;OAKG;IACG,SAAS,CACd,EAAE,EAAE,WAAW,GACb,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;CA8ChD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAEzE"}