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