import { NodeConfiguration } from "../utils/public"; import { buildRequestUrl } from "../utils/internal"; import { call } from "../utils/internal"; import { Transaction, transactionFromApi } from "./models"; export const getBlockTransactions = async ( nodeConfiguration: NodeConfiguration, payload: { height?: number; blockId?: string; includeMiningRewards?: boolean; }, ): Promise> => { const { height, blockId, includeMiningRewards } = payload; const queryParams: Record = { q: "getBlockTransactions", }; if (height) { queryParams.height = height; } if (blockId) { queryParams.block = blockId; } if (includeMiningRewards) { queryParams.includeMiningRewards = "true"; } const url = buildRequestUrl(nodeConfiguration.url, "/api.php", queryParams); return (await call>({ url })).map((data: any) => transactionFromApi(data), ); };