UNPKG

@renegade-fi/core

Version:
43 lines (38 loc) 1.32 kB
import { GET_WALLET_ROUTE } from '../constants.js' import type { RenegadeConfig } from '../createConfig.js' import { BaseError, type BaseErrorType } from '../errors/base.js' import type { Order } from '../types/order.js' import type { Balance, Wallet } from '../types/wallet.js' import { getRelayerWithAuth } from '../utils/http.js' import { getWalletId } from './getWalletId.js' export type GetWalletFromRelayerParameters = { filterDefaults?: boolean } export type GetWalletFromRelayerReturnType = Wallet export type GetWalletFromRelayerErrorType = BaseErrorType export async function getWalletFromRelayer( config: RenegadeConfig, parameters: GetWalletFromRelayerParameters = {}, ): Promise<GetWalletFromRelayerReturnType> { const { filterDefaults } = parameters const { getBaseUrl } = config const walletId = getWalletId(config) const res = await getRelayerWithAuth( config, getBaseUrl(GET_WALLET_ROUTE(walletId)), ) if (!res.wallet) { throw new BaseError('Wallet not found') } if (filterDefaults) { return { ...res.wallet, balances: res.wallet.balances.filter( (b: Balance) => b.amount || b.protocol_fee_balance || b.relayer_fee_balance, ), orders: res.wallet.orders.filter((o: Order) => o.amount), } } return res.wallet }