@cardano-sdk/web-extension 0.24.8 → 0.25.0
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/README.md +11 -17
- package/dist/cjs/keyAgent/consumeKeyAgent.d.ts +1 -1
- package/dist/cjs/observableWallet/util.d.ts.map +1 -1
- package/dist/cjs/observableWallet/util.js +5 -0
- package/dist/cjs/observableWallet/util.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/walletManager/WalletRepository/WalletRepository.js +1 -1
- package/dist/cjs/walletManager/WalletRepository/WalletRepository.js.map +1 -1
- package/dist/cjs/walletManager/types.d.ts +5 -1
- package/dist/cjs/walletManager/types.d.ts.map +1 -1
- package/dist/cjs/walletManager/types.js.map +1 -1
- package/dist/cjs/walletManager/util.d.ts +14 -1
- package/dist/cjs/walletManager/util.d.ts.map +1 -1
- package/dist/cjs/walletManager/util.js +224 -1
- package/dist/cjs/walletManager/util.js.map +1 -1
- package/dist/cjs/walletManager/walletManager.d.ts.map +1 -1
- package/dist/cjs/walletManager/walletManager.js +3 -24
- package/dist/cjs/walletManager/walletManager.js.map +1 -1
- package/dist/esm/keyAgent/consumeKeyAgent.d.ts +1 -1
- package/dist/esm/observableWallet/util.d.ts.map +1 -1
- package/dist/esm/observableWallet/util.js +5 -0
- package/dist/esm/observableWallet/util.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/walletManager/WalletRepository/WalletRepository.js +1 -1
- package/dist/esm/walletManager/WalletRepository/WalletRepository.js.map +1 -1
- package/dist/esm/walletManager/types.d.ts +5 -1
- package/dist/esm/walletManager/types.d.ts.map +1 -1
- package/dist/esm/walletManager/types.js.map +1 -1
- package/dist/esm/walletManager/util.d.ts +14 -1
- package/dist/esm/walletManager/util.d.ts.map +1 -1
- package/dist/esm/walletManager/util.js +222 -1
- package/dist/esm/walletManager/util.js.map +1 -1
- package/dist/esm/walletManager/walletManager.d.ts.map +1 -1
- package/dist/esm/walletManager/walletManager.js +3 -24
- package/dist/esm/walletManager/walletManager.js.map +1 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -16,12 +16,10 @@ In this document, we will cover:
|
|
|
16
16
|
|
|
17
17
|
- **Diagrams:** Discussing how these components interact within the context of a web browser extension with visual representations to aid in understanding the structure and flow of interactions.
|
|
18
18
|
|
|
19
|
-
|
|
20
19
|
## System Overview
|
|
21
20
|
|
|
22
21
|
The **web-extension** package provides components for handling wallet management-related operations within the browser web extensions context. It brings together its own specialized components and further leverages additional elements from other SDK packages, notably the **ObservableWallet** interface from the 'wallet' package and the **Witnesser** interface from the 'key-management’ package.
|
|
23
22
|
|
|
24
|
-
|
|
25
23
|
### Components from the web-extension Package
|
|
26
24
|
|
|
27
25
|
- **WalletManager:** Manages the lifecycle of ObservableWallets, including activation and deactivation, and is responsible for creating Witnesser instances.
|
|
@@ -52,7 +50,6 @@ In-memory key agents could technically live in the service worker, but keeping t
|
|
|
52
50
|
|
|
53
51
|
This arrangement also ensures a safer, isolated environment for user prompts and transaction confirmations. As thus, the components of the wallet-extension are distributed among the service worker and the UI script as follows:
|
|
54
52
|
|
|
55
|
-
|
|
56
53
|

|
|
57
54
|
|
|
58
55
|
## Component Descriptions
|
|
@@ -65,7 +62,6 @@ In essence, the **SigningCoordinator** is responsible for managing the signing o
|
|
|
65
62
|
|
|
66
63
|
The **SigningCoordinator** also offers flexibility in handling different wallet types, such as InMemory, Ledger, and Trezor wallets. This flexibility is crucial for a web extension that aims to support a wide range of user preferences and hardware capabilities.
|
|
67
64
|
|
|
68
|
-
|
|
69
65
|
### WalletManager
|
|
70
66
|
|
|
71
67
|
The **WalletManager** is responsible for orchestrating various wallet-related operations. It handles the lifecycle of wallets, including their creation, initialization, activation, deactivation, and switching of networks. These wallets are **ObservableWallet** instances, these instances provide real-time updates and states of the wallets, which include balance tracking, transaction histories, and more. The **WalletManager** effectively maintains a record of these instances, ensuring that the wallets are readily accessible.
|
|
@@ -92,7 +88,7 @@ The **ObservableWallet** is designed as a comprehensive interface that offers re
|
|
|
92
88
|
|
|
93
89
|
## Integration and Communication Flow
|
|
94
90
|
|
|
95
|
-
The web-extension package components interact across the UI script and the background script (service worker) of the web extension environment. The scripts communicate using message passing, which allows both service worker and UI scripts to listen for each other's messages and respond on the same channel.
|
|
91
|
+
The web-extension package components interact across the UI script and the background script (service worker) of the web extension environment. The scripts communicate using message passing, which allows both service worker and UI scripts to listen for each other's messages and respond on the same channel.
|
|
96
92
|
|
|
97
93
|
## Bootstrapping
|
|
98
94
|
|
|
@@ -104,20 +100,19 @@ In the UI script the application creates the **SigningCoordinator** instance and
|
|
|
104
100
|
|
|
105
101
|
```javascript
|
|
106
102
|
exposeApi(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
103
|
+
{
|
|
104
|
+
api$: of(signingCoordinator),
|
|
105
|
+
baseChannel: signingCoordinatorApiChannel,
|
|
106
|
+
properties: signingCoordinatorApiProperties
|
|
107
|
+
},
|
|
108
|
+
dependencies
|
|
109
|
+
);
|
|
115
110
|
```
|
|
116
111
|
|
|
117
112
|
This function exposes the **SigningCoordinator** to the code running in the service worker. Additionally, the UI script must subscribe to the **transactionWitnessRequest$** and **signDataRequest$** observables of the **SigningCoordinator** so it can handle signing requests that are initiated by the **ObservableWallet** that lives in the service worker. This is an example on how the web extension application could start the **SigningCoordinator**:
|
|
118
113
|
|
|
119
114
|
```javascript
|
|
120
|
-
ui.ts
|
|
115
|
+
ui.ts;
|
|
121
116
|
|
|
122
117
|
// Instantiate the SigningCoordinator
|
|
123
118
|
const signingCoordinator = new SigningCoordinator(
|
|
@@ -161,7 +156,7 @@ exposeSigningCoordinatorApi(
|
|
|
161
156
|
The UI script also creates proxy objects for the exposed instances from the service worker of the **WalletRepository**, **WalletManager** and **ObservableWallet**:
|
|
162
157
|
|
|
163
158
|
```javascript
|
|
164
|
-
ui.ts
|
|
159
|
+
ui.ts;
|
|
165
160
|
|
|
166
161
|
// Consume remote objects.
|
|
167
162
|
const walletManager = consumeRemoteApi(
|
|
@@ -179,7 +174,6 @@ const wallet = consumeRemoteApi(
|
|
|
179
174
|
{ baseChannel: walletChannel(walletName), properties: observableWalletProperties },
|
|
180
175
|
{ logger, runtime }
|
|
181
176
|
);
|
|
182
|
-
|
|
183
177
|
```
|
|
184
178
|
|
|
185
179
|
The **consumeRemoteApi**, **walletManagerChannel**, **repositoryChannel** and **walletChannel** are all utility functions exported from the web-extension package.
|
|
@@ -258,7 +252,7 @@ This way the UI script can use this proxy object and subscribe to its observable
|
|
|
258
252
|
|
|
259
253
|
### WalletManager
|
|
260
254
|
|
|
261
|
-
The **WalletManager**, residing in the service worker, is responsible for instantiating **ObservableWallets** configured to track the given credentials, network and account (if applicable).
|
|
255
|
+
The **WalletManager**, residing in the service worker, is responsible for instantiating **ObservableWallets** configured to track the given credentials, network and account (if applicable).
|
|
262
256
|
|
|
263
257
|
When the UI scripts triggers a wallet switch, either by switching networks, accounts or even wallet credentials entirely, the **WalletManager** retrieves the requested wallet data from the **WalletRepository**, builds a new **Witnesser** using the **SigningCoordinator** (which is a proxy object from the UI script) and creates the new **ObservableWallet** instance, this new active wallet is emitted via the **activeWallet$** observable:
|
|
264
258
|
|
|
@@ -2,7 +2,7 @@ import { MessengerDependencies } from '../messaging';
|
|
|
2
2
|
export interface ConsumeKeyAgentProps {
|
|
3
3
|
walletName: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const consumeKeyAgent: ({ walletName }: ConsumeKeyAgentProps, dependencies: MessengerDependencies) => Pick<import("@cardano-sdk/key-management").KeyAgent, "
|
|
5
|
+
export declare const consumeKeyAgent: ({ walletName }: ConsumeKeyAgentProps, dependencies: MessengerDependencies) => Pick<import("@cardano-sdk/key-management").KeyAgent, "signTransaction" | "deriveAddress" | "derivePublicKey" | "signBlob"> & {
|
|
6
6
|
getChainId(): Promise<import("@cardano-sdk/core/dist/cjs/Cardano").ChainId>;
|
|
7
7
|
getBip32Ed25519(): Promise<import("@cardano-sdk/crypto").Bip32Ed25519>;
|
|
8
8
|
getExtendedAccountPublicKey(): Promise<import("@cardano-sdk/crypto").Bip32PublicKeyHex>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/observableWallet/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAyB,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,eAAO,MAAM,uBAAuB,eAAgB,MAAM,WAAqB,CAAC;AAEhF,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,CAAC,aAAa,CA+BtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/observableWallet/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAyB,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,eAAO,MAAM,uBAAuB,eAAgB,MAAM,WAAqB,CAAC;AAEhF,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,CAAC,aAAa,CA+BtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAyCjF,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,gBAAgB,CA8D5E,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAQtF,CAAC"}
|
|
@@ -52,6 +52,10 @@ exports.txBuilderProperties = {
|
|
|
52
52
|
getApiProperties: () => exports.outputBuilderProperties,
|
|
53
53
|
propType: messaging_1.RemoteApiPropertyType.ApiFactory
|
|
54
54
|
},
|
|
55
|
+
delegateFirstStakeCredential: {
|
|
56
|
+
getApiProperties: () => exports.txBuilderProperties,
|
|
57
|
+
propType: messaging_1.RemoteApiPropertyType.ApiFactory
|
|
58
|
+
},
|
|
55
59
|
delegatePortfolio: {
|
|
56
60
|
getApiProperties: () => exports.txBuilderProperties,
|
|
57
61
|
propType: messaging_1.RemoteApiPropertyType.ApiFactory
|
|
@@ -125,6 +129,7 @@ exports.observableWalletProperties = {
|
|
|
125
129
|
inFlight$: messaging_1.RemoteApiPropertyType.HotObservable,
|
|
126
130
|
onChain$: messaging_1.RemoteApiPropertyType.HotObservable,
|
|
127
131
|
pending$: messaging_1.RemoteApiPropertyType.HotObservable,
|
|
132
|
+
signed$: messaging_1.RemoteApiPropertyType.HotObservable,
|
|
128
133
|
submitting$: messaging_1.RemoteApiPropertyType.HotObservable
|
|
129
134
|
},
|
|
130
135
|
rollback$: messaging_1.RemoteApiPropertyType.HotObservable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/observableWallet/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/observableWallet/util.ts"],"names":[],"mappings":"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"}
|