@1sat/wallet 0.0.43 → 0.0.45

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.
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAc,KAAK,UAAU,EAAwB,MAAM,UAAU,CAAA;AAC5E,OAAO,KAAK,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAI5D,KAAK,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAA;AAE7D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnC,eAAO,MAAM,iBAAiB;;;CAA2C,CAAA;AACzE,eAAO,MAAM,0BAA0B,OAAO,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CACjE;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;IAClC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,QAAQ,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,qBAAqB,GAAG,SAAS,EAC/C,OAAO,EAAE;IACR,QAAQ,EAAE,GAAG,CAAA;IACb,aAAa,EAAE,GAAG,CAAA;IAClB,eAAe,EAAE,GAAG,CAAA;IACpB,MAAM,EAAE,GAAG,CAAA;IACX,oBAAoB,EAAE,GAAG,CAAA;IACzB,OAAO,CAAC,EAAE,GAAG,CAAA;CACb,GACC,OAAO,CAAC,gBAAgB,CAAC,CAyI3B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAc,KAAK,UAAU,EAAwB,MAAM,UAAU,CAAA;AAC5E,OAAO,KAAK,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAI5D,KAAK,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAA;AAE7D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnC,eAAO,MAAM,iBAAiB;;;CAA2C,CAAA;AACzE,eAAO,MAAM,0BAA0B,OAAO,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CACjE;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;IAClC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,QAAQ,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,qBAAqB,GAAG,SAAS,EAC/C,OAAO,EAAE;IACR,QAAQ,EAAE,GAAG,CAAA;IACb,aAAa,EAAE,GAAG,CAAA;IAClB,eAAe,EAAE,GAAG,CAAA;IACpB,MAAM,EAAE,GAAG,CAAA;IACX,oBAAoB,EAAE,GAAG,CAAA;IACzB,OAAO,CAAC,EAAE,GAAG,CAAA;CACb,GACC,OAAO,CAAC,gBAAgB,CAAC,CAyJ3B"}
package/dist/factory.js CHANGED
@@ -70,7 +70,9 @@ export async function createWalletCore(config, localStorage, toolbox) {
70
70
  wallet.createAction = async (args) => {
71
71
  const result = await originalCreateAction(args);
72
72
  if (result.txid) {
73
- storage.updateBackups().catch(() => { });
73
+ storage.updateBackups().catch((err) => {
74
+ console.error('[wallet-core] post-action backup failed:', err);
75
+ });
74
76
  }
75
77
  return result;
76
78
  };
@@ -78,12 +80,26 @@ export async function createWalletCore(config, localStorage, toolbox) {
78
80
  wallet.signAction = async (args) => {
79
81
  const result = await originalSignAction(args);
80
82
  if (result.txid) {
81
- storage.updateBackups().catch(() => { });
83
+ storage.updateBackups().catch((err) => {
84
+ console.error('[wallet-core] post-action backup failed:', err);
85
+ });
82
86
  }
83
87
  return result;
84
88
  };
85
89
  };
86
90
  wireBackupInterception();
91
+ // Initial backup sync: push current active state into every backup store
92
+ // so fresh or wiped backups are populated before the wallet is used.
93
+ // Never fail wallet creation on backup failure — the active store is
94
+ // already usable; the caller can retry sync via updateBackups() later.
95
+ if (storage.getBackupStores().length > 0) {
96
+ try {
97
+ await storage.updateBackups();
98
+ }
99
+ catch (err) {
100
+ console.error('[wallet-core] initial backup sync failed:', err);
101
+ }
102
+ }
87
103
  // 6. migrateRemote implementation
88
104
  const migrateRemote = async (url) => {
89
105
  const existing = remoteClients.find((c) => c.endpointUrl === url);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { WalletInterface } from '@bsv/sdk';
2
- import { type CounterpartyPermissionEventHandler, type GroupedPermissionEventHandler, type PermissionEventHandler, type PermissionsManagerConfig, WalletPermissionsManager, type WalletPermissionsManagerCallbacks } from '@bsv/wallet-toolbox/out/src/index.client.js';
1
+ import type { WalletInterface, WalletProtocol } from '@bsv/sdk';
2
+ import { type CounterpartyPermissionEventHandler, type GroupedPermissionEventHandler, type PermissionEventHandler, type PermissionToken, type PermissionsManagerConfig, WalletPermissionsManager, type WalletPermissionsManagerCallbacks } from '@bsv/wallet-toolbox/out/src/index.client.js';
3
3
  import type { IPermissionStore } from './types';
4
4
  export interface LocalWalletPermissionsManagerOptions {
5
5
  /** Store grants are persisted into and read from. */
@@ -14,16 +14,25 @@ type AnyPermissionEventHandler = PermissionEventHandler | GroupedPermissionEvent
14
14
  * and keep every other call the same (`bindCallback`, `grantPermission`,
15
15
  * `denyPermission`, etc.).
16
16
  *
17
- * Behavior:
18
- * - Store-hit short-circuits the prompt callback: `grantPermission` is
19
- * invoked silently with `ephemeral: true` and the user's handler never
20
- * runs.
21
- * - Store-miss falls through to the user's handler as normal. When the
22
- * handler calls `grantPermission(...)` on approve, the grant is written
23
- * to the store and forwarded to the base class with `ephemeral: true`
24
- * so nothing is minted on chain.
25
- * - Counterparty pact grants pass through unchanged — those still go
26
- * on-chain by design.
17
+ * Reads:
18
+ * - `ensure*Access` checks the local store first; on miss it delegates to
19
+ * super (which then consults its own cache, on-chain tokens, and falls
20
+ * through to firing a prompt). Existing on-chain grants are honored.
21
+ * - Because super's grouped-permission filter calls back through
22
+ * `this.has*Access` `this.ensure*Access`, our overrides are picked up
23
+ * polymorphically and the connect-time grouped prompt only requests
24
+ * permissions still missing from the store.
25
+ *
26
+ * Writes:
27
+ * - `grantPermission` writes to the store and resolves super's pending
28
+ * request via `super.grantPermission({ ephemeral: true })` (no on-chain
29
+ * mint, no cache write).
30
+ * - `grantGroupedPermission` writes each granted sub-permission to the
31
+ * store and resolves super's pending request via
32
+ * `super.dismissGroupedPermission` (no on-chain mint).
33
+ *
34
+ * Counterparty pact grants pass through to super unchanged — those still go
35
+ * on-chain by design.
27
36
  */
28
37
  export declare class LocalWalletPermissionsManager extends WalletPermissionsManager {
29
38
  private readonly permissionStore;
@@ -31,10 +40,49 @@ export declare class LocalWalletPermissionsManager extends WalletPermissionsMana
31
40
  private readonly pendingGrouped;
32
41
  constructor(underlyingWallet: WalletInterface, adminOriginator: string, config: PermissionsManagerConfig | undefined, options: LocalWalletPermissionsManagerOptions);
33
42
  bindCallback(eventName: keyof WalletPermissionsManagerCallbacks, handler: AnyPermissionEventHandler): number;
43
+ ensureProtocolPermission(args: {
44
+ originator: string;
45
+ privileged: boolean;
46
+ protocolID: WalletProtocol;
47
+ counterparty: string;
48
+ reason?: string;
49
+ seekPermission?: boolean;
50
+ usageType: 'signing' | 'encrypting' | 'hmac' | 'publicKey' | 'identityKey' | 'linkageRevelation' | 'generic';
51
+ }): Promise<boolean>;
52
+ ensureBasketAccess(args: {
53
+ originator: string;
54
+ basket: string;
55
+ reason?: string;
56
+ seekPermission?: boolean;
57
+ usageType: 'insertion' | 'removal' | 'listing';
58
+ }): Promise<boolean>;
59
+ ensureCertificateAccess(args: {
60
+ originator: string;
61
+ privileged: boolean;
62
+ verifier: string;
63
+ certType: string;
64
+ fields: string[];
65
+ reason?: string;
66
+ seekPermission?: boolean;
67
+ usageType: 'disclosure';
68
+ }): Promise<boolean>;
69
+ ensureSpendingAuthorization(args: {
70
+ originator: string;
71
+ satoshis: number;
72
+ lineItems?: Array<{
73
+ type: 'input' | 'output' | 'fee';
74
+ description: string;
75
+ satoshis: number;
76
+ }>;
77
+ reason?: string;
78
+ seekPermission?: boolean;
79
+ }): Promise<boolean>;
80
+ private storeHit;
34
81
  grantPermission(params: {
35
82
  requestID: string;
36
83
  expiry?: number;
37
84
  ephemeral?: boolean;
85
+ amount?: number;
38
86
  }): Promise<void>;
39
87
  denyPermission(requestID: string): Promise<void>;
40
88
  grantGroupedPermission(params: {
@@ -44,7 +92,29 @@ export declare class LocalWalletPermissionsManager extends WalletPermissionsMana
44
92
  }): Promise<void>;
45
93
  denyGroupedPermission(requestID: string): Promise<void>;
46
94
  dismissGroupedPermission(requestID: string): Promise<void>;
47
- revokeAllForOriginator(originator: string): Promise<import('@bsv/wallet-toolbox/out/src/index.client.js').PermissionToken[]>;
95
+ listProtocolPermissions(filter?: {
96
+ originator?: string;
97
+ privileged?: boolean;
98
+ protocolName?: string;
99
+ protocolSecurityLevel?: number;
100
+ counterparty?: string;
101
+ }): Promise<PermissionToken[]>;
102
+ listBasketAccess(params?: {
103
+ originator?: string;
104
+ basket?: string;
105
+ }): Promise<PermissionToken[]>;
106
+ listSpendingAuthorizations(params: {
107
+ originator?: string;
108
+ }): Promise<PermissionToken[]>;
109
+ listCertificateAccess(params?: {
110
+ originator?: string;
111
+ privileged?: boolean;
112
+ certType?: string;
113
+ verifier?: string;
114
+ }): Promise<PermissionToken[]>;
115
+ private idbTokensFor;
116
+ revokeAllForOriginator(originator: string): Promise<PermissionToken[]>;
117
+ revokePermission(oldToken: PermissionToken): Promise<void>;
48
118
  }
49
119
  export {};
50
120
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EACN,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,EAElC,KAAK,sBAAsB,EAE3B,KAAK,wBAAwB,EAC7B,wBAAwB,EACxB,KAAK,iCAAiC,EACtC,MAAM,6CAA6C,CAAA;AAOpD,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAA;AAE5D,MAAM,WAAW,oCAAoC;IACpD,qDAAqD;IACrD,KAAK,EAAE,gBAAgB,CAAA;CACvB;AAED,KAAK,yBAAyB,GAC3B,sBAAsB,GACtB,6BAA6B,GAC7B,kCAAkC,CAAA;AAErC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,6BAA8B,SAAQ,wBAAwB;IAC1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG3B;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8C;gBAG5E,gBAAgB,EAAE,eAAe,EACjC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,wBAAwB,YAAK,EACrC,OAAO,EAAE,oCAAoC;IAU9B,YAAY,CAC3B,SAAS,EAAE,MAAM,iCAAiC,EAClD,OAAO,EAAE,yBAAyB,GAChC,MAAM;IAoDa,eAAe,CAAC,MAAM,EAAE;QAC7C,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,OAAO,CAAA;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBK,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,sBAAsB,CAAC,MAAM,EAAE;QACpD,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,OAAO,CAAC,OAAO,6CAA6C,EAAE,kBAAkB,CAAC,CAAA;QAC1F,MAAM,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBK,qBAAqB,CAC1C,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAKM,wBAAwB,CAC7C,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IASM,sBAAsB,CAC3C,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,6CAA6C,EAAE,eAAe,EAAE,CAAC;CAKnF"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { WalletPermissionsManager, } from '@bsv/wallet-toolbox/out/src/index.client.js';
2
- import { isExpired, normalizeOriginator, permissionKeyFromRequest, permissionKeysFromGroup, } from './key';
2
+ import { isExpired, normalizeOriginator, permissionKeyFromRequest, permissionKeyToString, } from './key';
3
+ const IDB_TXID_PREFIX = 'idb:';
3
4
  /**
4
5
  * `WalletPermissionsManager` variant that persists grants to an injected
5
6
  * `IPermissionStore` instead of minting on-chain PushDrop tokens.
@@ -8,27 +9,39 @@ import { isExpired, normalizeOriginator, permissionKeyFromRequest, permissionKey
8
9
  * and keep every other call the same (`bindCallback`, `grantPermission`,
9
10
  * `denyPermission`, etc.).
10
11
  *
11
- * Behavior:
12
- * - Store-hit short-circuits the prompt callback: `grantPermission` is
13
- * invoked silently with `ephemeral: true` and the user's handler never
14
- * runs.
15
- * - Store-miss falls through to the user's handler as normal. When the
16
- * handler calls `grantPermission(...)` on approve, the grant is written
17
- * to the store and forwarded to the base class with `ephemeral: true`
18
- * so nothing is minted on chain.
19
- * - Counterparty pact grants pass through unchanged — those still go
20
- * on-chain by design.
12
+ * Reads:
13
+ * - `ensure*Access` checks the local store first; on miss it delegates to
14
+ * super (which then consults its own cache, on-chain tokens, and falls
15
+ * through to firing a prompt). Existing on-chain grants are honored.
16
+ * - Because super's grouped-permission filter calls back through
17
+ * `this.has*Access` `this.ensure*Access`, our overrides are picked up
18
+ * polymorphically and the connect-time grouped prompt only requests
19
+ * permissions still missing from the store.
20
+ *
21
+ * Writes:
22
+ * - `grantPermission` writes to the store and resolves super's pending
23
+ * request via `super.grantPermission({ ephemeral: true })` (no on-chain
24
+ * mint, no cache write).
25
+ * - `grantGroupedPermission` writes each granted sub-permission to the
26
+ * store and resolves super's pending request via
27
+ * `super.dismissGroupedPermission` (no on-chain mint).
28
+ *
29
+ * Counterparty pact grants pass through to super unchanged — those still go
30
+ * on-chain by design.
21
31
  */
22
32
  export class LocalWalletPermissionsManager extends WalletPermissionsManager {
23
33
  permissionStore;
24
34
  pendingSingle = new Map();
25
35
  pendingGrouped = new Map();
26
- constructor(underlyingWallet, adminOriginator, config = {}, options) {
36
+ constructor(underlyingWallet, adminOriginator,
37
+ // biome-ignore lint/style/useDefaultParameterLast: keeps signature aligned with WalletPermissionsManager
38
+ config = {}, options) {
27
39
  super(underlyingWallet, adminOriginator, config);
28
40
  this.permissionStore = options.store;
29
41
  }
30
42
  // -----------------------------------------------------------------
31
- // Callback binding — wrap user handlers with a store-first check
43
+ // Callback binding — capture the request so grant overrides can
44
+ // look it up by requestID later.
32
45
  // -----------------------------------------------------------------
33
46
  bindCallback(eventName, handler) {
34
47
  if (eventName === 'onCounterpartyPermissionRequested') {
@@ -38,17 +51,6 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
38
51
  const userHandler = handler;
39
52
  const wrapped = async (request) => {
40
53
  this.pendingGrouped.set(request.requestID, request);
41
- const keys = permissionKeysFromGroup(request.originator, request.permissions);
42
- if (keys.length > 0) {
43
- const grants = await Promise.all(keys.map((k) => this.permissionStore.findGrant(k)));
44
- const allHit = grants.length === keys.length &&
45
- grants.every((g) => g != null && !isExpired(g.expiry));
46
- if (allHit) {
47
- await super.dismissGroupedPermission(request.requestID);
48
- this.pendingGrouped.delete(request.requestID);
49
- return;
50
- }
51
- }
52
54
  return userHandler(request);
53
55
  };
54
56
  return super.bindCallback(eventName, wrapped);
@@ -56,22 +58,70 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
56
58
  const userHandler = handler;
57
59
  const wrapped = async (request) => {
58
60
  this.pendingSingle.set(request.requestID, request);
59
- const key = permissionKeyFromRequest(request);
60
- const existing = await this.permissionStore.findGrant(key);
61
- if (existing && !isExpired(existing.expiry)) {
62
- await super.grantPermission({
63
- requestID: request.requestID,
64
- ephemeral: true,
65
- });
66
- this.pendingSingle.delete(request.requestID);
67
- return;
68
- }
69
61
  return userHandler(request);
70
62
  };
71
63
  return super.bindCallback(eventName, wrapped);
72
64
  }
73
65
  // -----------------------------------------------------------------
74
- // Grant / deny overrides — write store + force ephemeral
66
+ // Read overrides — store-first, then delegate to super.
67
+ // -----------------------------------------------------------------
68
+ async ensureProtocolPermission(args) {
69
+ const counterparty = args.protocolID[0] === 1 ? '' : (args.counterparty ?? 'self');
70
+ const key = {
71
+ type: 'protocol',
72
+ originator: normalizeOriginator(args.originator),
73
+ privileged: !!args.privileged,
74
+ protocolLevel: args.protocolID[0],
75
+ protocolName: args.protocolID[1],
76
+ counterparty,
77
+ };
78
+ if (await this.storeHit(key))
79
+ return true;
80
+ return super.ensureProtocolPermission(args);
81
+ }
82
+ async ensureBasketAccess(args) {
83
+ const key = {
84
+ type: 'basket',
85
+ originator: normalizeOriginator(args.originator),
86
+ basket: args.basket,
87
+ };
88
+ if (await this.storeHit(key))
89
+ return true;
90
+ return super.ensureBasketAccess(args);
91
+ }
92
+ async ensureCertificateAccess(args) {
93
+ const key = {
94
+ type: 'certificate',
95
+ originator: normalizeOriginator(args.originator),
96
+ privileged: !!args.privileged,
97
+ verifier: args.verifier,
98
+ certType: args.certType,
99
+ fields: [...args.fields].sort(),
100
+ };
101
+ if (await this.storeHit(key))
102
+ return true;
103
+ return super.ensureCertificateAccess(args);
104
+ }
105
+ async ensureSpendingAuthorization(args) {
106
+ const key = {
107
+ type: 'spending',
108
+ originator: normalizeOriginator(args.originator),
109
+ };
110
+ const grant = await this.permissionStore.findGrant(key);
111
+ if (grant &&
112
+ !isExpired(grant.expiry) &&
113
+ (grant.authorizedAmount ?? 0) >= args.satoshis) {
114
+ return true;
115
+ }
116
+ return super.ensureSpendingAuthorization(args);
117
+ }
118
+ async storeHit(key) {
119
+ const grant = await this.permissionStore.findGrant(key);
120
+ return !!grant && !isExpired(grant.expiry);
121
+ }
122
+ // -----------------------------------------------------------------
123
+ // Grant / deny overrides — write store, resolve super's pending
124
+ // without minting on chain.
75
125
  // -----------------------------------------------------------------
76
126
  async grantPermission(params) {
77
127
  const request = this.pendingSingle.get(params.requestID);
@@ -83,7 +133,10 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
83
133
  grantedAt: Date.now(),
84
134
  reason: request.reason,
85
135
  };
86
- if (request.type === 'spending' &&
136
+ if (key.type === 'spending' && params.amount != null) {
137
+ grant.authorizedAmount = params.amount;
138
+ }
139
+ else if (request.type === 'spending' &&
87
140
  request.spending?.satoshis != null) {
88
141
  grant.authorizedAmount = request.spending.satoshis;
89
142
  }
@@ -99,22 +152,63 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
99
152
  async grantGroupedPermission(params) {
100
153
  const request = this.pendingGrouped.get(params.requestID);
101
154
  if (request) {
102
- const normalized = normalizeOriginator(request.originator);
103
- const grantedKeys = permissionKeysFromGroup(normalized, params.granted);
155
+ const originator = normalizeOriginator(request.originator);
104
156
  const now = Date.now();
105
157
  const expiry = params.expiry ?? 0;
106
- for (const key of grantedKeys) {
107
- const grant = { key, expiry, grantedAt: now };
108
- if (key.type === 'spending' &&
109
- params.granted.spendingAuthorization) {
110
- grant.authorizedAmount = params.granted.spendingAuthorization.amount;
111
- grant.reason = params.granted.spendingAuthorization.description;
112
- }
113
- await this.permissionStore.putGrant(grant);
158
+ if (params.granted.spendingAuthorization) {
159
+ await this.permissionStore.putGrant({
160
+ key: { type: 'spending', originator },
161
+ expiry,
162
+ grantedAt: now,
163
+ authorizedAmount: params.granted.spendingAuthorization.amount,
164
+ reason: params.granted.spendingAuthorization.description,
165
+ });
166
+ }
167
+ for (const p of params.granted.protocolPermissions ?? []) {
168
+ if (p.counterparty === '')
169
+ continue;
170
+ const level = p.protocolID[0];
171
+ const counterparty = level === 1 ? '' : (p.counterparty ?? 'self');
172
+ await this.permissionStore.putGrant({
173
+ key: {
174
+ type: 'protocol',
175
+ originator,
176
+ privileged: false,
177
+ protocolLevel: level,
178
+ protocolName: p.protocolID[1],
179
+ counterparty,
180
+ },
181
+ expiry,
182
+ grantedAt: now,
183
+ reason: p.description,
184
+ });
185
+ }
186
+ for (const b of params.granted.basketAccess ?? []) {
187
+ await this.permissionStore.putGrant({
188
+ key: { type: 'basket', originator, basket: b.basket },
189
+ expiry,
190
+ grantedAt: now,
191
+ reason: b.description,
192
+ });
193
+ }
194
+ for (const c of params.granted.certificateAccess ?? []) {
195
+ await this.permissionStore.putGrant({
196
+ key: {
197
+ type: 'certificate',
198
+ originator,
199
+ privileged: false,
200
+ verifier: c.verifierPublicKey,
201
+ certType: c.type,
202
+ fields: [...c.fields].sort(),
203
+ },
204
+ expiry,
205
+ grantedAt: now,
206
+ reason: c.description,
207
+ });
114
208
  }
115
209
  this.pendingGrouped.delete(params.requestID);
116
210
  }
117
- return super.grantGroupedPermission(params);
211
+ return super.dismissGroupedPermission(params.requestID);
118
212
  }
119
213
  async denyGroupedPermission(requestID) {
120
214
  this.pendingGrouped.delete(requestID);
@@ -125,12 +219,252 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
125
219
  return super.dismissGroupedPermission(requestID);
126
220
  }
127
221
  // -----------------------------------------------------------------
128
- // Revocationremove from store in addition to on-chain
222
+ // Listingmerge IDB grants with super's on-chain tokens.
223
+ // -----------------------------------------------------------------
224
+ async listProtocolPermissions(filter = {}) {
225
+ const onchain = await super.listProtocolPermissions(filter);
226
+ const idb = await this.idbTokensFor('protocol', filter.originator, (g) => {
227
+ if (g.key.type !== 'protocol')
228
+ return false;
229
+ if (filter.privileged !== undefined &&
230
+ g.key.privileged !== filter.privileged) {
231
+ return false;
232
+ }
233
+ if (filter.protocolName !== undefined &&
234
+ g.key.protocolName !== filter.protocolName) {
235
+ return false;
236
+ }
237
+ if (filter.protocolSecurityLevel !== undefined &&
238
+ g.key.protocolLevel !== filter.protocolSecurityLevel) {
239
+ return false;
240
+ }
241
+ if (filter.counterparty !== undefined &&
242
+ g.key.counterparty !== filter.counterparty) {
243
+ return false;
244
+ }
245
+ return true;
246
+ });
247
+ return mergeTokens(onchain, idb);
248
+ }
249
+ async listBasketAccess(params = {}) {
250
+ const onchain = await super.listBasketAccess(params);
251
+ const idb = await this.idbTokensFor('basket', params.originator, (g) => {
252
+ if (g.key.type !== 'basket')
253
+ return false;
254
+ if (params.basket !== undefined && g.key.basket !== params.basket) {
255
+ return false;
256
+ }
257
+ return true;
258
+ });
259
+ return mergeTokens(onchain, idb);
260
+ }
261
+ async listSpendingAuthorizations(params) {
262
+ const onchain = await super.listSpendingAuthorizations(params);
263
+ const idb = await this.idbTokensFor('spending', params.originator, (g) => g.key.type === 'spending');
264
+ return mergeTokens(onchain, idb);
265
+ }
266
+ async listCertificateAccess(params = {}) {
267
+ const onchain = await super.listCertificateAccess(params);
268
+ const idb = await this.idbTokensFor('certificate', params.originator, (g) => {
269
+ if (g.key.type !== 'certificate')
270
+ return false;
271
+ if (params.privileged !== undefined &&
272
+ g.key.privileged !== params.privileged) {
273
+ return false;
274
+ }
275
+ if (params.certType !== undefined &&
276
+ g.key.certType !== params.certType) {
277
+ return false;
278
+ }
279
+ if (params.verifier !== undefined &&
280
+ g.key.verifier !== params.verifier) {
281
+ return false;
282
+ }
283
+ return true;
284
+ });
285
+ return mergeTokens(onchain, idb);
286
+ }
287
+ async idbTokensFor(type, originator, predicate) {
288
+ const filter = { type };
289
+ if (originator)
290
+ filter.originator = normalizeOriginator(originator);
291
+ const grants = await this.permissionStore.listGrants(filter);
292
+ return grants.filter(predicate).map(grantToToken);
293
+ }
294
+ // -----------------------------------------------------------------
295
+ // Revocation — clear store, then delegate on-chain spend to super.
129
296
  // -----------------------------------------------------------------
130
297
  async revokeAllForOriginator(originator) {
131
298
  const normalized = normalizeOriginator(originator);
132
299
  await this.permissionStore.deleteAllForOriginator(normalized);
133
300
  return super.revokeAllForOriginator(normalized);
134
301
  }
302
+ async revokePermission(oldToken) {
303
+ const idbKey = idbKeyFromToken(oldToken);
304
+ if (idbKey) {
305
+ await this.permissionStore.deleteGrant(idbKey);
306
+ }
307
+ if (oldToken.txid.startsWith(IDB_TXID_PREFIX)) {
308
+ return;
309
+ }
310
+ return super.revokePermission(oldToken);
311
+ }
312
+ }
313
+ function grantToToken(grant) {
314
+ const base = {
315
+ txid: `${IDB_TXID_PREFIX}${permissionKeyToString(grant.key)}`,
316
+ tx: [],
317
+ outputIndex: 0,
318
+ outputScript: '',
319
+ satoshis: 0,
320
+ originator: grant.key.originator,
321
+ expiry: grant.expiry,
322
+ };
323
+ switch (grant.key.type) {
324
+ case 'protocol':
325
+ base.privileged = grant.key.privileged;
326
+ base.protocol = grant.key.protocolName;
327
+ base.securityLevel = grant.key.protocolLevel;
328
+ base.counterparty = grant.key.counterparty;
329
+ break;
330
+ case 'basket':
331
+ base.basketName = grant.key.basket;
332
+ break;
333
+ case 'certificate':
334
+ base.privileged = grant.key.privileged;
335
+ base.certType = grant.key.certType;
336
+ base.certFields = grant.key.fields;
337
+ base.verifier = grant.key.verifier;
338
+ break;
339
+ case 'spending':
340
+ if (grant.authorizedAmount != null) {
341
+ base.authorizedAmount = grant.authorizedAmount;
342
+ }
343
+ break;
344
+ }
345
+ return base;
346
+ }
347
+ function idbKeyFromToken(token) {
348
+ if (token.txid.startsWith(IDB_TXID_PREFIX)) {
349
+ return parseIdbKey(token.txid.slice(IDB_TXID_PREFIX.length));
350
+ }
351
+ const originator = normalizeOriginator(token.originator);
352
+ if (token.basketName) {
353
+ return { type: 'basket', originator, basket: token.basketName };
354
+ }
355
+ if (token.protocol && token.securityLevel !== undefined) {
356
+ return {
357
+ type: 'protocol',
358
+ originator,
359
+ privileged: !!token.privileged,
360
+ protocolLevel: token.securityLevel,
361
+ protocolName: token.protocol,
362
+ counterparty: token.counterparty ?? 'self',
363
+ };
364
+ }
365
+ if (token.certType && token.verifier && token.certFields) {
366
+ return {
367
+ type: 'certificate',
368
+ originator,
369
+ privileged: !!token.privileged,
370
+ verifier: token.verifier,
371
+ certType: token.certType,
372
+ fields: [...token.certFields].sort(),
373
+ };
374
+ }
375
+ if (token.authorizedAmount !== undefined) {
376
+ return { type: 'spending', originator };
377
+ }
378
+ return null;
379
+ }
380
+ function parseIdbKey(serialized) {
381
+ const idx = serialized.indexOf(':');
382
+ if (idx < 0)
383
+ return null;
384
+ const tag = serialized.slice(0, idx);
385
+ const rest = serialized.slice(idx + 1);
386
+ if (tag === 'basket') {
387
+ const sep = rest.indexOf(':');
388
+ if (sep < 0)
389
+ return null;
390
+ return {
391
+ type: 'basket',
392
+ originator: rest.slice(0, sep),
393
+ basket: rest.slice(sep + 1),
394
+ };
395
+ }
396
+ if (tag === 'spend') {
397
+ return { type: 'spending', originator: rest };
398
+ }
399
+ if (tag === 'proto') {
400
+ const parts = rest.split(':');
401
+ if (parts.length < 4)
402
+ return null;
403
+ const [originator, privileged, levelAndName, counterparty] = parts;
404
+ const commaIdx = levelAndName.indexOf(',');
405
+ if (commaIdx < 0)
406
+ return null;
407
+ const level = Number(levelAndName.slice(0, commaIdx));
408
+ const protocolName = levelAndName.slice(commaIdx + 1);
409
+ return {
410
+ type: 'protocol',
411
+ originator,
412
+ privileged: privileged === 'true',
413
+ protocolLevel: level,
414
+ protocolName,
415
+ counterparty,
416
+ };
417
+ }
418
+ if (tag === 'cert') {
419
+ const parts = rest.split(':');
420
+ if (parts.length < 5)
421
+ return null;
422
+ const [originator, privileged, verifier, certType, fieldsJoined] = parts;
423
+ return {
424
+ type: 'certificate',
425
+ originator,
426
+ privileged: privileged === 'true',
427
+ verifier,
428
+ certType,
429
+ fields: fieldsJoined ? fieldsJoined.split('|') : [],
430
+ };
431
+ }
432
+ return null;
433
+ }
434
+ function mergeTokens(onchain, idb) {
435
+ const seen = new Set();
436
+ const out = [];
437
+ for (const t of onchain) {
438
+ const k = onchainSignature(t);
439
+ if (k)
440
+ seen.add(k);
441
+ out.push(t);
442
+ }
443
+ for (const t of idb) {
444
+ const k = idbSignature(t);
445
+ if (k && seen.has(k))
446
+ continue;
447
+ out.push(t);
448
+ }
449
+ return out;
450
+ }
451
+ function onchainSignature(t) {
452
+ const originator = normalizeOriginator(t.originator);
453
+ if (t.basketName)
454
+ return `basket:${originator}:${t.basketName}`;
455
+ if (t.protocol && t.securityLevel !== undefined) {
456
+ return `proto:${originator}:${!!t.privileged}:${t.securityLevel},${t.protocol}:${t.counterparty ?? 'self'}`;
457
+ }
458
+ if (t.certType && t.verifier && t.certFields) {
459
+ return `cert:${originator}:${!!t.privileged}:${t.verifier}:${t.certType}:${[...t.certFields].sort().join('|')}`;
460
+ }
461
+ if (t.authorizedAmount !== undefined)
462
+ return `spend:${originator}`;
463
+ return null;
464
+ }
465
+ function idbSignature(t) {
466
+ if (!t.txid.startsWith(IDB_TXID_PREFIX))
467
+ return null;
468
+ return t.txid.slice(IDB_TXID_PREFIX.length);
135
469
  }
136
470
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAON,wBAAwB,GAExB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACN,SAAS,EACT,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,OAAO,CAAA;AAad;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,6BAA8B,SAAQ,wBAAwB;IACzD,eAAe,CAAkB;IACjC,aAAa,GAAG,IAAI,GAAG,EAGrC,CAAA;IACc,cAAc,GAAG,IAAI,GAAG,EAAoC,CAAA;IAE7E,YACC,gBAAiC,EACjC,eAAuB,EACvB,SAAmC,EAAE,EACrC,OAA6C;QAE7C,KAAK,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAA;IACrC,CAAC;IAED,oEAAoE;IACpE,iEAAiE;IACjE,oEAAoE;IAEpD,YAAY,CAC3B,SAAkD,EAClD,OAAkC;QAElC,IAAI,SAAS,KAAK,mCAAmC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,SAAS,KAAK,8BAA8B,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,OAAwC,CAAA;YAC5D,MAAM,OAAO,GAAkC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACnD,MAAM,IAAI,GAAG,uBAAuB,CACnC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,CACnB,CAAA;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAClD,CAAA;oBACD,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;wBAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;oBACvD,IAAI,MAAM,EAAE,CAAC;wBACZ,MAAM,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;wBACvD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;wBAC7C,OAAM;oBACP,CAAC;gBACF,CAAC;gBACD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC,CAAA;YACD,OAAO,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,WAAW,GAAG,OAAiC,CAAA;QACrD,MAAM,OAAO,GAA2B,KAAK,EAAE,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAClD,MAAM,GAAG,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YAC1D,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,CAAC,eAAe,CAAC;oBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,IAAI;iBACf,CAAC,CAAA;gBACF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAC5C,OAAM;YACP,CAAC;YACD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC,CAAA;QACD,OAAO,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,oEAAoE;IACpE,yDAAyD;IACzD,oEAAoE;IAEpD,KAAK,CAAC,eAAe,CAAC,MAIrC;QACA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAC7C,MAAM,KAAK,GAAgB;gBAC1B,GAAG;gBACH,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;gBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAA;YACD,IACC,OAAO,CAAC,IAAI,KAAK,UAAU;gBAC3B,OAAO,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,EACjC,CAAC;gBACF,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAA;YACnD,CAAC;YACD,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IAEe,KAAK,CAAC,cAAc,CAAC,SAAiB;QACrD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;IAEe,KAAK,CAAC,sBAAsB,CAAC,MAI5C;QACA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACzD,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;YACvE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YACjC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;gBAC1D,IACC,GAAG,CAAC,IAAI,KAAK,UAAU;oBACvB,MAAM,CAAC,OAAO,CAAC,qBAAqB,EACnC,CAAC;oBACF,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAA;oBACpE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAA;gBAChE,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAEe,KAAK,CAAC,qBAAqB,CAC1C,SAAiB;QAEjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACrC,OAAO,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAEe,KAAK,CAAC,wBAAwB,CAC7C,SAAiB;QAEjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACrC,OAAO,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC;IAED,oEAAoE;IACpE,yDAAyD;IACzD,oEAAoE;IAEpD,KAAK,CAAC,sBAAsB,CAC3C,UAAkB;QAElB,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;QAClD,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QAC7D,OAAO,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;CACD"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,47 +1,39 @@
1
1
  {
2
- "name": "@1sat/wallet",
3
- "version": "0.0.43",
4
- "description": "BRC-100 wallet engine for 1Sat Ordinals SDK",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
12
- }
13
- },
14
- "files": [
15
- "dist"
16
- ],
17
- "scripts": {
18
- "build": "tsc",
19
- "dev": "tsc --watch",
20
- "clean": "rm -rf dist"
21
- },
22
- "keywords": [
23
- "1sat",
24
- "bsv",
25
- "ordinals",
26
- "wallet",
27
- "brc-100"
28
- ],
29
- "license": "MIT",
30
- "dependencies": {
31
- "@1sat/client": "0.0.21",
32
- "@1sat/types": "0.0.17",
33
- "@1sat/templates": "0.0.8",
34
- "@bopen-io/templates": "^1.2.3",
35
- "@msgpack/msgpack": "^3.1.3",
36
- "fflate": "^0.8.2"
37
- },
38
- "peerDependencies": {
39
- "@bsv/sdk": "^2.0.13",
40
- "@bsv/wallet-toolbox": "^2.1.21"
41
- },
42
- "devDependencies": {
43
- "@bsv/sdk": "^2.0.13",
44
- "@types/chrome": "^0.1.32",
45
- "typescript": "^5.9.3"
46
- }
47
- }
2
+ "name": "@1sat/wallet",
3
+ "version": "0.0.45",
4
+ "description": "BRC-100 wallet engine for 1Sat Ordinals SDK",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": ["dist"],
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "dev": "tsc --watch",
18
+ "clean": "rm -rf dist"
19
+ },
20
+ "keywords": ["1sat", "bsv", "ordinals", "wallet", "brc-100"],
21
+ "license": "MIT",
22
+ "dependencies": {
23
+ "@1sat/client": "0.0.21",
24
+ "@1sat/types": "0.0.17",
25
+ "@1sat/templates": "0.0.8",
26
+ "@bopen-io/templates": "^1.2.3",
27
+ "@msgpack/msgpack": "^3.1.3",
28
+ "fflate": "^0.8.2"
29
+ },
30
+ "peerDependencies": {
31
+ "@bsv/sdk": "^2.0.13",
32
+ "@bsv/wallet-toolbox": "^2.1.21"
33
+ },
34
+ "devDependencies": {
35
+ "@bsv/sdk": "^2.0.13",
36
+ "@types/chrome": "^0.1.32",
37
+ "typescript": "^5.9.3"
38
+ }
39
+ }