@1sat/wallet 0.0.22 → 0.0.24

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.
@@ -0,0 +1,222 @@
1
+ import { OneSatServices } from '@1sat/client';
2
+ import type { Indexer, ParseContext, SyncOutput, Txo } from '@1sat/types';
3
+ import { type PrivateKey, Transaction } from '@bsv/sdk';
4
+ import { Wallet, type WalletStorageManager, type sdk as mobileSdk } from '@bsv/wallet-toolbox';
5
+ import { Outpoint } from './indexers/Outpoint';
6
+ type Chain = mobileSdk.Chain;
7
+ type EventCallback<T> = (event: T) => void;
8
+ /**
9
+ * Result of ingestTransaction including parse context for debugging
10
+ */
11
+ export interface IngestResult {
12
+ parseContext: ParseContext;
13
+ internalizedCount: number;
14
+ }
15
+ /**
16
+ * Events emitted by OneSatWallet during sync operations
17
+ */
18
+ export interface OneSatWalletEvents {
19
+ 'sync:start': {
20
+ address: string;
21
+ fromScore: number;
22
+ };
23
+ 'sync:output': {
24
+ address: string;
25
+ output: SyncOutput;
26
+ };
27
+ 'sync:skipped': {
28
+ address: string;
29
+ outpoint: string;
30
+ reason: string;
31
+ };
32
+ 'sync:parsed': {
33
+ address: string;
34
+ txid: string;
35
+ parseContext: ParseContext;
36
+ internalizedCount: number;
37
+ };
38
+ 'sync:error': {
39
+ address: string;
40
+ error: Error;
41
+ };
42
+ 'sync:complete': {
43
+ address: string;
44
+ };
45
+ 'syncAll:start': {
46
+ addresses: string[];
47
+ fromScore: number;
48
+ };
49
+ 'syncAll:output': {
50
+ output: SyncOutput;
51
+ };
52
+ 'syncAll:skipped': {
53
+ outpoint: string;
54
+ reason: string;
55
+ };
56
+ 'syncAll:parsed': {
57
+ txid: string;
58
+ parseContext: ParseContext;
59
+ internalizedCount: number;
60
+ };
61
+ 'syncAll:error': {
62
+ error: Error;
63
+ };
64
+ 'syncAll:complete': {
65
+ addresses: string[];
66
+ };
67
+ }
68
+ export interface OneSatWalletArgs {
69
+ /**
70
+ * Either a public key hex string (read-only mode) or a PrivateKey (full signing).
71
+ */
72
+ rootKey: string | PrivateKey;
73
+ /**
74
+ * The storage manager for the wallet.
75
+ */
76
+ storage: WalletStorageManager;
77
+ /**
78
+ * Network: 'main' or 'test'
79
+ */
80
+ chain: Chain;
81
+ /**
82
+ * Addresses owned by this wallet, used for filtering indexed outputs.
83
+ */
84
+ owners?: Set<string>;
85
+ /**
86
+ * Indexers to use for parsing transactions.
87
+ * If not provided, default indexers will be used.
88
+ */
89
+ indexers?: Indexer[];
90
+ /**
91
+ * Custom 1Sat API URL (default: based on chain - mainnet or testnet)
92
+ */
93
+ onesatUrl?: string;
94
+ /**
95
+ * Automatically start syncing all owner addresses on construction.
96
+ */
97
+ autoSync?: boolean;
98
+ }
99
+ /**
100
+ * OneSatWallet extends the BRC-100 Wallet with 1Sat-specific indexing and services.
101
+ *
102
+ * Can be instantiated with either:
103
+ * - A public key (read-only mode for queries)
104
+ * - A private key (full signing capability)
105
+ */
106
+ export declare class OneSatWallet extends Wallet {
107
+ private readonly isReadOnly;
108
+ private readonly indexers;
109
+ readonly services: OneSatServices;
110
+ private owners;
111
+ private listeners;
112
+ private activeSyncs;
113
+ private activeMultiSync;
114
+ constructor(args: OneSatWalletArgs);
115
+ /**
116
+ * Returns true if this wallet was created with only a public key.
117
+ * Read-only wallets can query but not sign transactions.
118
+ */
119
+ get readOnly(): boolean;
120
+ /**
121
+ * Subscribe to wallet events
122
+ */
123
+ on<K extends keyof OneSatWalletEvents>(event: K, callback: EventCallback<OneSatWalletEvents[K]>): void;
124
+ /**
125
+ * Unsubscribe from wallet events
126
+ */
127
+ off<K extends keyof OneSatWalletEvents>(event: K, callback: EventCallback<OneSatWalletEvents[K]>): void;
128
+ /**
129
+ * Emit a wallet event
130
+ */
131
+ private emit;
132
+ /**
133
+ * Add an address to the set of owned addresses.
134
+ * Outputs to these addresses will be indexed.
135
+ */
136
+ addOwner(address: string): void;
137
+ /**
138
+ * Parse a transaction through indexers without internalizing.
139
+ *
140
+ * This is useful for debugging/testing to see what the indexers produce
141
+ * without actually storing the transaction in the wallet.
142
+ */
143
+ parseTransaction(txOrTxid: Transaction | string, isBroadcasted?: boolean): Promise<ParseContext>;
144
+ /**
145
+ * Parse a single output without full transaction context.
146
+ * Runs all indexers' parse() methods but NOT summarize().
147
+ */
148
+ parseOutput(output: Transaction['outputs'][0], outpoint: Outpoint): Promise<Txo>;
149
+ /**
150
+ * Load and parse a single output by outpoint.
151
+ * Loads the transaction, extracts the output, and runs indexers on it.
152
+ */
153
+ loadTxo(outpoint: string): Promise<Txo>;
154
+ /**
155
+ * Run all indexers on a single Txo and populate its data/owner/basket
156
+ */
157
+ runIndexersOnTxo(txo: Txo): Promise<void>;
158
+ /**
159
+ * Parse all inputs - run indexers on source outputs to populate ctx.spends
160
+ */
161
+ private parseInputs;
162
+ /**
163
+ * Load a transaction by txid.
164
+ * Checks storage first, falls back to beef service.
165
+ */
166
+ loadTransaction(txid: string): Promise<Transaction>;
167
+ /**
168
+ * Load and attach source transactions for all inputs (1 level deep).
169
+ * Modifies the transaction in place.
170
+ */
171
+ hydrateSourceTransactions(tx: Transaction): Promise<void>;
172
+ /**
173
+ * Build minimal parse context from transaction
174
+ */
175
+ buildParseContext(tx: Transaction): ParseContext;
176
+ /**
177
+ * Ingest a transaction by running it through indexers and writing directly to storage.
178
+ */
179
+ ingestTransaction(tx: Transaction, description: string, labels?: string[], isBroadcasted?: boolean): Promise<IngestResult>;
180
+ /**
181
+ * Broadcast a transaction and ingest it into the wallet if successful.
182
+ */
183
+ broadcast(tx: Transaction, description: string, labels?: string[]): Promise<IngestResult>;
184
+ /**
185
+ * Sync a single address from the 1Sat indexer using Server-Sent Events.
186
+ * Runs in the background - use stopSync() or close() to stop.
187
+ */
188
+ syncAddress(address: string, fromScore?: number): void;
189
+ /**
190
+ * Process a spend transaction during sync.
191
+ * Only marks our output as spent - doesn't ingest the spend tx.
192
+ */
193
+ private processSpendTx;
194
+ /**
195
+ * Stop syncing a specific address.
196
+ */
197
+ stopSync(address: string): void;
198
+ /**
199
+ * Close the wallet and cleanup all active sync connections.
200
+ */
201
+ close(): void;
202
+ /**
203
+ * Start syncing all owner addresses using a single multi-owner SSE connection.
204
+ * This is more efficient than syncing each address individually.
205
+ */
206
+ syncAll(fromScore?: number): void;
207
+ /**
208
+ * Process a spend transaction during multi-owner sync.
209
+ */
210
+ private processSpendTxMulti;
211
+ /**
212
+ * Stop the multi-owner sync.
213
+ */
214
+ stopSyncAll(): void;
215
+ /**
216
+ * Start syncing each owner address individually.
217
+ * For most cases, use syncAll() instead which uses a single connection.
218
+ */
219
+ syncEach(): void;
220
+ }
221
+ export {};
222
+ //# sourceMappingURL=OneSatWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneSatWallet.d.ts","sourceRoot":"","sources":["../src/OneSatWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,754 @@
1
+ import { OneSatServices } from '@1sat/client';
2
+ import { Beef, KeyDeriver, Random, Transaction, Utils, } from '@bsv/sdk';
3
+ import { Wallet, } from '@bsv/wallet-toolbox';
4
+ import { Bsv21Indexer, CosignIndexer, FundIndexer, InscriptionIndexer, LockIndexer, MapIndexer, OpNSIndexer, OrdLockIndexer, OriginIndexer, SigmaIndexer, } from './indexers';
5
+ import { Outpoint } from './indexers/Outpoint';
6
+ import { ReadOnlySigner } from './signers/ReadOnlySigner';
7
+ /**
8
+ * OneSatWallet extends the BRC-100 Wallet with 1Sat-specific indexing and services.
9
+ *
10
+ * Can be instantiated with either:
11
+ * - A public key (read-only mode for queries)
12
+ * - A private key (full signing capability)
13
+ */
14
+ export class OneSatWallet extends Wallet {
15
+ isReadOnly;
16
+ indexers;
17
+ services;
18
+ owners;
19
+ listeners = {};
20
+ activeSyncs = new Map();
21
+ activeMultiSync = null;
22
+ constructor(args) {
23
+ const rootKey = args.rootKey;
24
+ const isReadOnly = typeof rootKey === 'string';
25
+ let keyDeriver;
26
+ if (typeof rootKey === 'string') {
27
+ keyDeriver = new ReadOnlySigner(rootKey);
28
+ }
29
+ else {
30
+ keyDeriver = new KeyDeriver(rootKey);
31
+ }
32
+ const services = new OneSatServices(args.chain, args.onesatUrl);
33
+ const network = args.chain === 'main' ? 'mainnet' : 'testnet';
34
+ const owners = args.owners ?? new Set();
35
+ super({
36
+ chain: args.chain,
37
+ keyDeriver,
38
+ storage: args.storage,
39
+ services,
40
+ });
41
+ this.isReadOnly = isReadOnly;
42
+ this.services = services;
43
+ this.owners = owners;
44
+ this.indexers =
45
+ args.indexers ??
46
+ [
47
+ new FundIndexer(owners, network),
48
+ new LockIndexer(owners, network),
49
+ new InscriptionIndexer(owners, network),
50
+ new SigmaIndexer(owners, network),
51
+ new MapIndexer(owners, network),
52
+ new OriginIndexer(owners, network, services),
53
+ new Bsv21Indexer(owners, network, services),
54
+ new OrdLockIndexer(owners, network),
55
+ new OpNSIndexer(owners, network),
56
+ new CosignIndexer(owners, network),
57
+ ];
58
+ if (args.autoSync) {
59
+ this.syncAll();
60
+ }
61
+ }
62
+ /**
63
+ * Returns true if this wallet was created with only a public key.
64
+ * Read-only wallets can query but not sign transactions.
65
+ */
66
+ get readOnly() {
67
+ return this.isReadOnly;
68
+ }
69
+ /**
70
+ * Subscribe to wallet events
71
+ */
72
+ on(event, callback) {
73
+ if (!this.listeners[event]) {
74
+ this.listeners[event] = new Set();
75
+ }
76
+ ;
77
+ this.listeners[event].add(callback);
78
+ }
79
+ /**
80
+ * Unsubscribe from wallet events
81
+ */
82
+ off(event, callback) {
83
+ ;
84
+ this.listeners[event]?.delete(callback);
85
+ }
86
+ /**
87
+ * Emit a wallet event
88
+ */
89
+ emit(event, data) {
90
+ const callbacks = this.listeners[event];
91
+ if (callbacks) {
92
+ for (const cb of callbacks) {
93
+ cb(data);
94
+ }
95
+ }
96
+ }
97
+ /**
98
+ * Add an address to the set of owned addresses.
99
+ * Outputs to these addresses will be indexed.
100
+ */
101
+ addOwner(address) {
102
+ this.owners.add(address);
103
+ }
104
+ /**
105
+ * Parse a transaction through indexers without internalizing.
106
+ *
107
+ * This is useful for debugging/testing to see what the indexers produce
108
+ * without actually storing the transaction in the wallet.
109
+ */
110
+ async parseTransaction(txOrTxid, isBroadcasted = true) {
111
+ const tx = typeof txOrTxid === 'string'
112
+ ? await this.loadTransaction(txOrTxid)
113
+ : txOrTxid;
114
+ await this.hydrateSourceTransactions(tx);
115
+ const ctx = this.buildParseContext(tx);
116
+ await this.parseInputs(ctx);
117
+ for (const txo of ctx.txos) {
118
+ await this.runIndexersOnTxo(txo);
119
+ }
120
+ for (const indexer of this.indexers) {
121
+ const summary = await indexer.summarize(ctx, isBroadcasted);
122
+ if (summary) {
123
+ ctx.summary[indexer.tag] = summary;
124
+ }
125
+ }
126
+ return ctx;
127
+ }
128
+ /**
129
+ * Parse a single output without full transaction context.
130
+ * Runs all indexers' parse() methods but NOT summarize().
131
+ */
132
+ async parseOutput(output, outpoint) {
133
+ const txo = { output, outpoint, data: {} };
134
+ await this.runIndexersOnTxo(txo);
135
+ return txo;
136
+ }
137
+ /**
138
+ * Load and parse a single output by outpoint.
139
+ * Loads the transaction, extracts the output, and runs indexers on it.
140
+ */
141
+ async loadTxo(outpoint) {
142
+ const op = new Outpoint(outpoint);
143
+ const tx = await this.loadTransaction(op.txid);
144
+ const output = tx.outputs[op.vout];
145
+ if (!output) {
146
+ throw new Error(`Output ${op.vout} not found in transaction ${op.txid}`);
147
+ }
148
+ return this.parseOutput(output, op);
149
+ }
150
+ /**
151
+ * Run all indexers on a single Txo and populate its data/owner/basket
152
+ */
153
+ async runIndexersOnTxo(txo) {
154
+ for (const indexer of this.indexers) {
155
+ const result = await indexer.parse(txo);
156
+ if (result) {
157
+ txo.data[indexer.tag] = {
158
+ data: result.data,
159
+ tags: result.tags,
160
+ };
161
+ if (result.owner) {
162
+ txo.owner = result.owner;
163
+ }
164
+ if (result.basket) {
165
+ txo.basket = result.basket;
166
+ }
167
+ }
168
+ }
169
+ }
170
+ /**
171
+ * Parse all inputs - run indexers on source outputs to populate ctx.spends
172
+ */
173
+ async parseInputs(ctx) {
174
+ for (const input of ctx.tx.inputs) {
175
+ if (!input.sourceTransaction)
176
+ continue;
177
+ const sourceOutput = input.sourceTransaction.outputs[input.sourceOutputIndex];
178
+ if (!sourceOutput)
179
+ continue;
180
+ const sourceTxid = input.sourceTransaction.id('hex');
181
+ const sourceVout = input.sourceOutputIndex;
182
+ const spendTxo = {
183
+ output: sourceOutput,
184
+ outpoint: new Outpoint(sourceTxid, sourceVout),
185
+ data: {},
186
+ };
187
+ await this.runIndexersOnTxo(spendTxo);
188
+ ctx.spends.push(spendTxo);
189
+ }
190
+ }
191
+ /**
192
+ * Load a transaction by txid.
193
+ * Checks storage first, falls back to beef service.
194
+ */
195
+ async loadTransaction(txid) {
196
+ const userId = await this.storage.getUserId();
197
+ const existingTx = await this.storage.runAsStorageProvider(async (sp) => {
198
+ const txs = await sp.findTransactions({ partial: { userId, txid } });
199
+ return txs.length > 0 ? txs[0] : null;
200
+ });
201
+ if (existingTx?.rawTx) {
202
+ return Transaction.fromBinary(existingTx.rawTx);
203
+ }
204
+ const beefBytes = await this.services.beef.getBeef(txid);
205
+ return Transaction.fromBEEF(Array.from(beefBytes));
206
+ }
207
+ /**
208
+ * Load and attach source transactions for all inputs (1 level deep).
209
+ * Modifies the transaction in place.
210
+ */
211
+ async hydrateSourceTransactions(tx) {
212
+ const loaded = new Map();
213
+ for (const input of tx.inputs) {
214
+ if (!input.sourceTransaction && input.sourceTXID) {
215
+ if (!loaded.has(input.sourceTXID)) {
216
+ loaded.set(input.sourceTXID, await this.loadTransaction(input.sourceTXID));
217
+ }
218
+ input.sourceTransaction = loaded.get(input.sourceTXID);
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Build minimal parse context from transaction
224
+ */
225
+ buildParseContext(tx) {
226
+ const txid = tx.id('hex');
227
+ return {
228
+ tx,
229
+ txid,
230
+ txos: tx.outputs.map((output, vout) => ({
231
+ output,
232
+ outpoint: new Outpoint(txid, vout),
233
+ data: {},
234
+ })),
235
+ spends: [],
236
+ summary: {},
237
+ indexers: this.indexers,
238
+ };
239
+ }
240
+ /**
241
+ * Ingest a transaction by running it through indexers and writing directly to storage.
242
+ */
243
+ async ingestTransaction(tx, description, labels, isBroadcasted = true) {
244
+ const ctx = await this.parseTransaction(tx, isBroadcasted);
245
+ const txid = tx.id('hex');
246
+ const ownedTxos = ctx.txos.filter((txo) => txo.owner && this.owners.has(txo.owner));
247
+ const userId = await this.storage.getUserId();
248
+ const internalizedCount = await this.storage.runAsStorageProvider(async (sp) => {
249
+ return sp.transaction(async (trx) => {
250
+ const existingTxs = await sp.findTransactions({
251
+ partial: { userId, txid },
252
+ trx,
253
+ });
254
+ let transactionId;
255
+ let isNewTransaction = false;
256
+ if (existingTxs.length > 0) {
257
+ transactionId = existingTxs[0].transactionId;
258
+ }
259
+ else {
260
+ let isOutgoing = false;
261
+ let satoshisSpent = 0;
262
+ for (const input of tx.inputs) {
263
+ if (input.sourceTXID) {
264
+ const spentOutputs = await sp.findOutputs({
265
+ partial: {
266
+ userId,
267
+ txid: input.sourceTXID,
268
+ vout: input.sourceOutputIndex,
269
+ },
270
+ trx,
271
+ });
272
+ if (spentOutputs.length > 0) {
273
+ isOutgoing = true;
274
+ satoshisSpent += spentOutputs[0].satoshis;
275
+ }
276
+ }
277
+ }
278
+ const satoshisReceived = ownedTxos.reduce((sum, txo) => sum + (txo.output.satoshis || 0), 0);
279
+ const satoshis = satoshisReceived - satoshisSpent;
280
+ const now = new Date();
281
+ const reference = Utils.toBase64(Random(12));
282
+ const status = isBroadcasted
283
+ ? 'completed'
284
+ : 'unproven';
285
+ const newTx = {
286
+ created_at: now,
287
+ updated_at: now,
288
+ transactionId: 0,
289
+ userId,
290
+ status,
291
+ reference,
292
+ isOutgoing,
293
+ satoshis,
294
+ description,
295
+ version: tx.version,
296
+ lockTime: tx.lockTime,
297
+ txid,
298
+ rawTx: Array.from(tx.toBinary()),
299
+ };
300
+ transactionId = await sp.insertTransaction(newTx, trx);
301
+ isNewTransaction = true;
302
+ const txQueue = [...tx.inputs];
303
+ for (const input of txQueue) {
304
+ if (!input.sourceTransaction)
305
+ continue;
306
+ const sourceTxid = input.sourceTransaction.id('hex');
307
+ const existing = await sp.findTransactions({
308
+ partial: { userId, txid: sourceTxid },
309
+ trx,
310
+ });
311
+ if (existing.length > 0)
312
+ continue;
313
+ const sourceNow = new Date();
314
+ const sourceRef = Utils.toBase64(Random(12));
315
+ await sp.insertTransaction({
316
+ created_at: sourceNow,
317
+ updated_at: sourceNow,
318
+ transactionId: 0,
319
+ userId,
320
+ status: 'completed',
321
+ reference: sourceRef,
322
+ isOutgoing: false,
323
+ satoshis: 0,
324
+ description: 'source transaction',
325
+ version: input.sourceTransaction.version,
326
+ lockTime: input.sourceTransaction.lockTime,
327
+ txid: sourceTxid,
328
+ rawTx: Array.from(input.sourceTransaction.toBinary()),
329
+ }, trx);
330
+ txQueue.push(...input.sourceTransaction.inputs);
331
+ }
332
+ for (const label of labels || []) {
333
+ const txLabel = await sp.findOrInsertTxLabel(userId, label, trx);
334
+ if (txLabel.txLabelId) {
335
+ await sp.findOrInsertTxLabelMap(transactionId, txLabel.txLabelId, trx);
336
+ }
337
+ }
338
+ }
339
+ if (isNewTransaction) {
340
+ for (const input of tx.inputs) {
341
+ if (input.sourceTXID) {
342
+ const spentOutputs = await sp.findOutputs({
343
+ partial: {
344
+ userId,
345
+ txid: input.sourceTXID,
346
+ vout: input.sourceOutputIndex,
347
+ },
348
+ trx,
349
+ });
350
+ if (spentOutputs.length > 0) {
351
+ const output = spentOutputs[0];
352
+ if (output.outputId) {
353
+ await sp.updateOutput(output.outputId, {
354
+ spendable: false,
355
+ spentBy: transactionId,
356
+ }, trx);
357
+ }
358
+ }
359
+ }
360
+ }
361
+ }
362
+ let outputsCreated = 0;
363
+ for (const txo of ownedTxos) {
364
+ const existingOutputs = await sp.findOutputs({
365
+ partial: { userId, txid, vout: txo.outpoint.vout },
366
+ trx,
367
+ });
368
+ if (existingOutputs.length > 0) {
369
+ continue;
370
+ }
371
+ const tags = [];
372
+ if (txo.owner) {
373
+ tags.push(`own:${txo.owner}`);
374
+ }
375
+ for (const indexData of Object.values(txo.data)) {
376
+ if (indexData.tags) {
377
+ tags.push(...indexData.tags);
378
+ }
379
+ }
380
+ const basketName = txo.basket || 'default';
381
+ const basket = await sp.findOrInsertOutputBasket(userId, basketName, trx);
382
+ const now = new Date();
383
+ const providedBy = 'you';
384
+ const newOutput = {
385
+ created_at: now,
386
+ updated_at: now,
387
+ outputId: 0,
388
+ userId,
389
+ transactionId,
390
+ basketId: basket.basketId,
391
+ spendable: true,
392
+ change: basketName === 'default',
393
+ outputDescription: '',
394
+ vout: txo.outpoint.vout,
395
+ satoshis: txo.output.satoshis || 0,
396
+ providedBy,
397
+ purpose: basketName === 'default' ? 'change' : '',
398
+ type: 'custom',
399
+ txid,
400
+ lockingScript: Array.from(txo.output.lockingScript.toBinary()),
401
+ spentBy: undefined,
402
+ };
403
+ const outputId = await sp.insertOutput(newOutput, trx);
404
+ for (const tag of tags) {
405
+ const outputTag = await sp.findOrInsertOutputTag(userId, tag, trx);
406
+ if (outputTag.outputTagId) {
407
+ await sp.findOrInsertOutputTagMap(outputId, outputTag.outputTagId, trx);
408
+ }
409
+ }
410
+ outputsCreated++;
411
+ }
412
+ return outputsCreated;
413
+ });
414
+ });
415
+ return { parseContext: ctx, internalizedCount };
416
+ }
417
+ /**
418
+ * Broadcast a transaction and ingest it into the wallet if successful.
419
+ */
420
+ async broadcast(tx, description, labels) {
421
+ const txid = tx.id('hex');
422
+ const beef = new Beef();
423
+ beef.mergeTransaction(tx);
424
+ const results = await this.services.postBeef(beef, [txid]);
425
+ const result = results[0];
426
+ if (result.status !== 'success') {
427
+ const errorMsg = result.error?.message || 'Broadcast failed';
428
+ throw new Error(`Broadcast failed for ${txid}: ${errorMsg}`);
429
+ }
430
+ return this.ingestTransaction(tx, description, labels, true);
431
+ }
432
+ /**
433
+ * Sync a single address from the 1Sat indexer using Server-Sent Events.
434
+ * Runs in the background - use stopSync() or close() to stop.
435
+ */
436
+ syncAddress(address, fromScore = 0) {
437
+ this.stopSync(address);
438
+ this.emit('sync:start', { address, fromScore });
439
+ const seenTxids = new Set();
440
+ const processOutput = async (output) => {
441
+ this.emit('sync:output', { address, output });
442
+ const txid = output.outpoint.substring(0, 64);
443
+ if (seenTxids.has(txid)) {
444
+ this.emit('sync:skipped', {
445
+ address,
446
+ outpoint: output.outpoint,
447
+ reason: 'already processed in this session',
448
+ });
449
+ if (output.spendTxid && !seenTxids.has(output.spendTxid)) {
450
+ await this.processSpendTx(address, output, seenTxids);
451
+ }
452
+ return;
453
+ }
454
+ const vout = Number.parseInt(output.outpoint.substring(65), 10);
455
+ const hasOutput = await this.storage.runAsStorageProvider(async (sp) => {
456
+ const outputs = await sp.findOutputs({ partial: { txid, vout } });
457
+ return outputs.length > 0;
458
+ });
459
+ if (!hasOutput) {
460
+ if (output.spendTxid) {
461
+ seenTxids.add(txid);
462
+ this.emit('sync:skipped', {
463
+ address,
464
+ outpoint: output.outpoint,
465
+ reason: 'already spent, skipping historical output',
466
+ });
467
+ return;
468
+ }
469
+ const tx = await this.loadTransaction(txid);
470
+ const result = await this.ingestTransaction(tx, '1sat-sync');
471
+ seenTxids.add(txid);
472
+ this.emit('sync:parsed', {
473
+ address,
474
+ txid,
475
+ parseContext: result.parseContext,
476
+ internalizedCount: result.internalizedCount,
477
+ });
478
+ }
479
+ else {
480
+ seenTxids.add(txid);
481
+ if (output.spendTxid) {
482
+ await this.processSpendTx(address, output, seenTxids);
483
+ }
484
+ else {
485
+ this.emit('sync:skipped', {
486
+ address,
487
+ outpoint: output.outpoint,
488
+ reason: 'already have output in storage',
489
+ });
490
+ }
491
+ }
492
+ };
493
+ const unsubscribe = this.services.owner.sync([address], (output) => {
494
+ processOutput(output);
495
+ }, fromScore, () => {
496
+ this.activeSyncs.delete(address);
497
+ this.emit('sync:complete', { address });
498
+ }, (error) => {
499
+ this.activeSyncs.delete(address);
500
+ this.emit('sync:error', { address, error });
501
+ });
502
+ this.activeSyncs.set(address, unsubscribe);
503
+ }
504
+ /**
505
+ * Process a spend transaction during sync.
506
+ * Only marks our output as spent - doesn't ingest the spend tx.
507
+ */
508
+ async processSpendTx(address, output, seenTxids) {
509
+ if (!output.spendTxid || seenTxids.has(output.spendTxid)) {
510
+ return;
511
+ }
512
+ const spentTxid = output.outpoint.substring(0, 64);
513
+ const spentVout = Number.parseInt(output.outpoint.substring(65), 10);
514
+ const userId = await this.storage.getUserId();
515
+ const outputRecord = await this.storage.runAsStorageProvider(async (sp) => {
516
+ const outputs = await sp.findOutputs({
517
+ partial: { userId, txid: spentTxid, vout: spentVout },
518
+ });
519
+ return outputs.length > 0 ? outputs[0] : null;
520
+ });
521
+ if (!outputRecord || !outputRecord.spendable) {
522
+ seenTxids.add(output.spendTxid);
523
+ this.emit('sync:skipped', {
524
+ address,
525
+ outpoint: output.outpoint,
526
+ reason: outputRecord ? 'already marked spent' : 'output not in wallet',
527
+ });
528
+ return;
529
+ }
530
+ let spendTx;
531
+ const existingTx = await this.storage.runAsStorageProvider(async (sp) => {
532
+ const txs = await sp.findTransactions({
533
+ partial: { userId, txid: output.spendTxid },
534
+ });
535
+ return txs.length > 0 ? txs[0] : null;
536
+ });
537
+ if (existingTx?.rawTx) {
538
+ spendTx = Transaction.fromBinary(existingTx.rawTx);
539
+ }
540
+ else {
541
+ const beefBytes = await this.services.beef.getBeef(output.spendTxid);
542
+ spendTx = Transaction.fromBEEF(Array.from(beefBytes));
543
+ const chainTracker = await this.services.getChainTracker();
544
+ const isValid = await spendTx.verify(chainTracker);
545
+ if (!isValid) {
546
+ this.emit('sync:error', {
547
+ address,
548
+ error: new Error(`Spend tx ${output.spendTxid} failed SPV verification`),
549
+ });
550
+ return;
551
+ }
552
+ }
553
+ const inputFound = spendTx.inputs.some((input) => input.sourceTXID === spentTxid && input.sourceOutputIndex === spentVout);
554
+ if (!inputFound) {
555
+ this.emit('sync:error', {
556
+ address,
557
+ error: new Error(`Outpoint ${output.outpoint} not found in spend tx ${output.spendTxid} inputs`),
558
+ });
559
+ return;
560
+ }
561
+ seenTxids.add(output.spendTxid);
562
+ const outputId = outputRecord.outputId;
563
+ if (outputId) {
564
+ await this.storage.runAsStorageProvider(async (sp) => {
565
+ await sp.updateOutput(outputId, { spendable: false });
566
+ });
567
+ }
568
+ this.emit('sync:skipped', {
569
+ address,
570
+ outpoint: output.outpoint,
571
+ reason: 'marked as spent',
572
+ });
573
+ }
574
+ /**
575
+ * Stop syncing a specific address.
576
+ */
577
+ stopSync(address) {
578
+ const unsubscribe = this.activeSyncs.get(address);
579
+ if (unsubscribe) {
580
+ unsubscribe();
581
+ this.activeSyncs.delete(address);
582
+ }
583
+ }
584
+ /**
585
+ * Close the wallet and cleanup all active sync connections.
586
+ */
587
+ close() {
588
+ this.stopSyncAll();
589
+ for (const unsubscribe of this.activeSyncs.values()) {
590
+ unsubscribe();
591
+ }
592
+ this.activeSyncs.clear();
593
+ this.services.close();
594
+ }
595
+ /**
596
+ * Start syncing all owner addresses using a single multi-owner SSE connection.
597
+ * This is more efficient than syncing each address individually.
598
+ */
599
+ syncAll(fromScore = 0) {
600
+ this.stopSyncAll();
601
+ const addresses = Array.from(this.owners);
602
+ if (addresses.length === 0)
603
+ return;
604
+ if (addresses.length === 1) {
605
+ this.syncAddress(addresses[0], fromScore);
606
+ return;
607
+ }
608
+ this.emit('syncAll:start', { addresses, fromScore });
609
+ const seenTxids = new Set();
610
+ const processOutput = async (output) => {
611
+ this.emit('syncAll:output', { output });
612
+ const txid = output.outpoint.substring(0, 64);
613
+ if (seenTxids.has(txid)) {
614
+ this.emit('syncAll:skipped', {
615
+ outpoint: output.outpoint,
616
+ reason: 'already processed in this session',
617
+ });
618
+ if (output.spendTxid && !seenTxids.has(output.spendTxid)) {
619
+ await this.processSpendTxMulti(output, seenTxids);
620
+ }
621
+ return;
622
+ }
623
+ const vout = Number.parseInt(output.outpoint.substring(65), 10);
624
+ const hasOutput = await this.storage.runAsStorageProvider(async (sp) => {
625
+ const outputs = await sp.findOutputs({ partial: { txid, vout } });
626
+ return outputs.length > 0;
627
+ });
628
+ if (!hasOutput) {
629
+ if (output.spendTxid) {
630
+ seenTxids.add(txid);
631
+ this.emit('syncAll:skipped', {
632
+ outpoint: output.outpoint,
633
+ reason: 'already spent, skipping historical output',
634
+ });
635
+ return;
636
+ }
637
+ const tx = await this.loadTransaction(txid);
638
+ const result = await this.ingestTransaction(tx, '1sat-sync');
639
+ seenTxids.add(txid);
640
+ this.emit('syncAll:parsed', {
641
+ txid,
642
+ parseContext: result.parseContext,
643
+ internalizedCount: result.internalizedCount,
644
+ });
645
+ }
646
+ else {
647
+ seenTxids.add(txid);
648
+ if (output.spendTxid) {
649
+ await this.processSpendTxMulti(output, seenTxids);
650
+ }
651
+ else {
652
+ this.emit('syncAll:skipped', {
653
+ outpoint: output.outpoint,
654
+ reason: 'already have output in storage',
655
+ });
656
+ }
657
+ }
658
+ };
659
+ const unsubscribe = this.services.owner.sync(addresses, (output) => {
660
+ processOutput(output);
661
+ }, fromScore, () => {
662
+ this.activeMultiSync = null;
663
+ this.emit('syncAll:complete', { addresses });
664
+ }, (error) => {
665
+ this.activeMultiSync = null;
666
+ this.emit('syncAll:error', { error });
667
+ });
668
+ this.activeMultiSync = unsubscribe;
669
+ }
670
+ /**
671
+ * Process a spend transaction during multi-owner sync.
672
+ */
673
+ async processSpendTxMulti(output, seenTxids) {
674
+ if (!output.spendTxid || seenTxids.has(output.spendTxid)) {
675
+ return;
676
+ }
677
+ const spentTxid = output.outpoint.substring(0, 64);
678
+ const spentVout = Number.parseInt(output.outpoint.substring(65), 10);
679
+ const userId = await this.storage.getUserId();
680
+ const outputRecord = await this.storage.runAsStorageProvider(async (sp) => {
681
+ const outputs = await sp.findOutputs({
682
+ partial: { userId, txid: spentTxid, vout: spentVout },
683
+ });
684
+ return outputs.length > 0 ? outputs[0] : null;
685
+ });
686
+ if (!outputRecord || !outputRecord.spendable) {
687
+ seenTxids.add(output.spendTxid);
688
+ this.emit('syncAll:skipped', {
689
+ outpoint: output.outpoint,
690
+ reason: outputRecord ? 'already marked spent' : 'output not in wallet',
691
+ });
692
+ return;
693
+ }
694
+ let spendTx;
695
+ const existingTx = await this.storage.runAsStorageProvider(async (sp) => {
696
+ const txs = await sp.findTransactions({
697
+ partial: { userId, txid: output.spendTxid },
698
+ });
699
+ return txs.length > 0 ? txs[0] : null;
700
+ });
701
+ if (existingTx?.rawTx) {
702
+ spendTx = Transaction.fromBinary(existingTx.rawTx);
703
+ }
704
+ else {
705
+ const beefBytes = await this.services.beef.getBeef(output.spendTxid);
706
+ spendTx = Transaction.fromBEEF(Array.from(beefBytes));
707
+ const chainTracker = await this.services.getChainTracker();
708
+ const isValid = await spendTx.verify(chainTracker);
709
+ if (!isValid) {
710
+ this.emit('syncAll:error', {
711
+ error: new Error(`Spend tx ${output.spendTxid} failed SPV verification`),
712
+ });
713
+ return;
714
+ }
715
+ }
716
+ const inputFound = spendTx.inputs.some((input) => input.sourceTXID === spentTxid && input.sourceOutputIndex === spentVout);
717
+ if (!inputFound) {
718
+ this.emit('syncAll:error', {
719
+ error: new Error(`Outpoint ${output.outpoint} not found in spend tx ${output.spendTxid} inputs`),
720
+ });
721
+ return;
722
+ }
723
+ seenTxids.add(output.spendTxid);
724
+ const outputId = outputRecord.outputId;
725
+ if (outputId) {
726
+ await this.storage.runAsStorageProvider(async (sp) => {
727
+ await sp.updateOutput(outputId, { spendable: false });
728
+ });
729
+ }
730
+ this.emit('syncAll:skipped', {
731
+ outpoint: output.outpoint,
732
+ reason: 'marked as spent',
733
+ });
734
+ }
735
+ /**
736
+ * Stop the multi-owner sync.
737
+ */
738
+ stopSyncAll() {
739
+ if (this.activeMultiSync) {
740
+ this.activeMultiSync();
741
+ this.activeMultiSync = null;
742
+ }
743
+ }
744
+ /**
745
+ * Start syncing each owner address individually.
746
+ * For most cases, use syncAll() instead which uses a single connection.
747
+ */
748
+ syncEach() {
749
+ for (const addr of this.owners) {
750
+ this.syncAddress(addr);
751
+ }
752
+ }
753
+ }
754
+ //# sourceMappingURL=OneSatWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneSatWallet.js","sourceRoot":"","sources":["../src/OneSatWallet.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { HttpError } from '@1sat/client';
2
2
  import { BSV21_FEE_XPUB } from '@1sat/types';
3
3
  import { Indexer, } from '@1sat/types';
4
- import { BSV21 } from '@bopen-io/templates';
4
+ import { BSV21 } from '@1sat/templates';
5
5
  import { HD, Hash, Utils } from '@bsv/sdk';
6
6
  const hdKey = HD.fromString(BSV21_FEE_XPUB);
7
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Bsv21Indexer.js","sourceRoot":"","sources":["../../src/indexers/Bsv21Indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bsv21Indexer.js","sourceRoot":"","sources":["../../src/indexers/Bsv21Indexer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Indexer, } from '@1sat/types';
2
- import { Inscription as InscriptionTemplate } from '@bopen-io/templates';
2
+ import { Inscription as InscriptionTemplate } from '@1sat/templates';
3
3
  import { OP, Script, Utils } from '@bsv/sdk';
4
4
  import { MapIndexer } from './MapIndexer';
5
5
  import { parseAddress } from './parseAddress';
@@ -1 +1 @@
1
- {"version":3,"file":"InscriptionIndexer.js","sourceRoot":"","sources":["../../src/indexers/InscriptionIndexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InscriptionIndexer.js","sourceRoot":"","sources":["../../src/indexers/InscriptionIndexer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Indexer, } from '@1sat/types';
2
- import { Lock } from '@bopen-io/templates';
2
+ import { Lock } from '@1sat/templates';
3
3
  export class LockIndexer extends Indexer {
4
4
  tag = 'lock';
5
5
  name = 'Locks';
@@ -1 +1 @@
1
- {"version":3,"file":"LockIndexer.js","sourceRoot":"","sources":["../../src/indexers/LockIndexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,OAAO,GAIP,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAM1C,MAAM,OAAO,WAAY,SAAQ,OAAO;IACvC,GAAG,GAAG,MAAM,CAAA;IACZ,IAAI,GAAG,OAAO,CAAA;IAEd,KAAK,CAAC,KAAK,CAAC,GAAQ;QACnB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAA;QAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;QACtE,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACzC,CAAC;QAED,OAAO;YACN,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAc;YAC1C,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,kBAAkB,EAAE,4CAA4C;SAC1E,CAAA;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAiB;QAChC,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;gBACnD,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;YACxE,CAAC;QACF,CAAC;QAED,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;gBACjD,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;YACnE,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAA;QAC1C,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QAC3B,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"LockIndexer.js","sourceRoot":"","sources":["../../src/indexers/LockIndexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,OAAO,GAIP,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAMtC,MAAM,OAAO,WAAY,SAAQ,OAAO;IACvC,GAAG,GAAG,MAAM,CAAA;IACZ,IAAI,GAAG,OAAO,CAAA;IAEd,KAAK,CAAC,KAAK,CAAC,GAAQ;QACnB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAA;QAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;QACtE,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACzC,CAAC;QAED,OAAO;YACN,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAc;YAC1C,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,kBAAkB,EAAE,4CAA4C;SAC1E,CAAA;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAiB;QAChC,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;gBACnD,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;YACxE,CAAC;QACF,CAAC;QAED,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;gBACjD,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;YACnE,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAA;QAC1C,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QAC3B,CAAC;IACF,CAAC;CACD"}
@@ -1,5 +1,5 @@
1
1
  import { Indexer } from '@1sat/types';
2
- import { MAP_PREFIX } from '@bopen-io/templates';
2
+ import { MAP_PREFIX } from '@1sat/templates';
3
3
  import { OP, Script, Utils } from '@bsv/sdk';
4
4
  export class MapIndexer extends Indexer {
5
5
  owners;
@@ -1 +1 @@
1
- {"version":3,"file":"MapIndexer.js","sourceRoot":"","sources":["../../src/indexers/MapIndexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapIndexer.js","sourceRoot":"","sources":["../../src/indexers/MapIndexer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Indexer, } from '@1sat/types';
2
- import { OrdLock } from '@bopen-io/templates';
2
+ import { OrdLock } from '@1sat/templates';
3
3
  export class Listing {
4
4
  payout;
5
5
  price;
@@ -1 +1 @@
1
- {"version":3,"file":"OrdLockIndexer.js","sourceRoot":"","sources":["../../src/indexers/OrdLockIndexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,OAAO,GAIP,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C,MAAM,OAAO,OAAO;IAEX;IACA;IAFR,YACQ,SAAmB,EAAE,EACrB,QAAQ,EAAE;QADV,WAAM,GAAN,MAAM,CAAe;QACrB,UAAK,GAAL,KAAK,CAAK;IACf,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,OAAO;IAKlC;IACA;IALR,GAAG,GAAG,MAAM,CAAA;IACZ,IAAI,GAAG,UAAU,CAAA;IAEjB,YACQ,SAAS,IAAI,GAAG,EAAU,EAC1B,UAAiC,SAAS;QAEjD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAHf,WAAM,GAAN,MAAM,CAAoB;QAC1B,YAAO,GAAP,OAAO,CAAmC;IAGlD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAQ;QACnB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAA;QAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;QACzE,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAE1D,OAAO;YACN,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,CAAC,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,QAAQ,EAAE,kBAAkB,EAAE,wCAAwC;SACtE,CAAA;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAiB;QAChC,4CAA4C;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAA;gBAC1D,IAAI,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC5D,iCAAiC;oBACjC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;gBACrB,CAAC;gBACD,+BAA+B;gBAC/B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;YACrB,CAAC;QACF,CAAC;QAED,4CAA4C;QAC5C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;YACtB,CAAC;QACF,CAAC;IACF,CAAC;IAED,SAAS,CAAC,OAAgB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;SACjC,CAAC,CAAA;IACH,CAAC;IAED,WAAW,CAAC,GAAW;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC3B,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,CAAC;CACD"}
1
+ {"version":3,"file":"OrdLockIndexer.js","sourceRoot":"","sources":["../../src/indexers/OrdLockIndexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,OAAO,GAIP,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,OAAO,OAAO;IAEX;IACA;IAFR,YACQ,SAAmB,EAAE,EACrB,QAAQ,EAAE;QADV,WAAM,GAAN,MAAM,CAAe;QACrB,UAAK,GAAL,KAAK,CAAK;IACf,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,OAAO;IAKlC;IACA;IALR,GAAG,GAAG,MAAM,CAAA;IACZ,IAAI,GAAG,UAAU,CAAA;IAEjB,YACQ,SAAS,IAAI,GAAG,EAAU,EAC1B,UAAiC,SAAS;QAEjD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAHf,WAAM,GAAN,MAAM,CAAoB;QAC1B,YAAO,GAAP,OAAO,CAAmC;IAGlD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAQ;QACnB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAA;QAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;QACzE,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAE1D,OAAO;YACN,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,CAAC,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,QAAQ,EAAE,kBAAkB,EAAE,wCAAwC;SACtE,CAAA;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAiB;QAChC,4CAA4C;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAA;gBAC1D,IAAI,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC5D,iCAAiC;oBACjC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;gBACrB,CAAC;gBACD,+BAA+B;gBAC/B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;YACrB,CAAC;QACF,CAAC;QAED,4CAA4C;QAC5C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;YACtB,CAAC;QACF,CAAC;IACF,CAAC;IAED,SAAS,CAAC,OAAgB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;SACjC,CAAC,CAAA;IACH,CAAC;IAED,WAAW,CAAC,GAAW;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC3B,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/wallet",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "BRC-100 wallet engine for 1Sat Ordinals SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,9 +20,10 @@
20
20
  "keywords": ["1sat", "bsv", "ordinals", "wallet", "brc-100"],
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@1sat/client": "^0.0.12",
24
- "@1sat/types": "^0.0.11",
25
- "@bopen-io/templates": "^1.1.9",
23
+ "@1sat/client": "0.0.15",
24
+ "@1sat/types": "0.0.13",
25
+ "@1sat/templates": "0.0.1",
26
+ "@bopen-io/templates": "^1.2.3",
26
27
  "@msgpack/msgpack": "^3.1.3",
27
28
  "fflate": "^0.8.2"
28
29
  },