@1sat/wallet 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 (141) hide show
  1. package/dist/OneSatWallet.d.ts +222 -0
  2. package/dist/OneSatWallet.d.ts.map +1 -0
  3. package/dist/OneSatWallet.js +754 -0
  4. package/dist/OneSatWallet.js.map +1 -0
  5. package/dist/address-sync/AddressManager.d.ts +86 -0
  6. package/dist/address-sync/AddressManager.d.ts.map +1 -0
  7. package/dist/address-sync/AddressManager.js +108 -0
  8. package/dist/address-sync/AddressManager.js.map +1 -0
  9. package/dist/address-sync/AddressSyncManager.d.ts +204 -0
  10. package/dist/address-sync/AddressSyncManager.d.ts.map +1 -0
  11. package/dist/address-sync/AddressSyncManager.js +525 -0
  12. package/dist/address-sync/AddressSyncManager.js.map +1 -0
  13. package/dist/address-sync/AddressSyncQueueIdb.d.ts +31 -0
  14. package/dist/address-sync/AddressSyncQueueIdb.d.ts.map +1 -0
  15. package/dist/address-sync/AddressSyncQueueIdb.js +356 -0
  16. package/dist/address-sync/AddressSyncQueueIdb.js.map +1 -0
  17. package/dist/address-sync/AddressSyncQueueSqlite.d.ts +55 -0
  18. package/dist/address-sync/AddressSyncQueueSqlite.d.ts.map +1 -0
  19. package/dist/address-sync/AddressSyncQueueSqlite.js +198 -0
  20. package/dist/address-sync/AddressSyncQueueSqlite.js.map +1 -0
  21. package/dist/address-sync/index.d.ts +8 -0
  22. package/dist/address-sync/index.d.ts.map +1 -0
  23. package/dist/address-sync/index.js +5 -0
  24. package/dist/address-sync/index.js.map +1 -0
  25. package/dist/backup/FileBackupProvider.d.ts +97 -0
  26. package/dist/backup/FileBackupProvider.d.ts.map +1 -0
  27. package/dist/backup/FileBackupProvider.js +185 -0
  28. package/dist/backup/FileBackupProvider.js.map +1 -0
  29. package/dist/backup/FileRestoreReader.d.ts +59 -0
  30. package/dist/backup/FileRestoreReader.d.ts.map +1 -0
  31. package/dist/backup/FileRestoreReader.js +89 -0
  32. package/dist/backup/FileRestoreReader.js.map +1 -0
  33. package/dist/backup/index.d.ts +6 -0
  34. package/dist/backup/index.d.ts.map +1 -0
  35. package/dist/backup/index.js +5 -0
  36. package/dist/backup/index.js.map +1 -0
  37. package/dist/backup/types.d.ts +32 -0
  38. package/dist/backup/types.d.ts.map +1 -0
  39. package/dist/backup/types.js +2 -0
  40. package/dist/backup/types.js.map +1 -0
  41. package/dist/browser.d.ts +6 -0
  42. package/dist/browser.d.ts.map +1 -0
  43. package/dist/browser.js +6 -0
  44. package/dist/browser.js.map +1 -0
  45. package/dist/cwi/chrome.d.ts +12 -0
  46. package/dist/cwi/chrome.d.ts.map +1 -0
  47. package/dist/cwi/chrome.js +44 -0
  48. package/dist/cwi/chrome.js.map +1 -0
  49. package/dist/cwi/event.d.ts +12 -0
  50. package/dist/cwi/event.d.ts.map +1 -0
  51. package/dist/cwi/event.js +39 -0
  52. package/dist/cwi/event.js.map +1 -0
  53. package/dist/cwi/factory.d.ts +15 -0
  54. package/dist/cwi/factory.d.ts.map +1 -0
  55. package/dist/cwi/factory.js +45 -0
  56. package/dist/cwi/factory.js.map +1 -0
  57. package/dist/cwi/index.d.ts +12 -0
  58. package/dist/cwi/index.d.ts.map +1 -0
  59. package/dist/cwi/index.js +12 -0
  60. package/dist/cwi/index.js.map +1 -0
  61. package/dist/cwi/types.d.ts +40 -0
  62. package/dist/cwi/types.d.ts.map +1 -0
  63. package/dist/cwi/types.js +40 -0
  64. package/dist/cwi/types.js.map +1 -0
  65. package/dist/factory/createWebWallet.d.ts +73 -0
  66. package/dist/factory/createWebWallet.d.ts.map +1 -0
  67. package/dist/factory/createWebWallet.js +251 -0
  68. package/dist/factory/createWebWallet.js.map +1 -0
  69. package/dist/factory/fullSync.d.ts +58 -0
  70. package/dist/factory/fullSync.d.ts.map +1 -0
  71. package/dist/factory/fullSync.js +92 -0
  72. package/dist/factory/fullSync.js.map +1 -0
  73. package/dist/factory/index.d.ts +5 -0
  74. package/dist/factory/index.d.ts.map +1 -0
  75. package/dist/factory/index.js +3 -0
  76. package/dist/factory/index.js.map +1 -0
  77. package/dist/index.d.ts +18 -20
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +24 -21
  80. package/dist/index.js.map +1 -1
  81. package/dist/indexers/Bsv21Indexer.d.ts +36 -0
  82. package/dist/indexers/Bsv21Indexer.d.ts.map +1 -0
  83. package/dist/indexers/Bsv21Indexer.js +232 -0
  84. package/dist/indexers/Bsv21Indexer.js.map +1 -0
  85. package/dist/indexers/CosignIndexer.d.ts +14 -0
  86. package/dist/indexers/CosignIndexer.d.ts.map +1 -0
  87. package/dist/indexers/CosignIndexer.js +27 -0
  88. package/dist/indexers/CosignIndexer.js.map +1 -0
  89. package/dist/indexers/FundIndexer.d.ts +20 -0
  90. package/dist/indexers/FundIndexer.d.ts.map +1 -0
  91. package/dist/indexers/FundIndexer.js +65 -0
  92. package/dist/indexers/FundIndexer.js.map +1 -0
  93. package/dist/indexers/InscriptionIndexer.d.ts +33 -0
  94. package/dist/indexers/InscriptionIndexer.d.ts.map +1 -0
  95. package/dist/indexers/InscriptionIndexer.js +116 -0
  96. package/dist/indexers/InscriptionIndexer.js.map +1 -0
  97. package/dist/indexers/LockIndexer.d.ts +11 -0
  98. package/dist/indexers/LockIndexer.d.ts.map +1 -0
  99. package/dist/indexers/LockIndexer.js +44 -0
  100. package/dist/indexers/LockIndexer.js.map +1 -0
  101. package/dist/indexers/MapIndexer.d.ts +14 -0
  102. package/dist/indexers/MapIndexer.d.ts.map +1 -0
  103. package/dist/indexers/MapIndexer.js +65 -0
  104. package/dist/indexers/MapIndexer.js.map +1 -0
  105. package/dist/indexers/OpNSIndexer.d.ts +10 -0
  106. package/dist/indexers/OpNSIndexer.d.ts.map +1 -0
  107. package/dist/indexers/OpNSIndexer.js +39 -0
  108. package/dist/indexers/OpNSIndexer.js.map +1 -0
  109. package/dist/indexers/OrdLockIndexer.d.ts +18 -0
  110. package/dist/indexers/OrdLockIndexer.d.ts.map +1 -0
  111. package/dist/indexers/OrdLockIndexer.js +65 -0
  112. package/dist/indexers/OrdLockIndexer.js.map +1 -0
  113. package/dist/indexers/OriginIndexer.d.ts +38 -0
  114. package/dist/indexers/OriginIndexer.d.ts.map +1 -0
  115. package/dist/indexers/OriginIndexer.js +241 -0
  116. package/dist/indexers/OriginIndexer.js.map +1 -0
  117. package/dist/indexers/Outpoint.d.ts +11 -0
  118. package/dist/indexers/Outpoint.d.ts.map +1 -0
  119. package/dist/indexers/Outpoint.js +62 -0
  120. package/dist/indexers/Outpoint.js.map +1 -0
  121. package/dist/indexers/SigmaIndexer.d.ts +29 -0
  122. package/dist/indexers/SigmaIndexer.d.ts.map +1 -0
  123. package/dist/indexers/SigmaIndexer.js +134 -0
  124. package/dist/indexers/SigmaIndexer.js.map +1 -0
  125. package/dist/indexers/index.d.ts +14 -0
  126. package/dist/indexers/index.d.ts.map +1 -0
  127. package/dist/indexers/index.js +14 -0
  128. package/dist/indexers/index.js.map +1 -0
  129. package/dist/indexers/parseAddress.d.ts +10 -0
  130. package/dist/indexers/parseAddress.d.ts.map +1 -0
  131. package/dist/indexers/parseAddress.js +25 -0
  132. package/dist/indexers/parseAddress.js.map +1 -0
  133. package/dist/node.d.ts +6 -0
  134. package/dist/node.d.ts.map +1 -0
  135. package/dist/node.js +6 -0
  136. package/dist/node.js.map +1 -0
  137. package/dist/signers/ReadOnlySigner.d.ts +16 -0
  138. package/dist/signers/ReadOnlySigner.d.ts.map +1 -0
  139. package/dist/signers/ReadOnlySigner.js +48 -0
  140. package/dist/signers/ReadOnlySigner.js.map +1 -0
  141. package/package.json +21 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneSatWallet.js","sourceRoot":"","sources":["../src/OneSatWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * AddressManager - Manages yours receive addresses using BRC-29 derivation format.
3
+ *
4
+ * Yours receive addresses are fixed, public addresses that users share publicly.
5
+ * They are derived deterministically from the identity key using:
6
+ * - derivationPrefix: "yours receive" (fixed)
7
+ * - derivationSuffix: "0", "1", "2", ... (sequential counter)
8
+ * - senderIdentityKey: our own identity public key (self-referential derivation)
9
+ *
10
+ * This allows:
11
+ * 1. Deterministic regeneration on wallet restore
12
+ * 2. Syncing external payments to these addresses
13
+ * 3. Auto-signing via BRC-29/ScriptTemplateBRC29 (wallet knows the derivation info)
14
+ *
15
+ * Address derivation is done externally (in yours-wallet) and passed to this class.
16
+ */
17
+ import { type WalletProtocol } from '@bsv/sdk';
18
+ /** Fixed prefix for yours receive addresses */
19
+ export declare const YOURS_PREFIX = "yours";
20
+ /** BRC-29 protocol ID - used by wallet-toolbox for key derivation and signing */
21
+ export declare const BRC29_PROTOCOL_ID: WalletProtocol;
22
+ /**
23
+ * Derivation info for a yours receive address.
24
+ * This is what's needed for internalizeAction's paymentRemittance.
25
+ */
26
+ export interface AddressDerivation {
27
+ /** The Bitcoin address (base58check) */
28
+ address: string;
29
+ /** The key index (0, 1, 2, etc.) for internal lookups */
30
+ index: number;
31
+ /** Base64-encoded derivation prefix (e.g., base64("yours receive")) */
32
+ derivationPrefix: string;
33
+ /** Base64-encoded derivation suffix (e.g., base64("0"), base64("1"), etc.) */
34
+ derivationSuffix: string;
35
+ /** Our own identity public key (self-referential) */
36
+ senderIdentityKey: string;
37
+ /** The public key for this address */
38
+ publicKey: string;
39
+ }
40
+ /**
41
+ * AddressManager manages yours receive addresses.
42
+ * Accepts pre-derived addresses - derivation is done externally.
43
+ */
44
+ export declare class AddressManager {
45
+ private addressMap;
46
+ private maxKeyIndex;
47
+ /**
48
+ * @param derivations - Pre-derived address derivations
49
+ */
50
+ constructor(derivations: AddressDerivation[]);
51
+ /**
52
+ * Add a new address derivation.
53
+ */
54
+ addAddress(derivation: AddressDerivation): void;
55
+ /**
56
+ * Get the current max key index.
57
+ * This should be persisted to chrome.storage.
58
+ */
59
+ getMaxKeyIndex(): number;
60
+ /**
61
+ * Get all known addresses.
62
+ */
63
+ getAddresses(): string[];
64
+ /**
65
+ * Get derivation info for an address, or undefined if not ours.
66
+ */
67
+ getDerivation(address: string): AddressDerivation | undefined;
68
+ /**
69
+ * Check if an address belongs to this wallet.
70
+ */
71
+ isOurAddress(address: string): boolean;
72
+ /**
73
+ * Get the primary receive address (index 0).
74
+ */
75
+ getPrimaryAddress(): string | undefined;
76
+ /**
77
+ * Get address at a specific index.
78
+ */
79
+ getAddressAtIndex(index: number): AddressDerivation | undefined;
80
+ /**
81
+ * Build the locking script for an address at a specific index.
82
+ * Useful for verifying outputs match expected scripts.
83
+ */
84
+ getLockingScriptAtIndex(index: number): string | undefined;
85
+ }
86
+ //# sourceMappingURL=AddressManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressManager.d.ts","sourceRoot":"","sources":["../../src/address-sync/AddressManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAErD,+CAA+C;AAC/C,eAAO,MAAM,YAAY,UAAU,CAAA;AAEnC,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,cAAoC,CAAA;AAEpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAA;IACxB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAA;IACxB,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAA;IACzB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,WAAW,CAAK;IAExB;;OAEG;gBACS,WAAW,EAAE,iBAAiB,EAAE;IAS5C;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAO/C;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI7D;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAItC;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS;IASvC;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAS/D;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAO1D"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * AddressManager - Manages yours receive addresses using BRC-29 derivation format.
3
+ *
4
+ * Yours receive addresses are fixed, public addresses that users share publicly.
5
+ * They are derived deterministically from the identity key using:
6
+ * - derivationPrefix: "yours receive" (fixed)
7
+ * - derivationSuffix: "0", "1", "2", ... (sequential counter)
8
+ * - senderIdentityKey: our own identity public key (self-referential derivation)
9
+ *
10
+ * This allows:
11
+ * 1. Deterministic regeneration on wallet restore
12
+ * 2. Syncing external payments to these addresses
13
+ * 3. Auto-signing via BRC-29/ScriptTemplateBRC29 (wallet knows the derivation info)
14
+ *
15
+ * Address derivation is done externally (in yours-wallet) and passed to this class.
16
+ */
17
+ import { P2PKH } from '@bsv/sdk';
18
+ /** Fixed prefix for yours receive addresses */
19
+ export const YOURS_PREFIX = 'yours';
20
+ /** BRC-29 protocol ID - used by wallet-toolbox for key derivation and signing */
21
+ export const BRC29_PROTOCOL_ID = [2, '3241645161d8'];
22
+ /**
23
+ * AddressManager manages yours receive addresses.
24
+ * Accepts pre-derived addresses - derivation is done externally.
25
+ */
26
+ export class AddressManager {
27
+ addressMap = new Map();
28
+ maxKeyIndex = -1;
29
+ /**
30
+ * @param derivations - Pre-derived address derivations
31
+ */
32
+ constructor(derivations) {
33
+ for (const derivation of derivations) {
34
+ this.addressMap.set(derivation.address, derivation);
35
+ if (derivation.index > this.maxKeyIndex) {
36
+ this.maxKeyIndex = derivation.index;
37
+ }
38
+ }
39
+ }
40
+ /**
41
+ * Add a new address derivation.
42
+ */
43
+ addAddress(derivation) {
44
+ this.addressMap.set(derivation.address, derivation);
45
+ if (derivation.index > this.maxKeyIndex) {
46
+ this.maxKeyIndex = derivation.index;
47
+ }
48
+ }
49
+ /**
50
+ * Get the current max key index.
51
+ * This should be persisted to chrome.storage.
52
+ */
53
+ getMaxKeyIndex() {
54
+ return this.maxKeyIndex;
55
+ }
56
+ /**
57
+ * Get all known addresses.
58
+ */
59
+ getAddresses() {
60
+ return Array.from(this.addressMap.keys());
61
+ }
62
+ /**
63
+ * Get derivation info for an address, or undefined if not ours.
64
+ */
65
+ getDerivation(address) {
66
+ return this.addressMap.get(address);
67
+ }
68
+ /**
69
+ * Check if an address belongs to this wallet.
70
+ */
71
+ isOurAddress(address) {
72
+ return this.addressMap.has(address);
73
+ }
74
+ /**
75
+ * Get the primary receive address (index 0).
76
+ */
77
+ getPrimaryAddress() {
78
+ for (const derivation of this.addressMap.values()) {
79
+ if (derivation.index === 0) {
80
+ return derivation.address;
81
+ }
82
+ }
83
+ return undefined;
84
+ }
85
+ /**
86
+ * Get address at a specific index.
87
+ */
88
+ getAddressAtIndex(index) {
89
+ for (const derivation of this.addressMap.values()) {
90
+ if (derivation.index === index) {
91
+ return derivation;
92
+ }
93
+ }
94
+ return undefined;
95
+ }
96
+ /**
97
+ * Build the locking script for an address at a specific index.
98
+ * Useful for verifying outputs match expected scripts.
99
+ */
100
+ getLockingScriptAtIndex(index) {
101
+ const derivation = this.getAddressAtIndex(index);
102
+ if (!derivation)
103
+ return undefined;
104
+ const p2pkh = new P2PKH();
105
+ return p2pkh.lock(derivation.address).toHex();
106
+ }
107
+ }
108
+ //# sourceMappingURL=AddressManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressManager.js","sourceRoot":"","sources":["../../src/address-sync/AddressManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAuB,MAAM,UAAU,CAAA;AAErD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAA;AAEnC,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;AAqBpE;;;GAGG;AACH,MAAM,OAAO,cAAc;IAClB,UAAU,GAAmC,IAAI,GAAG,EAAE,CAAA;IACtD,WAAW,GAAG,CAAC,CAAC,CAAA;IAExB;;OAEG;IACH,YAAY,WAAgC;QAC3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACnD,IAAI,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAA;YACpC,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAA6B;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QACnD,IAAI,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAA;QACpC,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,cAAc;QACb,OAAO,IAAI,CAAC,WAAW,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,YAAY;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,iBAAiB;QAChB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,UAAU,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,UAAU,CAAC,OAAO,CAAA;YAC1B,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAa;QAC9B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAChC,OAAO,UAAU,CAAA;YAClB,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAA;QAEjC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;IAC9C,CAAC;CACD"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * AddressSyncManager - Syncs external transactions to the BRC-100 wallet.
3
+ *
4
+ * Split into two components for Chrome extension compatibility:
5
+ * - AddressSyncFetcher: Calls SSE endpoint and enqueues txids (runs in UI context)
6
+ * - AddressSyncProcessor: Processes queue and internalizes outputs (runs in service worker)
7
+ *
8
+ * This separation is necessary because EventSource (SSE) doesn't work reliably
9
+ * in Chrome extension service workers due to their ephemeral nature.
10
+ */
11
+ import type { OneSatServices } from '@1sat/client';
12
+ import type { AddressSyncQueueStorage, Indexer } from '@1sat/types';
13
+ import type { WalletInterface } from '@bsv/sdk';
14
+ import type { AddressManager } from './AddressManager';
15
+ export interface AddressSyncFetcherOptions {
16
+ /** 1sat services for SSE stream */
17
+ services: OneSatServices;
18
+ /** Sync queue storage (IndexedDB) */
19
+ syncQueue: AddressSyncQueueStorage;
20
+ /** Address manager for getting addresses to sync */
21
+ addressManager: AddressManager;
22
+ }
23
+ export interface AddressSyncFetcherEvents {
24
+ 'fetch:start': {
25
+ addresses: string[];
26
+ };
27
+ 'fetch:queued': {
28
+ outpoint: string;
29
+ score: number;
30
+ };
31
+ 'fetch:complete': {
32
+ queuedCount: number;
33
+ };
34
+ 'fetch:error': {
35
+ message: string;
36
+ };
37
+ }
38
+ type AddressSyncFetcherEventListener<K extends keyof AddressSyncFetcherEvents> = (data: AddressSyncFetcherEvents[K]) => void;
39
+ /**
40
+ * AddressSyncFetcher - Fetches outputs via SSE and enqueues them.
41
+ *
42
+ * Run this from the UI context (popup) when the wallet opens.
43
+ * It will fetch all new outputs since the last sync and add them to the queue.
44
+ */
45
+ export declare class AddressSyncFetcher {
46
+ private services;
47
+ private syncQueue;
48
+ private addressManager;
49
+ private unsubscribeStream;
50
+ private listeners;
51
+ constructor(options: AddressSyncFetcherOptions);
52
+ on<K extends keyof AddressSyncFetcherEvents>(event: K, listener: AddressSyncFetcherEventListener<K>): void;
53
+ off<K extends keyof AddressSyncFetcherEvents>(event: K, listener: AddressSyncFetcherEventListener<K>): void;
54
+ private emit;
55
+ /**
56
+ * Fetch new outputs via SSE and enqueue them.
57
+ * Returns when the stream completes (all historical data fetched).
58
+ */
59
+ fetch(currentHeight: number): Promise<number>;
60
+ /**
61
+ * Stop the SSE stream if running.
62
+ */
63
+ stop(): void;
64
+ private handleSyncOutput;
65
+ }
66
+ export interface AddressSyncProcessorOptions {
67
+ /** The BRC-100 wallet to internalize to */
68
+ wallet: WalletInterface;
69
+ /** 1sat services for transaction fetching */
70
+ services: OneSatServices;
71
+ /** Sync queue storage (IndexedDB) */
72
+ syncQueue: AddressSyncQueueStorage;
73
+ /** Address manager for yours receive addresses */
74
+ addressManager: AddressManager;
75
+ /** Network: mainnet or testnet */
76
+ network: 'mainnet' | 'testnet';
77
+ /** Batch size for queue processing (default: 20) */
78
+ batchSize?: number;
79
+ /** Custom indexers (optional, uses defaults if not provided) */
80
+ indexers?: Indexer[];
81
+ }
82
+ export interface AddressSyncProcessorEvents {
83
+ 'process:start': Record<string, never>;
84
+ 'process:progress': {
85
+ pending: number;
86
+ done: number;
87
+ failed: number;
88
+ };
89
+ 'process:complete': Record<string, never>;
90
+ 'process:error': {
91
+ message: string;
92
+ };
93
+ 'process:parsed': {
94
+ internalizedCount: number;
95
+ };
96
+ }
97
+ type AddressSyncProcessorEventListener<K extends keyof AddressSyncProcessorEvents> = (data: AddressSyncProcessorEvents[K]) => void;
98
+ /**
99
+ * AddressSyncProcessor - Processes the sync queue and internalizes outputs.
100
+ *
101
+ * Run this from the service worker. It will process items from the queue
102
+ * until the queue is empty or stop() is called.
103
+ */
104
+ export declare class AddressSyncProcessor {
105
+ private wallet;
106
+ private services;
107
+ private syncQueue;
108
+ private addressManager;
109
+ private network;
110
+ private batchSize;
111
+ private indexers;
112
+ private processorRunning;
113
+ private stopRequested;
114
+ private listeners;
115
+ constructor(options: AddressSyncProcessorOptions);
116
+ on<K extends keyof AddressSyncProcessorEvents>(event: K, listener: AddressSyncProcessorEventListener<K>): void;
117
+ off<K extends keyof AddressSyncProcessorEvents>(event: K, listener: AddressSyncProcessorEventListener<K>): void;
118
+ private emit;
119
+ /**
120
+ * Start processing the queue.
121
+ * Processes until queue is empty or stop() is called.
122
+ */
123
+ start(): Promise<void>;
124
+ /**
125
+ * Stop processing the queue.
126
+ */
127
+ stop(): void;
128
+ /**
129
+ * Check if processor is currently running.
130
+ */
131
+ isRunning(): boolean;
132
+ private processQueueLoop;
133
+ private processTxid;
134
+ private parseTransaction;
135
+ private buildInternalizeOutput;
136
+ private collectTags;
137
+ }
138
+ export interface AddressSyncManagerOptions {
139
+ /** The BRC-100 wallet to internalize to */
140
+ wallet: WalletInterface;
141
+ /** 1sat services for SSE stream and transaction fetching */
142
+ services: OneSatServices;
143
+ /** Sync queue storage (IndexedDB or SQLite) */
144
+ syncQueue: AddressSyncQueueStorage;
145
+ /** Address manager for yours receive addresses */
146
+ addressManager: AddressManager;
147
+ /** Network: mainnet or testnet */
148
+ network: 'mainnet' | 'testnet';
149
+ /** Batch size for queue processing (default: 20) */
150
+ batchSize?: number;
151
+ /** Custom indexers (optional, uses defaults if not provided) */
152
+ indexers?: Indexer[];
153
+ }
154
+ export interface AddressSyncEvents {
155
+ 'sync:start': {
156
+ addresses: string[];
157
+ };
158
+ 'sync:progress': {
159
+ pending: number;
160
+ done: number;
161
+ failed: number;
162
+ };
163
+ 'sync:complete': Record<string, never>;
164
+ 'sync:error': {
165
+ message: string;
166
+ };
167
+ 'sync:parsed': {
168
+ internalizedCount: number;
169
+ };
170
+ }
171
+ type AddressSyncEventListener<K extends keyof AddressSyncEvents> = (data: AddressSyncEvents[K]) => void;
172
+ /**
173
+ * AddressSyncManager - Class that combines SSE fetching and queue processing.
174
+ *
175
+ * For Chrome extensions, use AddressSyncFetcher (UI) and AddressSyncProcessor
176
+ * (service worker) separately since EventSource doesn't work reliably in service workers.
177
+ */
178
+ export declare class AddressSyncManager {
179
+ private fetcher;
180
+ private processor;
181
+ private wallet;
182
+ private addressManager;
183
+ private listeners;
184
+ private fetchPromise;
185
+ constructor(options: AddressSyncManagerOptions);
186
+ private setupEventForwarding;
187
+ on<K extends keyof AddressSyncEvents>(event: K, listener: AddressSyncEventListener<K>): void;
188
+ off<K extends keyof AddressSyncEvents>(event: K, listener: AddressSyncEventListener<K>): void;
189
+ private emit;
190
+ /**
191
+ * Start syncing - opens SSE stream and starts queue processor.
192
+ */
193
+ sync(): Promise<void>;
194
+ /**
195
+ * Stop syncing - closes SSE stream and stops queue processor.
196
+ */
197
+ stop(): void;
198
+ /**
199
+ * Check if sync is currently running.
200
+ */
201
+ isSyncing(): boolean;
202
+ }
203
+ export {};
204
+ //# sourceMappingURL=AddressSyncManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressSyncManager.d.ts","sourceRoot":"","sources":["../../src/address-sync/AddressSyncManager.ts"],"names":[],"mappings":"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"}