diff --git a/src/client.ts b/src/client.ts index 5756ffb..672e8c0 100644 --- a/src/client.ts +++ b/src/client.ts @@ -148,6 +148,7 @@ export class MarginAccount { this.openOrdersAccounts = await Promise.all(promises) return this.openOrdersAccounts } + toPrettyString( mangoGroup: MangoGroup ): string { @@ -954,6 +955,18 @@ export class MangoClient { new MarginAccount(publicKey, MarginAccountLayout.decode(accountInfo == null ? undefined : accountInfo.data)) ); } + + async getCompleteMarginAccountsForOwner( + connection: Connection, + programId: PublicKey, + mangoGroup: MangoGroup, + owner: Account | Wallet + ): Promise { + + const marginAccounts = await this.getMarginAccountsForOwner(connection, programId, mangoGroup, owner) + await Promise.all(marginAccounts.map((ma) => ma.loadOpenOrders(connection, mangoGroup.dexProgramId))) + return marginAccounts + } } async function getMultipleAccounts(