@console-wallet/dapp-sdk 1.1.0 → 1.1.2

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 (39) hide show
  1. package/CHANGELOG.md +252 -1
  2. package/README.md +1 -0
  3. package/dist/cjs/api/client.api.d.ts +10 -3
  4. package/dist/cjs/api/generated-wallet-api.d.ts +497 -6
  5. package/dist/cjs/api/generated-wallet-api.js +17 -2
  6. package/dist/cjs/api/generated-wallet-api.js.map +1 -1
  7. package/dist/cjs/helpers/handleResponce.helper.d.ts +1 -1
  8. package/dist/cjs/index.d.ts +1 -0
  9. package/dist/cjs/requests/index.d.ts +1 -0
  10. package/dist/cjs/requests/index.js +1 -0
  11. package/dist/cjs/requests/index.js.map +1 -1
  12. package/dist/cjs/requests/singBatch.d.ts +13 -0
  13. package/dist/cjs/requests/singBatch.js +35 -0
  14. package/dist/cjs/requests/singBatch.js.map +1 -0
  15. package/dist/cjs/types/communication.types.d.ts +1 -0
  16. package/dist/cjs/types/communication.types.js +1 -0
  17. package/dist/cjs/types/communication.types.js.map +1 -1
  18. package/dist/cjs/types/signed.type.d.ts +57 -12
  19. package/dist/cjs/types/signed.type.js +19 -3
  20. package/dist/cjs/types/signed.type.js.map +1 -1
  21. package/dist/esm/api/client.api.d.ts +10 -3
  22. package/dist/esm/api/generated-wallet-api.d.ts +497 -6
  23. package/dist/esm/api/generated-wallet-api.js +17 -2
  24. package/dist/esm/api/generated-wallet-api.js.map +1 -1
  25. package/dist/esm/helpers/handleResponce.helper.d.ts +1 -1
  26. package/dist/esm/index.d.ts +1 -0
  27. package/dist/esm/requests/index.d.ts +1 -0
  28. package/dist/esm/requests/index.js +1 -0
  29. package/dist/esm/requests/index.js.map +1 -1
  30. package/dist/esm/requests/singBatch.d.ts +13 -0
  31. package/dist/esm/requests/singBatch.js +31 -0
  32. package/dist/esm/requests/singBatch.js.map +1 -0
  33. package/dist/esm/types/communication.types.d.ts +1 -0
  34. package/dist/esm/types/communication.types.js +1 -0
  35. package/dist/esm/types/communication.types.js.map +1 -1
  36. package/dist/esm/types/signed.type.d.ts +57 -12
  37. package/dist/esm/types/signed.type.js +18 -2
  38. package/dist/esm/types/signed.type.js.map +1 -1
  39. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,46 @@
1
- # Changelog
1
+ # Changelog 1.1.2
2
+
3
+ Human‑readable diff between `1.1.1` and `1.1.2` .
4
+
5
+ ## Update — 2025-12-31
6
+
7
+ - Added memo field to send flow
8
+
9
+ # -
10
+ # -
11
+ # -
12
+ # -
13
+ # -
14
+
15
+
16
+ # Changelog 1.1.1
17
+
18
+ Human‑readable diff between `1.1.0` and `1.1.1` .
19
+
20
+ ## Update — 2025-12-22
21
+
22
+ - Added support for batch transaction signing.
23
+
24
+ ### Features
25
+
26
+ - Added `signBatch(data)` request to sign and broadcast multiple transactions in a single call.
27
+ - Introduced `SignBatchRequest` and `SignBatchResponse` types to support batch operations.
28
+
29
+ ### Requests Exports
30
+
31
+ - Exported `signBatch` from `src/requests/index.ts`.
32
+
33
+ ### Documentation
34
+
35
+ - Updated README Supported Requests table to include `signBatch`.
36
+
37
+ # -
38
+ # -
39
+ # -
40
+ # -
41
+ # -
42
+
43
+ # Changelog 1.1.0
2
44
 
3
45
  Human‑readable diff between `1.0.0` and `1.1.0` .
4
46
 
@@ -34,3 +76,212 @@ Human‑readable diff between `1.0.0` and `1.1.0` .
34
76
  ### Internal
35
77
 
36
78
  - Tweaked `communication.types.ts` to keep request routing constants consistent.
79
+
80
+ # -
81
+ # -
82
+ # -
83
+ # -
84
+ # -
85
+
86
+ # Changelog 1.0.0
87
+
88
+ Human‑readable diff between `0.0.24` and `1.0.0` .
89
+
90
+ ## What Changed
91
+
92
+ ### New APIs
93
+
94
+ - `status()` — returns current connection status (`ConnectResponse`).
95
+ - Watch helpers:
96
+ - `onAccountsChanged(onChange)` — callback receives `GetAccountResponse`.
97
+ - `onConnectionStatusChanged(onChange)` — callback receives `ConnectResponse`.
98
+ - `onTxStatusChanged(onChange)` — callback receives `TxChangedEvent`.
99
+
100
+ ### API Renames and Alignments
101
+
102
+ - `signSend(...)` → `submitCommands(...)` (same payload/flow, updated name).
103
+ - `getActiveAccount()` → `getPrimaryAccount()` (clarifies the wallet-selected account).
104
+ - `getTransfers(...)` → `getTokenTransfers(...)` (name reflects token transfer history).
105
+
106
+ ### Request/Response Types
107
+
108
+ - Requests: `SignSendRequest`, `SignMessageRequest`, `TokenTransfersRequest`, `OffersRequest`, `TransferRequest`, `GetBalanceRequest`.
109
+ - Responses: `SignSendResponse`, `SignedMessageResponse`, `TokenTransfersResponse`, `OffersResponse`, `TransferResponse`, `GetBalanceResponse`.
110
+ - Connection: `ConnectRequest`, `ConnectResponse`, `DisconnectResponse`, `NetworkStatus`.
111
+ - Network metadata: `Network`, `CANTON_NETWORK_VARIANTS`.
112
+
113
+ ### Type Updates (Network, Wallet)
114
+
115
+ - `Network` (in `src/types/token.types.ts`): clarified fields and added documentation for `nativeTokenId`.
116
+ - Shape: `{ id: CANTON_NETWORK_VARIANTS; name; description; shortName?; icon?; synchronizerId?; identityProviderId; baseUrl; explorerUrl?; nativeTokenId }`
117
+ - Example:
118
+ ```ts
119
+ const network: Network = {
120
+ id: CANTON_NETWORK_VARIANTS.CANTON_NETWORK_DEV,
121
+ name: 'Canton Devnet',
122
+ description: 'Development network',
123
+ identityProviderId: 'auth-dev',
124
+ baseUrl: 'https://devnet.ccview.io',
125
+ explorerUrl: 'https://explorer.devnet.ccview.io',
126
+ nativeTokenId: 'CANTON_COIN',
127
+ };
128
+ ```
129
+
130
+ - `Wallet` (in `src/types/account.type.ts`): clarified fields and associated helper types.
131
+ - Key fields: `primary`, `status ('initialized' | 'allocated')`, `partyId` (template literal type `${string}::${string}`), `hint`, `publicKey`, `namespace`, `networkId: CANTON_NETWORK_VARIANTS`, `signingProviderId`, `externalTxId?`, `topologyTransactions?`.
132
+ - Responses:
133
+ - `GetAccountsResponse = Wallet[] | undefined`
134
+ - `GetAccountResponse = Wallet | undefined`
135
+ - Example:
136
+ ```ts
137
+ const wallet: Wallet = {
138
+ primary: true,
139
+ status: 'initialized',
140
+ partyId: 'partyHint::partyId',
141
+ hint: 'partyHint',
142
+ publicKey: '0xabcdef...',
143
+ namespace: 'namespace-1',
144
+ networkId: CANTON_NETWORK_VARIANTS.CANTON_NETWORK_DEV,
145
+ signingProviderId: 'provider-123',
146
+ };
147
+ ```
148
+
149
+ - `TokenData` / Balance types:
150
+ - `TokenData` includes `price` and optional `balanceUsd` for convenience.
151
+ - `GetBalanceResponse` returns `{ tokens: TokenData[]; isSplitedBalance: boolean; price: string }`.
152
+
153
+ These updates are documentation‑focused (no breaking changes), improving intellisense and clarity around type shapes.
154
+
155
+ ### Additional Type Updates
156
+
157
+ - Connection types (in `src/types/connect.type.ts`):
158
+ - `ConnectRequest`: `{ icon?: string; name?: string }`
159
+ - `ConnectStatus`: `'connected' | 'disconnected'`
160
+ - `NetworkStatus`: `boolean`
161
+ - `ConnectResponse`: `ConnectStatus`
162
+ - `DisconnectResponse`: `ConnectStatus`
163
+ - `ConnectRequestInternal`: `{ referer: `http://${string}` | `https://${string}` }` (wallet-internal)
164
+ - Example:
165
+ ```ts
166
+ const connectPayload: ConnectRequest = { name: 'My dApp', icon: 'https://...' };
167
+ const status: ConnectResponse = 'connected';
168
+ ```
169
+
170
+ - Signing types (in `src/types/signed.type.ts`):
171
+ - `SignMessageRequest`: `{ message: { hex } | { base64 }; metaData?: Record<string,string> }`
172
+ - `SignedMessageResponse`: `string | undefined`
173
+ - `SignSendRequest`: `{ from; to; amount; expireDate; waitForFinalization?: number }`
174
+ - `SignSendResponse`: `{ status: boolean; signature?: string; confirmationData?: SendConfirmationDataType } | undefined`
175
+ - Example:
176
+ ```ts
177
+ const msgReq: SignMessageRequest = { message: { hex: '0xabc123' } };
178
+ const txReq: SignSendRequest = {
179
+ from: 'party::A',
180
+ to: 'party::B',
181
+ amount: '10',
182
+ expireDate: '2025-01-01',
183
+ };
184
+ ```
185
+
186
+ - History/indexer types (in `src/types/history.types.ts`):
187
+ - `TokenTransfersQuery`: parameters of `api.indexer.tokenTransferByPartyIdV2`
188
+ - `TokenTransfersRequest`: `{ query: TokenTransfersQuery; network: CANTON_NETWORK_VARIANTS }`
189
+ - `TokenTransfersResponse`: `PagedByCombinedCursorResponseTokenTransferSummary | null`
190
+ - `OffersQuery`: parameters of `api.indexer.offerBySenderPartyV2`
191
+ - `OffersRequest`: `{ query: OffersQuery; network: CANTON_NETWORK_VARIANTS }`
192
+ - `OffersResponse`: `PagedByCombinedCursorResponseOffer | null`
193
+ - `TransferRequest`: `{ eventId: string; network: CANTON_NETWORK_VARIANTS }`
194
+ - `TransferResponse`: `Awaited<ReturnType<typeof api.indexer.tokenTransferByEventIdV2>> | null`
195
+
196
+ - Helper utility types (in `src/types/helpers.types.ts`):
197
+ - `DiscriminantKeys<T>`: keys of `T` when object
198
+ - `ChildOf<T, K>`: type of property `K` from `T`
199
+ - `ElementType<T>`: element type of array `T`
200
+
201
+ - Trigger types (in `src/types/txTriggers.type.ts`):
202
+ - `TxEventStatus`: `'pending' | 'signed' | 'executed' | 'failed'`
203
+ - Event payloads: `TxChangedSignedPayload`, `TxChangedExecutedPayload`
204
+ - Event unions: `TxChangedEvent = Pending | Signed | Executed | Failed`
205
+ - Example:
206
+ ```ts
207
+ const evSigned: TxChangedEvent = {
208
+ status: TxEventStatus.SIGNED,
209
+ commandId: 'cmd-123',
210
+ payload: { signature: '0x..', signedBy: 'party::A', party: 'party::A' },
211
+ };
212
+ ```
213
+
214
+ ### Documentation and Hints
215
+
216
+ - README updated:
217
+ - Supported Requests table aligned to new names and types.
218
+ - New Watch Requests table (subscribe methods with payload types).
219
+ - JSDoc standardized across requests and types for consistent intellisense.
220
+
221
+ ## Migration Guide (Before → After)
222
+
223
+ ### Signing and Sending
224
+
225
+ - Before: `signSend(data)`
226
+ - After: `submitCommands(data)`
227
+
228
+ Example:
229
+
230
+ ```ts
231
+ // before
232
+ const res = await consoleWalletPixelplex.signSend({ from, to, amount, expireDate });
233
+
234
+ // after
235
+ const res = await consoleWalletPixelplex.submitCommands({ from, to, amount, expireDate });
236
+ ```
237
+
238
+ ### Account Access
239
+
240
+ - Before: `getActiveAccount()`
241
+ - After: `getPrimaryAccount()`
242
+
243
+ ```ts
244
+ const account = await consoleWalletPixelplex.getPrimaryAccount();
245
+ ```
246
+
247
+ ### Transfers
248
+
249
+ - Before: `getTransfers({ ... })`
250
+ - After: `getTokenTransfers({ query, network })`
251
+
252
+ ```ts
253
+ const transfers = await consoleWalletPixelplex.getTokenTransfers({ query, network });
254
+ ```
255
+
256
+ ### Connection Status
257
+
258
+ - New: `status()` returns `ConnectResponse` (`'connected' | 'disconnected'`).
259
+ - `isConnected()` returns `NetworkStatus` (`boolean`).
260
+
261
+ ```ts
262
+ const s = await consoleWalletPixelplex.status(); // 'connected' | 'disconnected'
263
+ const ok = await consoleWalletPixelplex.isConnected(); // true | false
264
+ ```
265
+
266
+ ### Watchers
267
+
268
+ ```ts
269
+ onAccountsChanged((acc) => {
270
+ /* acc: GetAccountResponse */
271
+ });
272
+ onConnectionStatusChanged((st) => {
273
+ /* st: ConnectResponse */
274
+ });
275
+ onTxStatusChanged((ev) => {
276
+ /* ev: TxChangedEvent */
277
+ });
278
+ ```
279
+
280
+ ## File‑Level Diff (Curated)
281
+
282
+ - Added: `src/requests/getStatus.ts` (new `status()` request).
283
+ - Added: `src/triggersNative/index.ts`, `onAccountsChanged.ts`, `onConnectionStatusChanged.ts`, `onTxChanged.ts`.
284
+ - Added: `src/types/txTriggers.type.ts`.
285
+ - Renamed: `src/requests/signSend.ts` → `src/requests/submitCommands.ts`.
286
+ - Updated: request modules and types to reflect new names and stricter typing.
287
+ - Updated: `README.md` to include the Watch Requests section and revised Supported Requests.
package/README.md CHANGED
@@ -88,6 +88,7 @@ Each request is automatically tagged with a **unique request ID** to ensure reli
88
88
  | `getActiveNetwork()` | Returns the currently selected network metadata. | — | `Network` |
89
89
  | `signMessage(message)` | Requests the user to sign a message (hex/base64). | `SignMessageRequest` | `SignedMessageResponse` |
90
90
  | `submitCommands(data)` | Signs and broadcasts a transaction to send Canton Coin. | `SignSendRequest` | `SignSendResponse` |
91
+ | `signBatch(data)` | Signs and broadcasts a batch of transactions. | `SignBatchRequest` | `SignBatchResponse` |
91
92
  | `connect(data)` | Prompts the user to connect their Console Wallet to the DApp. | `ConnectRequest` | `ConnectResponse` |
92
93
  | `status()` | Returns current connection status for the dApp origin. | — | `ConnectResponse` |
93
94
  | `isConnected()` | Checks if the network available. | — | `NetworkStatus` |
@@ -10,8 +10,9 @@ export declare const api: {
10
10
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").GetMergeUtxosStatusResponseDTO>;
11
11
  mergeDelegationControllerPrepareMergeDelegation: (data: import("./generated-wallet-api").PrepareMergeDelegationBodyDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").PrepareMergeDelegationResponseDTO>;
12
12
  mergeDelegationControllerSubmitMergeDelegation: (data: import("./generated-wallet-api").SubmitMergeDelegationBodyDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").SubmitMergeDelegationResponseDTO>;
13
- proxyIndexerControllerProxyLegacy: (data: import("./generated-wallet-api").ProxyRequestDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").GetOffersSearchResponseDTO | import("./generated-wallet-api").GetPartyDetailsResponseDTO | import("./generated-wallet-api").GetPricesResponseDTO | import("./generated-wallet-api").GetTokenTransfersByPartyResponseDTO | import("./generated-wallet-api").GetTransferDetailsResponseDTO>;
13
+ proxyIndexerControllerProxyLegacy: (data: import("./generated-wallet-api").ProxyRequestDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").GetAnsContextListEntryDTO | import("./generated-wallet-api").GetAnsListEntryDTO | import("./generated-wallet-api").GetGeneralSearchResultResponseDTO | import("./generated-wallet-api").GetOffersSearchResponseDTO | import("./generated-wallet-api").GetPartyDetailsResponseDTO | import("./generated-wallet-api").GetPricesProxyResponseDTO | import("./generated-wallet-api").GetPricesResponseDTO | import("./generated-wallet-api").GetTokenTransfersByPartyResponseDTO | import("./generated-wallet-api").GetTransferDetailsResponseDTO>;
14
14
  proxyIndexerControllerProxyMapped: (data: import("./generated-wallet-api").ProxyRequestDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").ProxyIndexerResponseDTO>;
15
+ proxyPriceApiControllerProxy: (data: import("./generated-wallet-api").CryptoAPIProxyBodyDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<any>;
15
16
  proxyW3AControllerProxy: (data: import("./generated-wallet-api").ProxyBodyDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").ProxyResponseDTO>;
16
17
  settingControllerCreateSetting: (data: import("./generated-wallet-api").CreateSettingBodyDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").CreateSettingResponseDTO>;
17
18
  settingControllerDeleteSetting: (id: number, params?: import("./generated-wallet-api").RequestParams) => Promise<void>;
@@ -22,15 +23,19 @@ export declare const api: {
22
23
  partyId: string;
23
24
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").CoinsBalancesResponseDTO>;
24
25
  tokenStandardControllerGetPendingTransactions: (query: {
26
+ limit?: number | undefined;
27
+ offset?: number | undefined;
25
28
  partyId: string;
26
29
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").GetPendingTransactionsResponseDTO>;
27
30
  tokenStandardControllerGetPendingTransactionsFull: (query: {
31
+ limit?: number | undefined;
32
+ offset?: number | undefined;
28
33
  partyId: string;
29
34
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").GetPendingTransactionsFullResponseDTO>;
30
35
  tokenStandardControllerListUtxoHoldings: (query: {
31
36
  partyId: string;
32
37
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").ListUtxosResponseDTO>;
33
- transferControllerGetTransferPreApproval: (query: {
38
+ transferControllerGetTransferPreApprovalOrFail: (query: {
34
39
  partyId: string;
35
40
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").GetTransferPreApprovalResponseDTO>;
36
41
  transferControllerPrepareBatchTransfer: (data: import("./generated-wallet-api").PrepareBatchTransferBodyDTO, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").PrepareBatchTransferResponseDTO>;
@@ -46,11 +51,13 @@ export declare const api: {
46
51
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").WaitForTxCompletionResponseDTO>;
47
52
  transferHistoryControllerGetTransfer: (id: number, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").TransferResponseDTO>;
48
53
  transferHistoryControllerGetTransfers: (query: {
49
- coin: "CC" | "CBTC" | "USDCx";
54
+ coin?: "CC" | "CBTC" | "USDCx" | undefined;
50
55
  filter?: "ALL" | "Pending" | "Accepted" | "Rejected" | undefined;
51
56
  limit?: number | undefined;
52
57
  offset?: number | undefined;
53
58
  partyId: string;
59
+ receiver?: string | undefined;
60
+ sender?: string | undefined;
54
61
  sortBy?: "createdAt" | undefined;
55
62
  sortDirection?: "ASC" | "DESC" | undefined;
56
63
  }, params?: import("./generated-wallet-api").RequestParams) => Promise<import("./generated-wallet-api").GetTransfersHistoryResponseDTO>;