liquidops-test-liquidations
Version:
LiquidOps is an over-collateralised lending and borrowing protocol built on Arweave's L2 AO.
69 lines (63 loc) • 2.27 kB
text/typescript
export interface TokenData {
name: string;
icon: string;
ticker: string;
address: string;
oTicker: string;
oAddress: string;
controllerAddress: string;
cleanTicker: string;
denomination: bigint;
collateralEnabled: boolean;
}
export const controllerAddress = "4IDY80UNvSLDp9wNlVHHNw8CMuPnA1UJfX1-kR5B4yU";
export const redstoneOracleAddress =
"dCPZ4dEitEXQB2p8wS1V2VIkQ9BQFKEgMm4El-3NGhw";
export const APRAgentAddress = "D3AlSUAtbWKcozsrvckRuCY6TVkAY1rWtLYGoGf6KIA";
export const tokenData: Record<string, TokenData> = {
QAR: {
name: "Quantum Arweave",
icon: "8VLMb0c9NATl4iczfwpMDe1Eh8kFWIUpSlIkcGfDFzM",
ticker: "QAR",
address: "rjYl6i4cDpE4c-OIJ7srTrcNulrf8Xw4Y8pDZDBAOUs",
oTicker: "oQAR",
oAddress: "oUYf4mzhcRLbuWmLRbdgXYgxyZhZeCt789Fct3t1EwY",
controllerAddress,
cleanTicker: "qAR",
denomination: BigInt(12),
collateralEnabled: true,
},
USDC: {
name: "USD Circle",
icon: "iNYk0bDqUiH0eLT2rbYjYAI5i126R4ye8iAZb55IaIM",
ticker: "USDC",
address: "zFEDdM1uAW1n3dwgzLUTO0GGFbCMdEXfDQjNc3Gbong",
oTicker: "oUSDC",
oAddress: "wBmXOpYi_Dj7XTtrkuR_fX_tm4FGBOUpHuj48Sbp_jY",
controllerAddress,
cleanTicker: "USDC",
denomination: BigInt(12),
collateralEnabled: true,
},
};
export type SupportedTokensTickers = keyof typeof tokenData;
export type SupportedTokensAddresses = TokenData["address"];
export type SupportedOTokensTickers = TokenData["oTicker"];
export type SupportedOTokensAddresses = TokenData["oAddress"];
export type SupportedControllerAddresses = TokenData["controllerAddress"];
export const tokens: Record<SupportedTokensTickers, SupportedTokensAddresses> =
Object.fromEntries(
Object.entries(tokenData).map(([ticker, data]) => [ticker, data.address]),
);
export const oTokens: Record<
SupportedOTokensTickers,
SupportedOTokensAddresses
> = Object.fromEntries(
Object.entries(tokenData).map(([_, data]) => [data.oTicker, data.oAddress]),
);
export const collateralEnabledTickers = Object.keys(tokenData).filter(
(ticker) => tokenData[ticker as SupportedTokensTickers].collateralEnabled,
);
export const collateralEnabledOTickers = collateralEnabledTickers.map(
(ticker) => tokenData[ticker as SupportedTokensTickers].oTicker,
);