import type { Arguments, CommandBuilder } from "yargs"; import * as anchor from "@project-serum/anchor"; import fs from "fs"; import { Keypair, LAMPORTS_PER_SOL, Transaction } from "@solana/web3.js"; import { Rain } from "@rainfi/rain"; export const command = "get_loans_from_lender"; export const desc = "Get all loans from a lender"; type Options = { details?: string address:string network: string } export const builder: CommandBuilder = (yargs) => { return yargs .options({ 'details': { describe: 'Show details', default: 0, demandOption: false }, 'address': { describe: 'The address to get the loans as lender from', demandOption: true, }, 'n': { alias: 'network', describe: 'Network to use', default: 'https://api.mainnet-beta.solana.com', demandOption: false } }) } export const handler = async (argv: Arguments): Promise => { const { details, address, network } = argv const connection = new anchor.web3.Connection(network); const rain = new Rain() console.log("[i] - Using RPC:", network); console.log("[i] - Using program:", rain.PUBKEY.toBase58()); console.log("[i] - Get Loans as Lender for :", address); const loans = await rain.utils.getLoansFromLender(connection, address) if (details) { console.log(loans) } else { const lighter = loans.map(x => { return { ...x } }) console.log(lighter) } };