feat: add lendingPlatform field to wallet state
This commit is contained in:
23
wallets.js
23
wallets.js
@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user