feat: update ada export to keystone
What changed, and why it matters
This commit adds Cardano (ADA) support to the Keystone wallet connection/export feature. It simply includes an additional public key path and an icon in two UI lists. There is no security-relevant change visible in the diff.
No security action required; treat as a normal feature addition. Routine review of the new xpub path handling and icon integration is sufficient.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch extends the list of extended public key (xpub) chain paths exported when connecting to a Keystone wallet to include XPUB_TYPE_ADA_0, and adds the corresponding coinAda icon to two Keystone wallet coin arrays (BIP39 and SLIP39 variants). No cryptographic, parsing, memory-handling, or access-control changes are present.
Changed components
src/ui/gui_wallet/multi/web3/gui_wallet.csrc/ui/gui_widgets/multi/web3/gui_connect_wallet_widgets.cInspect captured patch +3 / −2
diff --git a/src/ui/gui_wallet/multi/web3/gui_wallet.c b/src/ui/gui_wallet/multi/web3/gui_wallet.c
index cd44599..65cf362 100644
--- a/src/ui/gui_wallet/multi/web3/gui_wallet.c
+++ b/src/ui/gui_wallet/multi/web3/gui_wallet.c
@@ -502,6 +502,7 @@ UREncodeResult *GuiGetKeystoneConnectWalletDataBip39(void)
{.path = GetXPubPath(XPUB_TYPE_LTC), .chainType = XPUB_TYPE_LTC},
{.path = GetXPubPath(XPUB_TYPE_LTC_NATIVE_SEGWIT), .chainType = XPUB_TYPE_LTC_NATIVE_SEGWIT},
{.path = GetXPubPath(XPUB_TYPE_ZEC_TRANSPARENT_LEGACY), .chainType = XPUB_TYPE_ZEC_TRANSPARENT_LEGACY},
+ {.path = GetXPubPath(XPUB_TYPE_ADA_0), .chainType = XPUB_TYPE_ADA_0},
};
ExtendedPublicKey keys[NUMBER_OF_ARRAYS(chainPaths)];
uint8_t mfp[4] = {0};
diff --git a/src/ui/gui_widgets/multi/web3/gui_connect_wallet_widgets.c b/src/ui/gui_widgets/multi/web3/gui_connect_wallet_widgets.c
index 3072bc5..e4dd889 100644
--- a/src/ui/gui_widgets/multi/web3/gui_connect_wallet_widgets.c
+++ b/src/ui/gui_widgets/multi/web3/gui_connect_wallet_widgets.c
@@ -95,11 +95,11 @@ static const lv_img_dsc_t *g_backpackWalletCoinArray[3] = {
};
static const lv_img_dsc_t *g_keystoneWalletCoinArray[] = {
- &coinBtc, &coinEth, &coinTrx, &coinXrp, &coinBnb, &coinLtc, &coinDoge, &coinZec
+ &coinBtc, &coinEth, &coinTrx, &coinXrp, &coinBnb, &coinLtc, &coinDoge, &coinZec, &coinAda
};
static const lv_img_dsc_t *g_keystoneWalletCoinArraySlip39[] = {
- &coinBtc, &coinEth, &coinTrx, &coinXrp, &coinBnb, &coinLtc, &coinDoge
+ &coinBtc, &coinEth, &coinTrx, &coinXrp, &coinBnb, &coinLtc, &coinDoge, &coinAda,
};
static const lv_img_dsc_t *g_UniSatCoinArray[5] = {
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.