@console-wallet/dapp-sdk 1.1.0 → 1.1.1

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 +237 -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 +53 -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 +53 -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,31 @@
1
- # Changelog
1
+ # Changelog 1.1.1
2
+
3
+ Human‑readable diff between `1.1.0` and `1.1.1` .
4
+
5
+ ## Update — 2025-12-22
6
+
7
+ - Added support for batch transaction signing.
8
+
9
+ ### Features
10
+
11
+ - Added `signBatch(data)` request to sign and broadcast multiple transactions in a single call.
12
+ - Introduced `SignBatchRequest` and `SignBatchResponse` types to support batch operations.
13
+
14
+ ### Requests Exports
15
+
16
+ - Exported `signBatch` from `src/requests/index.ts`.
17
+
18
+ ### Documentation
19
+
20
+ - Updated README Supported Requests table to include `signBatch`.
21
+
22
+ # -
23
+ # -
24
+ # -
25
+ # -
26
+ # -
27
+
28
+ # Changelog 1.1.0
2
29
 
3
30
  Human‑readable diff between `1.0.0` and `1.1.0` .
4
31
 
@@ -34,3 +61,212 @@ Human‑readable diff between `1.0.0` and `1.1.0` .
34
61
  ### Internal
35
62
 
36
63
  - Tweaked `communication.types.ts` to keep request routing constants consistent.
64
+
65
+ # -
66
+ # -
67
+ # -
68
+ # -
69
+ # -
70
+
71
+ # Changelog 1.0.0
72
+
73
+ Human‑readable diff between `0.0.24` and `1.0.0` .
74
+
75
+ ## What Changed
76
+
77
+ ### New APIs
78
+
79
+ - `status()` — returns current connection status (`ConnectResponse`).
80
+ - Watch helpers:
81
+ - `onAccountsChanged(onChange)` — callback receives `GetAccountResponse`.
82
+ - `onConnectionStatusChanged(onChange)` — callback receives `ConnectResponse`.
83
+ - `onTxStatusChanged(onChange)` — callback receives `TxChangedEvent`.
84
+
85
+ ### API Renames and Alignments
86
+
87
+ - `signSend(...)` → `submitCommands(...)` (same payload/flow, updated name).
88
+ - `getActiveAccount()` → `getPrimaryAccount()` (clarifies the wallet-selected account).
89
+ - `getTransfers(...)` → `getTokenTransfers(...)` (name reflects token transfer history).
90
+
91
+ ### Request/Response Types
92
+
93
+ - Requests: `SignSendRequest`, `SignMessageRequest`, `TokenTransfersRequest`, `OffersRequest`, `TransferRequest`, `GetBalanceRequest`.
94
+ - Responses: `SignSendResponse`, `SignedMessageResponse`, `TokenTransfersResponse`, `OffersResponse`, `TransferResponse`, `GetBalanceResponse`.
95
+ - Connection: `ConnectRequest`, `ConnectResponse`, `DisconnectResponse`, `NetworkStatus`.
96
+ - Network metadata: `Network`, `CANTON_NETWORK_VARIANTS`.
97
+
98
+ ### Type Updates (Network, Wallet)
99
+
100
+ - `Network` (in `src/types/token.types.ts`): clarified fields and added documentation for `nativeTokenId`.
101
+ - Shape: `{ id: CANTON_NETWORK_VARIANTS; name; description; shortName?; icon?; synchronizerId?; identityProviderId; baseUrl; explorerUrl?; nativeTokenId }`
102
+ - Example:
103
+ ```ts
104
+ const network: Network = {
105
+ id: CANTON_NETWORK_VARIANTS.CANTON_NETWORK_DEV,
106
+ name: 'Canton Devnet',
107
+ description: 'Development network',
108
+ identityProviderId: 'auth-dev',
109
+ baseUrl: 'https://devnet.ccview.io',
110
+ explorerUrl: 'https://explorer.devnet.ccview.io',
111
+ nativeTokenId: 'CANTON_COIN',
112
+ };
113
+ ```
114
+
115
+ - `Wallet` (in `src/types/account.type.ts`): clarified fields and associated helper types.
116
+ - Key fields: `primary`, `status ('initialized' | 'allocated')`, `partyId` (template literal type `${string}::${string}`), `hint`, `publicKey`, `namespace`, `networkId: CANTON_NETWORK_VARIANTS`, `signingProviderId`, `externalTxId?`, `topologyTransactions?`.
117
+ - Responses:
118
+ - `GetAccountsResponse = Wallet[] | undefined`
119
+ - `GetAccountResponse = Wallet | undefined`
120
+ - Example:
121
+ ```ts
122
+ const wallet: Wallet = {
123
+ primary: true,
124
+ status: 'initialized',
125
+ partyId: 'partyHint::partyId',
126
+ hint: 'partyHint',
127
+ publicKey: '0xabcdef...',
128
+ namespace: 'namespace-1',
129
+ networkId: CANTON_NETWORK_VARIANTS.CANTON_NETWORK_DEV,
130
+ signingProviderId: 'provider-123',
131
+ };
132
+ ```
133
+
134
+ - `TokenData` / Balance types:
135
+ - `TokenData` includes `price` and optional `balanceUsd` for convenience.
136
+ - `GetBalanceResponse` returns `{ tokens: TokenData[]; isSplitedBalance: boolean; price: string }`.
137
+
138
+ These updates are documentation‑focused (no breaking changes), improving intellisense and clarity around type shapes.
139
+
140
+ ### Additional Type Updates
141
+
142
+ - Connection types (in `src/types/connect.type.ts`):
143
+ - `ConnectRequest`: `{ icon?: string; name?: string }`
144
+ - `ConnectStatus`: `'connected' | 'disconnected'`
145
+ - `NetworkStatus`: `boolean`
146
+ - `ConnectResponse`: `ConnectStatus`
147
+ - `DisconnectResponse`: `ConnectStatus`
148
+ - `ConnectRequestInternal`: `{ referer: `http://${string}` | `https://${string}` }` (wallet-internal)
149
+ - Example:
150
+ ```ts
151
+ const connectPayload: ConnectRequest = { name: 'My dApp', icon: 'https://...' };
152
+ const status: ConnectResponse = 'connected';
153
+ ```
154
+
155
+ - Signing types (in `src/types/signed.type.ts`):
156
+ - `SignMessageRequest`: `{ message: { hex } | { base64 }; metaData?: Record<string,string> }`
157
+ - `SignedMessageResponse`: `string | undefined`
158
+ - `SignSendRequest`: `{ from; to; amount; expireDate; waitForFinalization?: number }`
159
+ - `SignSendResponse`: `{ status: boolean; signature?: string; confirmationData?: SendConfirmationDataType } | undefined`
160
+ - Example:
161
+ ```ts
162
+ const msgReq: SignMessageRequest = { message: { hex: '0xabc123' } };
163
+ const txReq: SignSendRequest = {
164
+ from: 'party::A',
165
+ to: 'party::B',
166
+ amount: '10',
167
+ expireDate: '2025-01-01',
168
+ };
169
+ ```
170
+
171
+ - History/indexer types (in `src/types/history.types.ts`):
172
+ - `TokenTransfersQuery`: parameters of `api.indexer.tokenTransferByPartyIdV2`
173
+ - `TokenTransfersRequest`: `{ query: TokenTransfersQuery; network: CANTON_NETWORK_VARIANTS }`
174
+ - `TokenTransfersResponse`: `PagedByCombinedCursorResponseTokenTransferSummary | null`
175
+ - `OffersQuery`: parameters of `api.indexer.offerBySenderPartyV2`
176
+ - `OffersRequest`: `{ query: OffersQuery; network: CANTON_NETWORK_VARIANTS }`
177
+ - `OffersResponse`: `PagedByCombinedCursorResponseOffer | null`
178
+ - `TransferRequest`: `{ eventId: string; network: CANTON_NETWORK_VARIANTS }`
179
+ - `TransferResponse`: `Awaited<ReturnType<typeof api.indexer.tokenTransferByEventIdV2>> | null`
180
+
181
+ - Helper utility types (in `src/types/helpers.types.ts`):
182
+ - `DiscriminantKeys<T>`: keys of `T` when object
183
+ - `ChildOf<T, K>`: type of property `K` from `T`
184
+ - `ElementType<T>`: element type of array `T`
185
+
186
+ - Trigger types (in `src/types/txTriggers.type.ts`):
187
+ - `TxEventStatus`: `'pending' | 'signed' | 'executed' | 'failed'`
188
+ - Event payloads: `TxChangedSignedPayload`, `TxChangedExecutedPayload`
189
+ - Event unions: `TxChangedEvent = Pending | Signed | Executed | Failed`
190
+ - Example:
191
+ ```ts
192
+ const evSigned: TxChangedEvent = {
193
+ status: TxEventStatus.SIGNED,
194
+ commandId: 'cmd-123',
195
+ payload: { signature: '0x..', signedBy: 'party::A', party: 'party::A' },
196
+ };
197
+ ```
198
+
199
+ ### Documentation and Hints
200
+
201
+ - README updated:
202
+ - Supported Requests table aligned to new names and types.
203
+ - New Watch Requests table (subscribe methods with payload types).
204
+ - JSDoc standardized across requests and types for consistent intellisense.
205
+
206
+ ## Migration Guide (Before → After)
207
+
208
+ ### Signing and Sending
209
+
210
+ - Before: `signSend(data)`
211
+ - After: `submitCommands(data)`
212
+
213
+ Example:
214
+
215
+ ```ts
216
+ // before
217
+ const res = await consoleWalletPixelplex.signSend({ from, to, amount, expireDate });
218
+
219
+ // after
220
+ const res = await consoleWalletPixelplex.submitCommands({ from, to, amount, expireDate });
221
+ ```
222
+
223
+ ### Account Access
224
+
225
+ - Before: `getActiveAccount()`
226
+ - After: `getPrimaryAccount()`
227
+
228
+ ```ts
229
+ const account = await consoleWalletPixelplex.getPrimaryAccount();
230
+ ```
231
+
232
+ ### Transfers
233
+
234
+ - Before: `getTransfers({ ... })`
235
+ - After: `getTokenTransfers({ query, network })`
236
+
237
+ ```ts
238
+ const transfers = await consoleWalletPixelplex.getTokenTransfers({ query, network });
239
+ ```
240
+
241
+ ### Connection Status
242
+
243
+ - New: `status()` returns `ConnectResponse` (`'connected' | 'disconnected'`).
244
+ - `isConnected()` returns `NetworkStatus` (`boolean`).
245
+
246
+ ```ts
247
+ const s = await consoleWalletPixelplex.status(); // 'connected' | 'disconnected'
248
+ const ok = await consoleWalletPixelplex.isConnected(); // true | false
249
+ ```
250
+
251
+ ### Watchers
252
+
253
+ ```ts
254
+ onAccountsChanged((acc) => {
255
+ /* acc: GetAccountResponse */
256
+ });
257
+ onConnectionStatusChanged((st) => {
258
+ /* st: ConnectResponse */
259
+ });
260
+ onTxStatusChanged((ev) => {
261
+ /* ev: TxChangedEvent */
262
+ });
263
+ ```
264
+
265
+ ## File‑Level Diff (Curated)
266
+
267
+ - Added: `src/requests/getStatus.ts` (new `status()` request).
268
+ - Added: `src/triggersNative/index.ts`, `onAccountsChanged.ts`, `onConnectionStatusChanged.ts`, `onTxChanged.ts`.
269
+ - Added: `src/types/txTriggers.type.ts`.
270
+ - Renamed: `src/requests/signSend.ts` → `src/requests/submitCommands.ts`.
271
+ - Updated: request modules and types to reflect new names and stricter typing.
272
+ - 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>;