@bsv/wallet-toolbox 1.1.23 → 1.1.25

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 (201) hide show
  1. package/docs/client.md +2404 -870
  2. package/docs/setup.md +102 -134
  3. package/docs/wallet.md +2404 -870
  4. package/out/src/CWIStyleWalletManager.d.ts +411 -0
  5. package/out/src/CWIStyleWalletManager.d.ts.map +1 -0
  6. package/out/src/CWIStyleWalletManager.js +1131 -0
  7. package/out/src/CWIStyleWalletManager.js.map +1 -0
  8. package/out/src/Setup.d.ts +252 -8
  9. package/out/src/Setup.d.ts.map +1 -1
  10. package/out/src/Setup.js +299 -5
  11. package/out/src/Setup.js.map +1 -1
  12. package/out/src/SetupClient.d.ts +2 -16
  13. package/out/src/SetupClient.d.ts.map +1 -1
  14. package/out/src/SetupClient.js +8 -72
  15. package/out/src/SetupClient.js.map +1 -1
  16. package/out/src/SimpleWalletManager.d.ts +169 -0
  17. package/out/src/SimpleWalletManager.d.ts.map +1 -0
  18. package/out/src/SimpleWalletManager.js +315 -0
  19. package/out/src/SimpleWalletManager.js.map +1 -0
  20. package/out/src/Wallet.d.ts +6 -1
  21. package/out/src/Wallet.d.ts.map +1 -1
  22. package/out/src/Wallet.js +29 -2
  23. package/out/src/Wallet.js.map +1 -1
  24. package/out/src/WalletAuthenticationManager.d.ts +33 -0
  25. package/out/src/WalletAuthenticationManager.d.ts.map +1 -0
  26. package/out/src/WalletAuthenticationManager.js +107 -0
  27. package/out/src/WalletAuthenticationManager.js.map +1 -0
  28. package/out/src/WalletPermissionsManager.d.ts +575 -0
  29. package/out/src/WalletPermissionsManager.d.ts.map +1 -0
  30. package/out/src/WalletPermissionsManager.js +1807 -0
  31. package/out/src/WalletPermissionsManager.js.map +1 -0
  32. package/out/src/WalletSettingsManager.d.ts +59 -0
  33. package/out/src/WalletSettingsManager.d.ts.map +1 -0
  34. package/out/src/WalletSettingsManager.js +168 -0
  35. package/out/src/WalletSettingsManager.js.map +1 -0
  36. package/out/src/__tests/CWIStyleWalletManager.test.d.ts +2 -0
  37. package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +1 -0
  38. package/out/src/__tests/CWIStyleWalletManager.test.js +472 -0
  39. package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -0
  40. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +2 -0
  41. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +1 -0
  42. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +239 -0
  43. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +1 -0
  44. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +2 -0
  45. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +1 -0
  46. package/out/src/__tests/WalletPermissionsManager.checks.test.js +644 -0
  47. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +1 -0
  48. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +2 -0
  49. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +1 -0
  50. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +295 -0
  51. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +1 -0
  52. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +82 -0
  53. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -0
  54. package/out/src/__tests/WalletPermissionsManager.fixtures.js +260 -0
  55. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -0
  56. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +2 -0
  57. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +1 -0
  58. package/out/src/__tests/WalletPermissionsManager.flows.test.js +389 -0
  59. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +1 -0
  60. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +2 -0
  61. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +1 -0
  62. package/out/src/__tests/WalletPermissionsManager.initialization.test.js +227 -0
  63. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -0
  64. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +2 -0
  65. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +1 -0
  66. package/out/src/__tests/WalletPermissionsManager.proxying.test.js +566 -0
  67. package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +1 -0
  68. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +2 -0
  69. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +1 -0
  70. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +460 -0
  71. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +1 -0
  72. package/out/src/index.all.d.ts +9 -1
  73. package/out/src/index.all.d.ts.map +1 -1
  74. package/out/src/index.all.js +10 -3
  75. package/out/src/index.all.js.map +1 -1
  76. package/out/src/index.client.d.ts +9 -1
  77. package/out/src/index.client.d.ts.map +1 -1
  78. package/out/src/index.client.js +10 -3
  79. package/out/src/index.client.js.map +1 -1
  80. package/out/src/utility/identityUtils.d.ts +31 -0
  81. package/out/src/utility/identityUtils.d.ts.map +1 -0
  82. package/out/src/utility/identityUtils.js +114 -0
  83. package/out/src/utility/identityUtils.js.map +1 -0
  84. package/out/src/wab-client/WABClient.d.ts +38 -0
  85. package/out/src/wab-client/WABClient.d.ts.map +1 -0
  86. package/out/src/wab-client/WABClient.js +95 -0
  87. package/out/src/wab-client/WABClient.js.map +1 -0
  88. package/out/src/wab-client/__tests/WABClient.test.d.ts +2 -0
  89. package/out/src/wab-client/__tests/WABClient.test.d.ts.map +1 -0
  90. package/out/src/wab-client/__tests/WABClient.test.js +47 -0
  91. package/out/src/wab-client/__tests/WABClient.test.js.map +1 -0
  92. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
  93. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
  94. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
  95. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
  96. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
  97. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
  98. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +40 -0
  99. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
  100. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
  101. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
  102. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +73 -0
  103. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
  104. package/out/test/Wallet/action/abortAction.test.d.ts.map +1 -0
  105. package/out/test/{wallet → Wallet}/action/abortAction.test.js.map +1 -1
  106. package/out/test/Wallet/action/createAction.test.d.ts.map +1 -0
  107. package/out/test/{wallet → Wallet}/action/createAction.test.js.map +1 -1
  108. package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts.map +1 -1
  109. package/out/test/{wallet → Wallet}/action/createAction2.test.js.map +1 -1
  110. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
  111. package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
  112. package/out/test/Wallet/action/internalizeAction.test.d.ts.map +1 -0
  113. package/out/test/{wallet → Wallet}/action/internalizeAction.test.js.map +1 -1
  114. package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +1 -0
  115. package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js.map +1 -1
  116. package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
  117. package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js.map +1 -1
  118. package/out/test/Wallet/list/listActions.test.d.ts.map +1 -0
  119. package/out/test/{wallet → Wallet}/list/listActions.test.js.map +1 -1
  120. package/out/test/Wallet/list/listActions2.test.d.ts.map +1 -0
  121. package/out/test/{wallet → Wallet}/list/listActions2.test.js.map +1 -1
  122. package/out/test/Wallet/list/listCertificates.test.d.ts.map +1 -0
  123. package/out/test/{wallet → Wallet}/list/listCertificates.test.js.map +1 -1
  124. package/out/test/Wallet/list/listOutputs.test.d.ts.map +1 -0
  125. package/out/test/{wallet → Wallet}/list/listOutputs.test.js.map +1 -1
  126. package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +1 -0
  127. package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js.map +1 -1
  128. package/out/tsconfig.all.tsbuildinfo +1 -1
  129. package/package.json +3 -3
  130. package/src/CWIStyleWalletManager.ts +1891 -0
  131. package/src/Setup.ts +514 -8
  132. package/src/SimpleWalletManager.ts +553 -0
  133. package/src/Wallet.ts +47 -3
  134. package/src/WalletAuthenticationManager.ts +183 -0
  135. package/src/WalletPermissionsManager.ts +2639 -0
  136. package/src/WalletSettingsManager.ts +241 -0
  137. package/src/__tests/CWIStyleWalletManager.test.ts +709 -0
  138. package/src/__tests/WalletPermissionsManager.callbacks.test.ts +328 -0
  139. package/src/__tests/WalletPermissionsManager.checks.test.ts +857 -0
  140. package/src/__tests/WalletPermissionsManager.encryption.test.ts +407 -0
  141. package/src/__tests/WalletPermissionsManager.fixtures.ts +283 -0
  142. package/src/__tests/WalletPermissionsManager.flows.test.ts +490 -0
  143. package/src/__tests/WalletPermissionsManager.initialization.test.ts +333 -0
  144. package/src/__tests/WalletPermissionsManager.proxying.test.ts +753 -0
  145. package/src/__tests/WalletPermissionsManager.tokens.test.ts +584 -0
  146. package/src/index.all.ts +9 -9
  147. package/src/index.client.ts +9 -1
  148. package/src/utility/identityUtils.ts +170 -0
  149. package/src/wab-client/WABClient.ts +103 -0
  150. package/src/wab-client/__tests/WABClient.test.ts +58 -0
  151. package/src/wab-client/auth-method-interactors/AuthMethodInteractor.ts +47 -0
  152. package/src/wab-client/auth-method-interactors/PersonaIDInteractor.ts +45 -0
  153. package/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.ts +82 -0
  154. package/out/test/wallet/action/abortAction.test.d.ts.map +0 -1
  155. package/out/test/wallet/action/createAction.test.d.ts.map +0 -1
  156. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
  157. package/out/test/wallet/action/internalizeAction.test.d.ts.map +0 -1
  158. package/out/test/wallet/action/relinquishOutput.test.d.ts.map +0 -1
  159. package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
  160. package/out/test/wallet/list/listActions.test.d.ts.map +0 -1
  161. package/out/test/wallet/list/listActions2.test.d.ts.map +0 -1
  162. package/out/test/wallet/list/listCertificates.test.d.ts.map +0 -1
  163. package/out/test/wallet/list/listOutputs.test.d.ts.map +0 -1
  164. package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +0 -1
  165. package/src/SetupClient.ts +0 -532
  166. /package/out/test/{wallet → Wallet}/action/abortAction.test.d.ts +0 -0
  167. /package/out/test/{wallet → Wallet}/action/abortAction.test.js +0 -0
  168. /package/out/test/{wallet → Wallet}/action/createAction.test.d.ts +0 -0
  169. /package/out/test/{wallet → Wallet}/action/createAction.test.js +0 -0
  170. /package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts +0 -0
  171. /package/out/test/{wallet → Wallet}/action/createAction2.test.js +0 -0
  172. /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
  173. /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
  174. /package/out/test/{wallet → Wallet}/action/internalizeAction.test.d.ts +0 -0
  175. /package/out/test/{wallet → Wallet}/action/internalizeAction.test.js +0 -0
  176. /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.d.ts +0 -0
  177. /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js +0 -0
  178. /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.d.ts +0 -0
  179. /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js +0 -0
  180. /package/out/test/{wallet → Wallet}/list/listActions.test.d.ts +0 -0
  181. /package/out/test/{wallet → Wallet}/list/listActions.test.js +0 -0
  182. /package/out/test/{wallet → Wallet}/list/listActions2.test.d.ts +0 -0
  183. /package/out/test/{wallet → Wallet}/list/listActions2.test.js +0 -0
  184. /package/out/test/{wallet → Wallet}/list/listCertificates.test.d.ts +0 -0
  185. /package/out/test/{wallet → Wallet}/list/listCertificates.test.js +0 -0
  186. /package/out/test/{wallet → Wallet}/list/listOutputs.test.d.ts +0 -0
  187. /package/out/test/{wallet → Wallet}/list/listOutputs.test.js +0 -0
  188. /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.d.ts +0 -0
  189. /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js +0 -0
  190. /package/test/{wallet → Wallet}/action/abortAction.test.ts +0 -0
  191. /package/test/{wallet → Wallet}/action/createAction.test.ts +0 -0
  192. /package/test/{wallet → Wallet}/action/createAction2.test.ts +0 -0
  193. /package/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.ts +0 -0
  194. /package/test/{wallet → Wallet}/action/internalizeAction.test.ts +0 -0
  195. /package/test/{wallet → Wallet}/action/relinquishOutput.test.ts +0 -0
  196. /package/test/{wallet → Wallet}/construct/Wallet.constructor.test.ts +0 -0
  197. /package/test/{wallet → Wallet}/list/listActions.test.ts +0 -0
  198. /package/test/{wallet → Wallet}/list/listActions2.test.ts +0 -0
  199. /package/test/{wallet → Wallet}/list/listCertificates.test.ts +0 -0
  200. /package/test/{wallet → Wallet}/list/listOutputs.test.ts +0 -0
  201. /package/test/{wallet → Wallet}/sync/Wallet.sync.test.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletPermissionsManager.js","sourceRoot":"","sources":["../../src/WalletPermissionsManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { PubKeyHex, WalletInterface } from '@bsv/sdk';
2
+ export interface Certifier {
3
+ name: string;
4
+ description: string;
5
+ identityKey: PubKeyHex;
6
+ trust: number;
7
+ iconUrl?: string;
8
+ baseURL?: string;
9
+ }
10
+ export interface TrustSettings {
11
+ trustLevel: number;
12
+ trustedCertifiers: Certifier[];
13
+ }
14
+ export interface WalletTheme {
15
+ mode: string;
16
+ }
17
+ export interface WalletSettings {
18
+ trustSettings: TrustSettings;
19
+ theme?: WalletTheme;
20
+ }
21
+ export interface WalletSettingsManagerConfig {
22
+ defaultSettings: WalletSettings;
23
+ }
24
+ export declare const DEFAULT_SETTINGS: WalletSettings;
25
+ export declare const TESTNET_DEFAULT_SETTINGS: WalletSettings;
26
+ /**
27
+ * Manages wallet settings
28
+ */
29
+ export declare class WalletSettingsManager {
30
+ private wallet;
31
+ private config;
32
+ constructor(wallet: WalletInterface, config?: WalletSettingsManagerConfig);
33
+ /**
34
+ * Returns a user's wallet settings
35
+ *
36
+ * @returns - Wallet settings object
37
+ */
38
+ get(): Promise<WalletSettings>;
39
+ /**
40
+ * Creates (or updates) the user's settings token.
41
+ *
42
+ * @param settings - The wallet settings to be stored.
43
+ */
44
+ set(settings: WalletSettings): Promise<void>;
45
+ /**
46
+ * Deletes the user's settings token.
47
+ */
48
+ delete(): Promise<void>;
49
+ /**
50
+ * Consumes an existing settings token.
51
+ * If a new locking script is provided, a new token is created with that script.
52
+ * Otherwise, the token is simply consumed (deleted).
53
+ *
54
+ * @param newLockingScript - Optional locking script for creating a new settings token.
55
+ * @returns {Promise<boolean>} - Returns false if no token was found; otherwise true.
56
+ */
57
+ private consumeToken;
58
+ }
59
+ //# sourceMappingURL=WalletSettingsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletSettingsManager.d.ts","sourceRoot":"","sources":["../../src/WalletSettingsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAIT,eAAe,EAEhB,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,SAAS,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,SAAS,EAAE,CAAA;CAC/B;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb;AACD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AACD,MAAM,WAAW,2BAA2B;IAC1C,eAAe,EAAE,cAAc,CAAA;CAChC;AASD,eAAO,MAAM,gBAAgB,EAgCxB,cAAc,CAAA;AAanB,eAAO,MAAM,wBAAwB,EAAE,cAatC,CAAA;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;gBADN,MAAM,EAAE,eAAe,EACvB,MAAM,GAAE,2BAEf;IAGH;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;IAoBpC;;;;OAIG;IACG,GAAG,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAelD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;;;;;;OAOG;YACW,YAAY;CAoE3B"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletSettingsManager = exports.TESTNET_DEFAULT_SETTINGS = exports.DEFAULT_SETTINGS = void 0;
4
+ const sdk_1 = require("@bsv/sdk");
5
+ const PROTOCOL_ID = [2, 'wallet settings'];
6
+ const KEY_ID = '1';
7
+ const SETTINGS_BASKET = 'wallet settings';
8
+ const TOKEN_AMOUNT = 1;
9
+ const OUTPUT_INDEX = 0;
10
+ // Defaults can be overridden as needed
11
+ exports.DEFAULT_SETTINGS = {
12
+ trustSettings: {
13
+ trustLevel: 2,
14
+ trustedCertifiers: [
15
+ {
16
+ name: 'Babbage Trust Services',
17
+ description: 'Resolves identity information for Babbage-run APIs and Bitcoin infrastructure.',
18
+ iconUrl: 'https://projectbabbage.com/favicon.ico',
19
+ identityKey: '028703956178067ea7ca405111f1ca698290a0112a3d7cf3d843e195bf58a7cfa6',
20
+ trust: 4
21
+ },
22
+ {
23
+ name: 'IdentiCert',
24
+ description: 'Certifies legal first and last name, and photos',
25
+ iconUrl: 'https://identicert.me/favicon.ico',
26
+ trust: 5,
27
+ identityKey: '0295bf1c7842d14babf60daf2c733956c331f9dcb2c79e41f85fd1dda6a3fa4549'
28
+ },
29
+ {
30
+ name: 'SocialCert',
31
+ description: 'Certifies social media handles, phone numbers and emails',
32
+ iconUrl: 'https://socialcert.net/favicon.ico',
33
+ trust: 3,
34
+ identityKey: '03285263f06139b66fb27f51cf8a92e9dd007c4c4b83876ad6c3e7028db450a4c2'
35
+ }
36
+ ]
37
+ },
38
+ theme: { mode: 'dark' }
39
+ };
40
+ // Mapping of certifier names to their testnet identity keys
41
+ const TESTNET_IDENTITY_KEYS = {
42
+ 'Babbage Trust Services': '03d0b36b5c98b000ec9ffed9a2cf005e279244edf6a19cf90545cdebe873162761',
43
+ IdentiCert: '036dc48522aba1705afbb43df3c04dbd1da373b6154341a875bceaa2a3e7f21528',
44
+ SocialCert: '02cf6cdf466951d8dfc9e7c9367511d0007ed6fba35ed42d425cc412fd6cfd4a17'
45
+ };
46
+ // Define defaults that can be imported for a testnet environment
47
+ exports.TESTNET_DEFAULT_SETTINGS = {
48
+ ...exports.DEFAULT_SETTINGS,
49
+ trustSettings: {
50
+ ...exports.DEFAULT_SETTINGS.trustSettings,
51
+ trustedCertifiers: exports.DEFAULT_SETTINGS.trustSettings.trustedCertifiers.map(certifier => ({
52
+ ...certifier,
53
+ // Use the testnet key if provided, otherwise fallback to the default
54
+ identityKey: TESTNET_IDENTITY_KEYS[certifier.name] || certifier.identityKey
55
+ }))
56
+ }
57
+ };
58
+ /**
59
+ * Manages wallet settings
60
+ */
61
+ class WalletSettingsManager {
62
+ constructor(wallet, config = {
63
+ defaultSettings: exports.DEFAULT_SETTINGS
64
+ }) {
65
+ this.wallet = wallet;
66
+ this.config = config;
67
+ }
68
+ /**
69
+ * Returns a user's wallet settings
70
+ *
71
+ * @returns - Wallet settings object
72
+ */
73
+ async get() {
74
+ // List outputs in the 'wallet-settings' basket
75
+ const results = await this.wallet.listOutputs({
76
+ basket: SETTINGS_BASKET,
77
+ include: 'locking scripts',
78
+ limit: 1 // There should only be one settings token
79
+ });
80
+ // Return defaults if no settings token is found
81
+ if (!results.outputs.length) {
82
+ return this.config.defaultSettings;
83
+ }
84
+ const { fields } = sdk_1.PushDrop.decode(sdk_1.LockingScript.fromHex(results.outputs[OUTPUT_INDEX].lockingScript));
85
+ // Parse and return settings token
86
+ return JSON.parse(sdk_1.Utils.toUTF8(fields[0]));
87
+ }
88
+ /**
89
+ * Creates (or updates) the user's settings token.
90
+ *
91
+ * @param settings - The wallet settings to be stored.
92
+ */
93
+ async set(settings) {
94
+ const pushdrop = new sdk_1.PushDrop(this.wallet);
95
+ // Build the new locking script with the updated settings JSON.
96
+ const lockingScript = await pushdrop.lock([sdk_1.Utils.toArray(JSON.stringify(settings), 'utf8')], PROTOCOL_ID, KEY_ID, 'self');
97
+ // Consume any existing token and create a new one with the new locking script.
98
+ await this.consumeToken(lockingScript);
99
+ }
100
+ /**
101
+ * Deletes the user's settings token.
102
+ */
103
+ async delete() {
104
+ // Consume the token; if none exists, consumeToken simply returns.
105
+ await this.consumeToken();
106
+ }
107
+ /**
108
+ * Consumes an existing settings token.
109
+ * If a new locking script is provided, a new token is created with that script.
110
+ * Otherwise, the token is simply consumed (deleted).
111
+ *
112
+ * @param newLockingScript - Optional locking script for creating a new settings token.
113
+ * @returns {Promise<boolean>} - Returns false if no token was found; otherwise true.
114
+ */
115
+ async consumeToken(newLockingScript) {
116
+ const pushdrop = new sdk_1.PushDrop(this.wallet);
117
+ // 1. List the existing token UTXO(s) for the settings basket.
118
+ const existingUtxos = await this.wallet.listOutputs({
119
+ basket: SETTINGS_BASKET,
120
+ limit: 1
121
+ });
122
+ if (!existingUtxos.outputs.length) {
123
+ // No token exists – nothing to consume.
124
+ return false;
125
+ }
126
+ // 2. Prepare the token UTXO for consumption.
127
+ const tokenOutput = existingUtxos.outputs[OUTPUT_INDEX];
128
+ const inputToConsume = {
129
+ outpoint: tokenOutput.outpoint,
130
+ unlockingScriptLength: 73,
131
+ inputDescription: 'Consume old settings token',
132
+ lockingScript: tokenOutput.lockingScript
133
+ };
134
+ // 3. Build the outputs array: if a new locking script is provided, add an output.
135
+ const outputs = newLockingScript
136
+ ? [
137
+ {
138
+ satoshis: TOKEN_AMOUNT,
139
+ lockingScript: newLockingScript.toHex(),
140
+ outputDescription: 'Wallet settings token',
141
+ basket: SETTINGS_BASKET
142
+ }
143
+ ]
144
+ : [];
145
+ // 4. Create a signable transaction action using the inputs and (optionally) outputs.
146
+ const { signableTransaction } = await this.wallet.createAction({
147
+ description: '',
148
+ inputs: [inputToConsume],
149
+ outputs
150
+ });
151
+ const tx = sdk_1.Transaction.fromBEEF(signableTransaction.tx);
152
+ // 5. Build and sign the unlocking script for the token being consumed.
153
+ const unlocker = pushdrop.unlock(PROTOCOL_ID, KEY_ID, 'self', 'all', false, TOKEN_AMOUNT, sdk_1.LockingScript.fromHex(tokenOutput.lockingScript));
154
+ const unlockingScript = await unlocker.sign(tx, OUTPUT_INDEX);
155
+ // 6. Sign the transaction using our unlocking script.
156
+ await this.wallet.signAction({
157
+ reference: signableTransaction.reference,
158
+ spends: {
159
+ [OUTPUT_INDEX]: {
160
+ unlockingScript: unlockingScript.toHex()
161
+ }
162
+ }
163
+ });
164
+ return true;
165
+ }
166
+ }
167
+ exports.WalletSettingsManager = WalletSettingsManager;
168
+ //# sourceMappingURL=WalletSettingsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletSettingsManager.js","sourceRoot":"","sources":["../../src/WalletSettingsManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CWIStyleWalletManager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CWIStyleWalletManager.test.d.ts","sourceRoot":"","sources":["../../../src/__tests/CWIStyleWalletManager.test.ts"],"names":[],"mappings":""}