UNPKG

liquidops

Version:

LiquidOps is an over-collateralised lending and borrowing protocol built on Arweave's L2 AO.

49 lines (42 loc) 1.11 kB
import { dryrun } from "@permaweb/aoconnect"; import { DryRunResult } from "@permaweb/aoconnect/dist/lib/dryrun"; interface MessageTags { Target: string; Action: string; Quantity?: string; Recipient?: string; "X-Action"?: string; "borrowed-quantity"?: string; "borrowed-address"?: string; "Borrow-Id"?: string; "LO-Action"?: string; Token?: string; "Fill-Gaps"?: string; Tickers?: string; } type GetDataRes = DryRunResult; export async function getData(messageTags: MessageTags): Promise<GetDataRes> { const convertedMessageTags = Object.entries(messageTags).map( ([name, value]) => ({ name, value, }), ); convertedMessageTags.push({ name: "Protocol-Name", value: "LiquidOps" }); const targetProcessID = messageTags["Target"]; try { const { Messages, Spawns, Output, Error } = await dryrun({ process: targetProcessID, data: "", tags: convertedMessageTags, }); return { Messages, Spawns, Output, Error, }; } catch (error) { throw new Error(`Error sending ao dryrun: ${error}`); } }