import { Address } from 'viem'; import { SharedWalletList } from '../../types'; export const WALLET_QUERY = `query endUser($address: ID) { endUser(id: $address) { id name createdAt updatedAt sharedWallets { isRemoved index sharedWallet { id name owners { isRemoved index owner { id } } } } } }`; export interface WalletEntity { endUser: { id: string; name?: string; createdAt: string; updatedAt: string; sharedWallets: { sharedWallet: { id: string; name?: string; owners: { isRemoved: boolean; index: number; owner: { id: string; }; }[]; }; index: number; isRemoved: boolean; }[]; }; } export function transform(entity: WalletEntity): SharedWalletList { return { sharedWallets: entity.endUser.sharedWallets.map((wallet) => ({ address: wallet.sharedWallet.id as Address, index: wallet.index, name: wallet.sharedWallet.name, isRemoved: wallet.isRemoved, owners: wallet.sharedWallet.owners.map((owner) => ({ address: owner.owner.id as Address, index: owner.index, isRemoved: owner.isRemoved, })), })), }; }