@1sat/wallet-browser 0.0.31 → 0.0.33
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 +2 -56
- package/dist/createWebWallet.d.ts.map +1 -1
- package/dist/createWebWallet.js +2 -52
- package/dist/createWebWallet.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,42 +1,7 @@
|
|
|
1
1
|
import type { OneSatServices } from '@1sat/client';
|
|
2
|
-
import
|
|
3
|
-
import type { PrivateKey, WalletInterface } from '@bsv/sdk';
|
|
4
|
-
import { type PermissionsManagerConfig } from '@bsv/wallet-toolbox';
|
|
2
|
+
import type { PrivateKey } from '@bsv/sdk';
|
|
5
3
|
import { Monitor, StorageClient, Wallet, WalletStorageManager } from '@bsv/wallet-toolbox-mobile';
|
|
6
4
|
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;
|
|
40
5
|
export interface WebWalletConfig {
|
|
41
6
|
privateKey: PrivateKey | string;
|
|
42
7
|
chain: 'main' | 'test';
|
|
@@ -51,28 +16,9 @@ export interface WebWalletConfig {
|
|
|
51
16
|
onTransactionBroadcasted?: (txid: string) => void;
|
|
52
17
|
onTransactionProven?: (txid: string, blockHeight: number) => void;
|
|
53
18
|
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;
|
|
60
19
|
}
|
|
61
20
|
export interface WebWalletResult {
|
|
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;
|
|
21
|
+
wallet: Wallet;
|
|
76
22
|
services: OneSatServices;
|
|
77
23
|
monitor?: Monitor;
|
|
78
24
|
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;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EACN,OAAO,EAEP,aAAa,EAEb,MAAM,EACN,oBAAoB,EACpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI3C,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;CAC9C;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,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,CA6D1B"}
|
package/dist/createWebWallet.js
CHANGED
|
@@ -1,35 +1,7 @@
|
|
|
1
|
-
import { DEFAULT_FEE_MODEL,
|
|
2
|
-
import { WalletPermissionsManager, } from '@bsv/wallet-toolbox';
|
|
1
|
+
import { DEFAULT_FEE_MODEL, createWalletCore } from '@1sat/wallet';
|
|
3
2
|
import { Monitor, Services, StorageClient, StorageProvider, Wallet, WalletStorageManager, } from '@bsv/wallet-toolbox-mobile';
|
|
4
3
|
import { StorageIdb } from '@bsv/wallet-toolbox/out/src/index.client.js';
|
|
5
|
-
import { IndexedDbPermissionStore } from './permissions/indexed-db-store';
|
|
6
4
|
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
|
-
};
|
|
33
5
|
export async function createWebWallet(config) {
|
|
34
6
|
const feeModel = config.feeModel ?? DEFAULT_FEE_MODEL;
|
|
35
7
|
const storageOptions = StorageProvider.createStorageBaseOptions(config.chain);
|
|
@@ -70,27 +42,7 @@ export async function createWebWallet(config) {
|
|
|
70
42
|
};
|
|
71
43
|
}
|
|
72
44
|
}
|
|
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
|
-
}
|
|
91
45
|
const destroy = async () => {
|
|
92
|
-
if (adapter)
|
|
93
|
-
adapter.dispose();
|
|
94
46
|
if (monitor) {
|
|
95
47
|
monitor.stopTasks();
|
|
96
48
|
await monitor.destroy();
|
|
@@ -98,9 +50,7 @@ export async function createWebWallet(config) {
|
|
|
98
50
|
await core.destroy();
|
|
99
51
|
};
|
|
100
52
|
return {
|
|
101
|
-
wallet,
|
|
102
|
-
baseWallet: config.permissions ? baseWallet : undefined,
|
|
103
|
-
adapter,
|
|
53
|
+
wallet: core.wallet,
|
|
104
54
|
services: core.services,
|
|
105
55
|
monitor,
|
|
106
56
|
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":"AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,MAAM,EACN,oBAAoB,GACpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAA;AAGxE,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAyBtC,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAA;IAErD,MAAM,cAAc,GAAG,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7E,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAClC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;IACnD,MAAM,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAE5E,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE;QACzD,QAAQ;QACR,aAAa;QACb,eAAe;QACf,MAAM;QACN,oBAAoB;QACpB,OAAO;KACP,CAAC,CAAA;IAEF,IAAI,OAA4B,CAAA;IAChC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,OAAO,CAAC;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAe;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,iCAAiC,EAAE,GAAG;YACtC,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,MAAM;YACtB,yBAAyB,EAAE,EAAE;YAC7B,yBAAyB,EAAE,GAAG;SAC9B,CAAC,CAAA;QACF,OAAO,CAAC,eAAe,EAAE,CAAA;QAEzB,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACrC,OAAO,CAAC,wBAAwB,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI,MAAM,CAAC,IAAI;oBAAE,MAAM,CAAC,wBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/D,CAAC,CAAA;QACF,CAAC;QACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAChC,OAAO,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC9C,MAAM,CAAC,mBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YAC7D,CAAC,CAAA;QACF,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,SAAS,EAAE,CAAA;YACnB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACxB,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC,CAAA;IAED,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO;QACP,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACpC,aAAa,EAAE,IAAI,CAAC,aAAa;KACjC,CAAA;AACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from '@1sat/wallet';
|
|
2
|
-
export {
|
|
3
|
-
export type { WebWalletConfig,
|
|
2
|
+
export { createWebWallet } from './createWebWallet';
|
|
3
|
+
export type { WebWalletConfig, WebWalletResult } from './createWebWallet';
|
|
4
4
|
export { IndexedDbPermissionStore } from './permissions/indexed-db-store';
|
|
5
5
|
export type { MonitorEvent } from './types';
|
|
6
6
|
export { Monitor, Services, StorageClient, StorageProvider, Wallet, WalletPermissionsManager, WalletStorageManager, type sdk as walletSdk, } from '@bsv/wallet-toolbox-mobile';
|
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,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEzE,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,5 +1,5 @@
|
|
|
1
1
|
export * from '@1sat/wallet';
|
|
2
|
-
export {
|
|
2
|
+
export { createWebWallet } from './createWebWallet';
|
|
3
3
|
export { IndexedDbPermissionStore } from './permissions/indexed-db-store';
|
|
4
4
|
export { Monitor, Services, StorageClient, StorageProvider, Wallet, WalletPermissionsManager, WalletStorageManager, } from '@bsv/wallet-toolbox-mobile';
|
|
5
5
|
export { StorageIdb } from '@bsv/wallet-toolbox/out/src/index.client.js';
|
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,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/wallet-browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.33",
|
|
4
4
|
"description": "Browser wallet factory for 1Sat Ordinals SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
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.43"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"@1sat/client": "0.0.21",
|