feat: add lendingPlatform field to wallet state

This commit is contained in:
Dione
2026-06-10 19:52:47 +00:00
parent e28e66b29f
commit 88c8f7927d

View File

@ -145,14 +145,15 @@ export class WalletManager {
signature flow in time. */
this._wallets = parsed
.filter((w) => w && typeof w === 'object' && w.address && w.chain)
.map((w) => ({
address: String(w.address),
chain: String(w.chain).toLowerCase(),
nickname: w.nickname ? String(w.nickname) : '',
isVerified: !!(w.isVerified && w.messageData),
signature: w.signature ? String(w.signature) : null,
messageData: w.messageData ? w.messageData : null,
}))
.map((w) => ({
address: String(w.address),
chain: String(w.chain).toLowerCase(),
nickname: w.nickname ? String(w.nickname) : '',
lendingPlatform: w.lendingPlatform ? String(w.lendingPlatform).toLowerCase() : 'aave',
isVerified: !!(w.isVerified && w.messageData),
signature: w.signature ? String(w.signature) : null,
messageData: w.messageData ? w.messageData : null,
}))
.filter((w) => {
/* Non-verification chains (btc, bitcoin, solana) are always kept */
if (['btc', 'bitcoin', 'solana'].includes(w.chain)) return true;
@ -196,15 +197,16 @@ export class WalletManager {
}).map((w) => ({ ...w }));
}
/**
/**
* Add a new wallet. Rejects duplicates (same address+chain).
*
* @param {string} address
* @param {ChainId} chain
* @param {string} [nickname='']
* @param {string} [lendingPlatform='aave']
* @returns {{ success: true, wallet: TrackedWallet } | { success: false, error: string }}
*/
addWallet(address, chain, nickname = '') {
addWallet(address, chain, nickname = '', lendingPlatform = 'aave') {
const normalAddress = String(address).trim();
const normalChain = String(chain).toLowerCase();
const normalNickname = String(nickname).trim();
@ -236,6 +238,7 @@ export class WalletManager {
address: normalAddress,
chain: normalChain,
nickname: normalNickname,
lendingPlatform: String(lendingPlatform).toLowerCase(),
isVerified: false,
signature: null,
messageData: null,