@1sat/wallet-browser 0.0.28 → 0.0.30
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.
- package/dist/createWebWallet.d.ts +57 -3
- package/dist/createWebWallet.d.ts.map +1 -1
- package/dist/createWebWallet.js +54 -3
- package/dist/createWebWallet.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/permissions/index.d.ts +2 -0
- package/dist/permissions/index.d.ts.map +1 -0
- package/dist/permissions/index.js +2 -0
- package/dist/permissions/index.js.map +1 -0
- package/dist/permissions/indexed-db-store.d.ts +38 -0
- package/dist/permissions/indexed-db-store.d.ts.map +1 -0
- package/dist/permissions/indexed-db-store.js +125 -0
- package/dist/permissions/indexed-db-store.js.map +1 -0
- package/package.json +9 -7
|
@@ -1,7 +1,42 @@
|
|
|
1
1
|
import type { OneSatServices } from '@1sat/client';
|
|
2
|
-
import type
|
|
3
|
-
import {
|
|
2
|
+
import { type IPermissionStore, PermissionLedgerAdapter, type PermissionPromptHandler } from '@1sat/wallet';
|
|
3
|
+
import type { PrivateKey, WalletInterface } from '@bsv/sdk';
|
|
4
|
+
import { type PermissionsManagerConfig } from '@bsv/wallet-toolbox';
|
|
5
|
+
import { Monitor, StorageClient, Wallet, WalletStorageManager } from '@bsv/wallet-toolbox-mobile';
|
|
4
6
|
import type { MonitorEvent } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* BRC-100 permission configuration for `createWebWallet`.
|
|
9
|
+
*
|
|
10
|
+
* When set, the returned wallet is wrapped with `WalletPermissionsManager`
|
|
11
|
+
* and bound to a `PermissionLedgerAdapter`. Grants are stored in the
|
|
12
|
+
* injected store (or an IndexedDB-backed default) instead of minting
|
|
13
|
+
* on-chain PushDrop tokens.
|
|
14
|
+
*/
|
|
15
|
+
export interface WebWalletPermissionsOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Originator used by the wallet itself for internal calls (e.g.
|
|
18
|
+
* `chrome-extension://<id>`). WPM skips all permission checks for this
|
|
19
|
+
* originator.
|
|
20
|
+
*/
|
|
21
|
+
adminOriginator: string;
|
|
22
|
+
/** UI callbacks invoked when a grant is needed. */
|
|
23
|
+
prompt: PermissionPromptHandler;
|
|
24
|
+
/**
|
|
25
|
+
* Persistent store for permission grants. Defaults to
|
|
26
|
+
* `IndexedDbPermissionStore`.
|
|
27
|
+
*/
|
|
28
|
+
permissionStore?: IPermissionStore;
|
|
29
|
+
/**
|
|
30
|
+
* Overrides spread on top of the manager's defaults. Only set fields
|
|
31
|
+
* you want to change.
|
|
32
|
+
*/
|
|
33
|
+
permissionsConfig?: Partial<PermissionsManagerConfig>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Defaults used for `WalletPermissionsManager` when
|
|
37
|
+
* `permissions.permissionsConfig` does not override a field.
|
|
38
|
+
*/
|
|
39
|
+
export declare const DEFAULT_PERMISSIONS_CONFIG: PermissionsManagerConfig;
|
|
5
40
|
export interface WebWalletConfig {
|
|
6
41
|
privateKey: PrivateKey | string;
|
|
7
42
|
chain: 'main' | 'test';
|
|
@@ -16,9 +51,28 @@ export interface WebWalletConfig {
|
|
|
16
51
|
onTransactionBroadcasted?: (txid: string) => void;
|
|
17
52
|
onTransactionProven?: (txid: string, blockHeight: number) => void;
|
|
18
53
|
onMonitorEvent?: (event: MonitorEvent) => void;
|
|
54
|
+
/**
|
|
55
|
+
* When set, wraps the wallet with `WalletPermissionsManager` + a
|
|
56
|
+
* `PermissionLedgerAdapter` so grants persist to `permissionStore`
|
|
57
|
+
* (default: IndexedDB) instead of minting on-chain tokens.
|
|
58
|
+
*/
|
|
59
|
+
permissions?: WebWalletPermissionsOptions;
|
|
19
60
|
}
|
|
20
61
|
export interface WebWalletResult {
|
|
21
|
-
|
|
62
|
+
/**
|
|
63
|
+
* The active wallet. When `config.permissions` is set this is the
|
|
64
|
+
* permissioned `WalletInterface` (a `WalletPermissionsManager`). When
|
|
65
|
+
* unset, it is the unwrapped `Wallet`.
|
|
66
|
+
*/
|
|
67
|
+
wallet: WalletInterface;
|
|
68
|
+
/**
|
|
69
|
+
* The unwrapped base wallet. Present when `config.permissions` is set so
|
|
70
|
+
* callers can route internal operations around WPM. Omitted otherwise
|
|
71
|
+
* (the `wallet` field already holds the unwrapped instance).
|
|
72
|
+
*/
|
|
73
|
+
baseWallet?: Wallet;
|
|
74
|
+
/** Adapter bridging WPM to the permission store. Present iff `config.permissions` was set. */
|
|
75
|
+
adapter?: PermissionLedgerAdapter;
|
|
22
76
|
services: OneSatServices;
|
|
23
77
|
monitor?: Monitor;
|
|
24
78
|
destroy: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWebWallet.d.ts","sourceRoot":"","sources":["../src/createWebWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"createWebWallet.d.ts","sourceRoot":"","sources":["../src/createWebWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAEN,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,KAAK,uBAAuB,EAE5B,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC3D,OAAO,EACN,KAAK,wBAAwB,EAE7B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,OAAO,EAEP,aAAa,EAEb,MAAM,EACN,oBAAoB,EACpB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI3C;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,mDAAmD;IACnD,MAAM,EAAE,uBAAuB,CAAA;IAC/B;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACrD;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,wBAqBxC,CAAA;AAED,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,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,kBAAkB,EAAE,MAAM,CAAA;IAC1B,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;IACjE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IAC9C;;;;OAIG;IACH,WAAW,CAAC,EAAE,2BAA2B,CAAA;CACzC;AAED,MAAM,WAAW,eAAe;IAC/B;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,EAAE,oBAAoB,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C;AAED,wBAAsB,eAAe,CACpC,MAAM,EAAE,eAAe,GACrB,OAAO,CAAC,eAAe,CAAC,CAyF1B"}
|
package/dist/createWebWallet.js
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
|
-
import { DEFAULT_FEE_MODEL, createWalletCore } from '@1sat/wallet';
|
|
2
|
-
import {
|
|
1
|
+
import { DEFAULT_FEE_MODEL, PermissionLedgerAdapter, createWalletCore, } from '@1sat/wallet';
|
|
2
|
+
import { WalletPermissionsManager, } from '@bsv/wallet-toolbox';
|
|
3
|
+
import { Monitor, Services, StorageClient, StorageProvider, Wallet, WalletStorageManager, } from '@bsv/wallet-toolbox-mobile';
|
|
4
|
+
import { StorageIdb } from '@bsv/wallet-toolbox/out/src/index.client.js';
|
|
5
|
+
import { IndexedDbPermissionStore } from './permissions/indexed-db-store';
|
|
3
6
|
const DEFAULT_DATABASE_NAME = 'wallet';
|
|
7
|
+
/**
|
|
8
|
+
* Defaults used for `WalletPermissionsManager` when
|
|
9
|
+
* `permissions.permissionsConfig` does not override a field.
|
|
10
|
+
*/
|
|
11
|
+
export const DEFAULT_PERMISSIONS_CONFIG = {
|
|
12
|
+
seekProtocolPermissionsForSigning: true,
|
|
13
|
+
seekProtocolPermissionsForEncrypting: true,
|
|
14
|
+
seekProtocolPermissionsForHMAC: true,
|
|
15
|
+
seekPermissionsForKeyLinkageRevelation: true,
|
|
16
|
+
seekPermissionsForPublicKeyRevelation: false,
|
|
17
|
+
seekPermissionsForIdentityKeyRevelation: true,
|
|
18
|
+
seekPermissionsForIdentityResolution: true,
|
|
19
|
+
seekBasketInsertionPermissions: true,
|
|
20
|
+
seekBasketRemovalPermissions: true,
|
|
21
|
+
seekBasketListingPermissions: false,
|
|
22
|
+
seekPermissionWhenApplyingActionLabels: false,
|
|
23
|
+
seekPermissionWhenListingActionsByLabel: false,
|
|
24
|
+
seekCertificateDisclosurePermissions: true,
|
|
25
|
+
seekCertificateAcquisitionPermissions: true,
|
|
26
|
+
seekCertificateRelinquishmentPermissions: true,
|
|
27
|
+
seekCertificateListingPermissions: false,
|
|
28
|
+
encryptWalletMetadata: true,
|
|
29
|
+
seekSpendingPermissions: true,
|
|
30
|
+
seekGroupedPermission: true,
|
|
31
|
+
differentiatePrivilegedOperations: true,
|
|
32
|
+
};
|
|
4
33
|
export async function createWebWallet(config) {
|
|
5
34
|
const feeModel = config.feeModel ?? DEFAULT_FEE_MODEL;
|
|
6
35
|
const storageOptions = StorageProvider.createStorageBaseOptions(config.chain);
|
|
@@ -41,7 +70,27 @@ export async function createWebWallet(config) {
|
|
|
41
70
|
};
|
|
42
71
|
}
|
|
43
72
|
}
|
|
73
|
+
const baseWallet = core.wallet;
|
|
74
|
+
let wallet = baseWallet;
|
|
75
|
+
let adapter;
|
|
76
|
+
if (config.permissions) {
|
|
77
|
+
const permissionsConfig = {
|
|
78
|
+
...DEFAULT_PERMISSIONS_CONFIG,
|
|
79
|
+
...(config.permissions.permissionsConfig ?? {}),
|
|
80
|
+
};
|
|
81
|
+
const manager = new WalletPermissionsManager(baseWallet, config.permissions.adminOriginator, permissionsConfig);
|
|
82
|
+
const store = config.permissions.permissionStore ??
|
|
83
|
+
new IndexedDbPermissionStore({ scope: config.storageIdentityKey });
|
|
84
|
+
adapter = new PermissionLedgerAdapter({
|
|
85
|
+
wallet: manager,
|
|
86
|
+
store,
|
|
87
|
+
prompt: config.permissions.prompt,
|
|
88
|
+
});
|
|
89
|
+
wallet = manager;
|
|
90
|
+
}
|
|
44
91
|
const destroy = async () => {
|
|
92
|
+
if (adapter)
|
|
93
|
+
adapter.dispose();
|
|
45
94
|
if (monitor) {
|
|
46
95
|
monitor.stopTasks();
|
|
47
96
|
await monitor.destroy();
|
|
@@ -49,7 +98,9 @@ export async function createWebWallet(config) {
|
|
|
49
98
|
await core.destroy();
|
|
50
99
|
};
|
|
51
100
|
return {
|
|
52
|
-
wallet
|
|
101
|
+
wallet,
|
|
102
|
+
baseWallet: config.permissions ? baseWallet : undefined,
|
|
103
|
+
adapter,
|
|
53
104
|
services: core.services,
|
|
54
105
|
monitor,
|
|
55
106
|
destroy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWebWallet.js","sourceRoot":"","sources":["../src/createWebWallet.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"createWebWallet.js","sourceRoot":"","sources":["../src/createWebWallet.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from '@1sat/wallet';
|
|
2
|
-
export { createWebWallet } from './createWebWallet';
|
|
3
|
-
export type { WebWalletConfig, WebWalletResult } from './createWebWallet';
|
|
2
|
+
export { DEFAULT_PERMISSIONS_CONFIG, createWebWallet, } from './createWebWallet';
|
|
3
|
+
export type { WebWalletConfig, WebWalletPermissionsOptions, WebWalletResult, } from './createWebWallet';
|
|
4
|
+
export { IndexedDbPermissionStore } from './permissions/indexed-db-store';
|
|
4
5
|
export type { MonitorEvent } from './types';
|
|
5
|
-
export { Monitor, Services, StorageClient,
|
|
6
|
+
export { Monitor, Services, StorageClient, StorageProvider, Wallet, WalletPermissionsManager, WalletStorageManager, type sdk as walletSdk, } from '@bsv/wallet-toolbox-mobile';
|
|
7
|
+
export { StorageIdb } from '@bsv/wallet-toolbox/out/src/index.client.js';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAE5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAE5B,OAAO,EACN,0BAA0B,EAC1B,eAAe,GACf,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACX,eAAe,EACf,2BAA2B,EAC3B,eAAe,GACf,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,GAAG,IAAI,SAAS,GACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from '@1sat/wallet';
|
|
2
|
-
export { createWebWallet } from './createWebWallet';
|
|
3
|
-
export {
|
|
2
|
+
export { DEFAULT_PERMISSIONS_CONFIG, createWebWallet, } from './createWebWallet';
|
|
3
|
+
export { IndexedDbPermissionStore } from './permissions/indexed-db-store';
|
|
4
|
+
export { Monitor, Services, StorageClient, StorageProvider, Wallet, WalletPermissionsManager, WalletStorageManager, } from '@bsv/wallet-toolbox-mobile';
|
|
5
|
+
export { StorageIdb } from '@bsv/wallet-toolbox/out/src/index.client.js';
|
|
4
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAE5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAE5B,OAAO,EACN,0BAA0B,EAC1B,eAAe,GACf,MAAM,mBAAmB,CAAA;AAO1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAIzE,OAAO,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,MAAM,EACN,wBAAwB,EACxB,oBAAoB,GAEpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type IPermissionStore, type ListGrantsFilter, type PermissionKey, type StoredGrant } from '@1sat/wallet';
|
|
2
|
+
interface IndexedDbPermissionStoreOptions {
|
|
3
|
+
/** Database name. Defaults to `1sat-wallet-permissions`. */
|
|
4
|
+
databaseName?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Scope suffix appended to the database name (e.g. an identity key hash
|
|
7
|
+
* or chain tag). Useful when a single browser profile needs isolated
|
|
8
|
+
* grant stores per identity.
|
|
9
|
+
*/
|
|
10
|
+
scope?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* `IPermissionStore` backed by IndexedDB.
|
|
14
|
+
*
|
|
15
|
+
* Schema: one object store (`grants`) keyed by the canonical permission key
|
|
16
|
+
* string. Secondary indexes on `originator` and `type` back the filtered
|
|
17
|
+
* listing and delete-by-originator paths.
|
|
18
|
+
*
|
|
19
|
+
* Default store for `createWebWallet` when `permissions` is supplied.
|
|
20
|
+
*/
|
|
21
|
+
export declare class IndexedDbPermissionStore implements IPermissionStore {
|
|
22
|
+
private readonly databaseName;
|
|
23
|
+
private dbPromise;
|
|
24
|
+
constructor(options?: IndexedDbPermissionStoreOptions);
|
|
25
|
+
private openDatabase;
|
|
26
|
+
private withStore;
|
|
27
|
+
private toRecord;
|
|
28
|
+
private fromRequest;
|
|
29
|
+
findGrant(key: PermissionKey): Promise<StoredGrant | null>;
|
|
30
|
+
putGrant(grant: StoredGrant): Promise<void>;
|
|
31
|
+
deleteGrant(key: PermissionKey): Promise<void>;
|
|
32
|
+
deleteAllForOriginator(originator: string): Promise<number>;
|
|
33
|
+
listGrants(filter?: ListGrantsFilter): Promise<StoredGrant[]>;
|
|
34
|
+
/** Release the open database handle (future operations will reopen). */
|
|
35
|
+
close(): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=indexed-db-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexed-db-store.d.ts","sourceRoot":"","sources":["../../src/permissions/indexed-db-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,WAAW,EAEhB,MAAM,cAAc,CAAA;AAOrB,UAAU,+BAA+B;IACxC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,SAAS,CAAoC;gBAEzC,OAAO,GAAE,+BAAoC;IAKzD,OAAO,CAAC,YAAY;YAqBN,SAAS;IAwBvB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,WAAW;IAQb,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAU1D,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW3D,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAmBnE,wEAAwE;IAClE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { permissionKeyToString, } from '@1sat/wallet';
|
|
2
|
+
const DEFAULT_DATABASE_NAME = '1sat-wallet-permissions';
|
|
3
|
+
const DEFAULT_STORE_NAME = 'grants';
|
|
4
|
+
const ORIGINATOR_INDEX = 'by-originator';
|
|
5
|
+
const TYPE_INDEX = 'by-type';
|
|
6
|
+
/**
|
|
7
|
+
* `IPermissionStore` backed by IndexedDB.
|
|
8
|
+
*
|
|
9
|
+
* Schema: one object store (`grants`) keyed by the canonical permission key
|
|
10
|
+
* string. Secondary indexes on `originator` and `type` back the filtered
|
|
11
|
+
* listing and delete-by-originator paths.
|
|
12
|
+
*
|
|
13
|
+
* Default store for `createWebWallet` when `permissions` is supplied.
|
|
14
|
+
*/
|
|
15
|
+
export class IndexedDbPermissionStore {
|
|
16
|
+
databaseName;
|
|
17
|
+
dbPromise = null;
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
const base = options.databaseName ?? DEFAULT_DATABASE_NAME;
|
|
20
|
+
this.databaseName = options.scope ? `${base}:${options.scope}` : base;
|
|
21
|
+
}
|
|
22
|
+
openDatabase() {
|
|
23
|
+
if (this.dbPromise)
|
|
24
|
+
return this.dbPromise;
|
|
25
|
+
this.dbPromise = new Promise((resolve, reject) => {
|
|
26
|
+
const request = indexedDB.open(this.databaseName, 1);
|
|
27
|
+
request.onupgradeneeded = () => {
|
|
28
|
+
const db = request.result;
|
|
29
|
+
if (!db.objectStoreNames.contains(DEFAULT_STORE_NAME)) {
|
|
30
|
+
const store = db.createObjectStore(DEFAULT_STORE_NAME, {
|
|
31
|
+
keyPath: 'id',
|
|
32
|
+
});
|
|
33
|
+
store.createIndex(ORIGINATOR_INDEX, 'originator', { unique: false });
|
|
34
|
+
store.createIndex(TYPE_INDEX, 'type', { unique: false });
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
request.onsuccess = () => resolve(request.result);
|
|
38
|
+
request.onerror = () => reject(request.error ?? new Error('IDB open failed'));
|
|
39
|
+
});
|
|
40
|
+
return this.dbPromise;
|
|
41
|
+
}
|
|
42
|
+
async withStore(mode, fn) {
|
|
43
|
+
const db = await this.openDatabase();
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
const tx = db.transaction(DEFAULT_STORE_NAME, mode);
|
|
46
|
+
const store = tx.objectStore(DEFAULT_STORE_NAME);
|
|
47
|
+
let result;
|
|
48
|
+
Promise.resolve(fn(store))
|
|
49
|
+
.then((value) => {
|
|
50
|
+
result = value;
|
|
51
|
+
})
|
|
52
|
+
.catch((err) => {
|
|
53
|
+
tx.abort();
|
|
54
|
+
reject(err);
|
|
55
|
+
});
|
|
56
|
+
tx.oncomplete = () => resolve(result);
|
|
57
|
+
tx.onerror = () => reject(tx.error ?? new Error('IDB transaction failed'));
|
|
58
|
+
tx.onabort = () => reject(tx.error ?? new Error('IDB transaction aborted'));
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
toRecord(grant) {
|
|
62
|
+
return {
|
|
63
|
+
id: permissionKeyToString(grant.key),
|
|
64
|
+
originator: grant.key.originator,
|
|
65
|
+
type: grant.key.type,
|
|
66
|
+
grant,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
fromRequest(request) {
|
|
70
|
+
return new Promise((resolve, reject) => {
|
|
71
|
+
request.onsuccess = () => resolve(request.result);
|
|
72
|
+
request.onerror = () => reject(request.error ?? new Error('IDB request failed'));
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
async findGrant(key) {
|
|
76
|
+
return this.withStore('readonly', async (store) => {
|
|
77
|
+
const id = permissionKeyToString(key);
|
|
78
|
+
const record = await this.fromRequest(store.get(id));
|
|
79
|
+
return record?.grant ?? null;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async putGrant(grant) {
|
|
83
|
+
await this.withStore('readwrite', async (store) => {
|
|
84
|
+
await this.fromRequest(store.put(this.toRecord(grant)));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async deleteGrant(key) {
|
|
88
|
+
await this.withStore('readwrite', async (store) => {
|
|
89
|
+
await this.fromRequest(store.delete(permissionKeyToString(key)));
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
async deleteAllForOriginator(originator) {
|
|
93
|
+
return this.withStore('readwrite', async (store) => {
|
|
94
|
+
const index = store.index(ORIGINATOR_INDEX);
|
|
95
|
+
const keys = await this.fromRequest(index.getAllKeys(IDBKeyRange.only(originator)));
|
|
96
|
+
await Promise.all(keys.map((id) => this.fromRequest(store.delete(id))));
|
|
97
|
+
return keys.length;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async listGrants(filter) {
|
|
101
|
+
return this.withStore('readonly', async (store) => {
|
|
102
|
+
const source = filter?.originator
|
|
103
|
+
? store.index(ORIGINATOR_INDEX)
|
|
104
|
+
: filter?.type
|
|
105
|
+
? store.index(TYPE_INDEX)
|
|
106
|
+
: store;
|
|
107
|
+
const range = filter?.originator
|
|
108
|
+
? IDBKeyRange.only(filter.originator)
|
|
109
|
+
: filter?.type
|
|
110
|
+
? IDBKeyRange.only(filter.type)
|
|
111
|
+
: undefined;
|
|
112
|
+
const records = await this.fromRequest(range ? source.getAll(range) : source.getAll());
|
|
113
|
+
return records.map((r) => r.grant);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Release the open database handle (future operations will reopen). */
|
|
117
|
+
async close() {
|
|
118
|
+
if (!this.dbPromise)
|
|
119
|
+
return;
|
|
120
|
+
const db = await this.dbPromise;
|
|
121
|
+
db.close();
|
|
122
|
+
this.dbPromise = null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=indexed-db-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexed-db-store.js","sourceRoot":"","sources":["../../src/permissions/indexed-db-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/wallet-browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.30",
|
|
4
4
|
"description": "Browser wallet factory for 1Sat Ordinals SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,16 +20,18 @@
|
|
|
20
20
|
"keywords": ["1sat", "bsv", "ordinals", "wallet", "browser"],
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@1sat/wallet": "0.0.
|
|
23
|
+
"@1sat/wallet": "0.0.41"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@1sat/client": "0.0.
|
|
27
|
-
"@bsv/sdk": "^2.0.
|
|
28
|
-
"@bsv/wallet-toolbox": "^2.1.
|
|
26
|
+
"@1sat/client": "0.0.21",
|
|
27
|
+
"@bsv/sdk": "^2.0.13",
|
|
28
|
+
"@bsv/wallet-toolbox": "^2.1.21",
|
|
29
|
+
"@bsv/wallet-toolbox-mobile": "^2.1.21"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"@bsv/sdk": "^2.0.
|
|
32
|
-
"@bsv/wallet-toolbox": "^2.1.
|
|
32
|
+
"@bsv/sdk": "^2.0.13",
|
|
33
|
+
"@bsv/wallet-toolbox": "^2.1.21",
|
|
34
|
+
"@bsv/wallet-toolbox-mobile": "^2.1.21",
|
|
33
35
|
"typescript": "^5.9.3"
|
|
34
36
|
}
|
|
35
37
|
}
|