Skip to content

Commit 22c4b4b

Browse files
mraveuxclaude
andcommitted
Clean up multi-tx signing: remove dead code, fix types and i18n
- Remove unused `parsedRequest.plain` assignment in SignTransactionApi - Remove staking-specific field parsing (validatorAddress, validatorImageUrl, amount) that was not on any type and unused by the handler - Fix Parsed type for Checkout/Cashlink to map `transaction` → `transactions` matching what the parser actually produces - Make transaction count text reactive to language changes - Remove unused `.tx-label` CSS rule Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent e2c2dbc commit 22c4b4b

File tree

4 files changed

+13
-31
lines changed

4 files changed

+13
-31
lines changed

src/request/sign-transaction/SignTransaction.css

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,6 @@ nothing breaks in SignMultisigTransaction. */
222222
opacity: 0.6;
223223
}
224224

225-
#confirm-transaction .transaction-card .tx-label {
226-
font-weight: 600;
227-
white-space: nowrap;
228-
overflow: hidden;
229-
text-overflow: ellipsis;
230-
}
231-
232225
#confirm-transaction .transaction-card .tx-value {
233226
font-weight: 600;
234227
white-space: nowrap;

src/request/sign-transaction/SignTransaction.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,12 @@ class SignTransaction {
190190

191191
// Render transaction count
192192
const $count = /** @type {HTMLElement} */ ($multiTx.querySelector('.transaction-count'));
193-
$count.textContent = I18n.translatePhrase('sign-tx-multi-count')
194-
.replace('{count}', String(request.transactions.length));
193+
const txCount = String(request.transactions.length);
194+
const updateCount = () => {
195+
$count.textContent = I18n.translatePhrase('sign-tx-multi-count').replace('{count}', txCount);
196+
};
197+
updateCount();
198+
I18n.observer.on(I18n.Events.LANGUAGE_CHANGED, updateCount);
195199

196200
// Render transaction list
197201
const $list = /** @type {HTMLElement} */ ($multiTx.querySelector('.transaction-list'));

src/request/sign-transaction/SignTransactionApi.js

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,6 @@ class SignTransactionApi extends TopLevelApi {
7474
},
7575
);
7676

77-
// Store plain representations for UI display
78-
parsedRequest.plain = parsedRequest.transactions.map(tx => tx.toPlain());
79-
8077
// For single-item arrays, extract senderLabel for backward compatibility
8178
if (request.transactions.length === 1) {
8279
parsedRequest.senderLabel = this.parseLabel(request.senderLabel);
@@ -134,22 +131,6 @@ class SignTransactionApi extends TopLevelApi {
134131
parsedRequest.cashlinkMessage = /** @type {string} */(this.parseMessage(request.cashlinkMessage));
135132
}
136133

137-
// Parse staking-specific fields (like SignStaking does)
138-
if (request.validatorAddress) {
139-
parsedRequest.validatorAddress = this.parseAddress(request.validatorAddress, 'validatorAddress', false);
140-
}
141-
142-
if (request.validatorImageUrl) {
143-
parsedRequest.validatorImageUrl = this._parseUrl(request.validatorImageUrl, 'validatorImageUrl');
144-
}
145-
146-
if (request.amount) {
147-
parsedRequest.amount = this.parseNonNegativeFiniteNumber(request.amount, true, 'amount');
148-
}
149-
150-
// Note: Staking transactions are now supported in multi-transaction signing
151-
// The dedicated sign-staking endpoint is still available for backward compatibility
152-
153134
return parsedRequest;
154135
}
155136

types/Keyguard.d.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,11 +319,15 @@ type Parsed<T extends KeyguardRequest.Request> =
319319
T extends Is<T, KeyguardRequest.SignTransactionRequestCheckout> ?
320320
Transform<
321321
ConstructTransaction<KeyId2KeyInfo<KeyguardRequest.SignTransactionRequestCheckout>>,
322-
'shopLogoUrl',
323-
{ shopLogoUrl?: URL }
322+
'shopLogoUrl' | 'transaction',
323+
{ shopLogoUrl?: URL, transactions: Nimiq.Transaction[] }
324324
> :
325325
T extends Is<T, KeyguardRequest.SignTransactionRequestCashlink> ?
326-
ConstructTransaction<KeyId2KeyInfo<KeyguardRequest.SignTransactionRequestCashlink>> :
326+
Transform<
327+
ConstructTransaction<KeyId2KeyInfo<KeyguardRequest.SignTransactionRequestCashlink>>,
328+
'transaction',
329+
{ transactions: Nimiq.Transaction[] }
330+
> :
327331
T extends Is<T, KeyguardRequest.SignMultisigTransactionRequestStandard> ?
328332
ConstructMultisigTransaction<KeyId2KeyInfo<KeyguardRequest.SignMultisigTransactionRequestStandard>>
329333
& { layout: KeyguardRequest.SignMultisigTransactionRequestLayout } :

0 commit comments

Comments
 (0)