@algofi/js-sdk
Version:
The official Algofi JavaScript SDK
42 lines (41 loc) • 1.39 kB
TypeScript
import { Algodv2 } from "algosdk";
import { Network } from "../../globals";
import AlgofiClient from "../../algofiClient";
import ParsedTransaction from "../../parsedTransaction";
import { PoolType } from "./ammConfig";
import Pool from "./pool";
import LinearPool from "./linearPool";
export default class AMMClient {
algofiClient: AlgofiClient;
algod: Algodv2;
network: Network;
managerAppId: number;
pools: {
[key: number]: Pool;
};
assetPoolMap: {
[key: number]: Pool[];
};
poolMap: {
[key: number]: {
[key: number]: {
[key: number]: Pool;
};
};
};
lpPoolMap: {
[key: number]: Pool;
};
linearPool: LinearPool;
constructor(algofiClient: AlgofiClient);
loadState(): Promise<void>;
getPool(assetAId: number, assetBId: number, poolType: PoolType): Promise<Pool>;
hasPoolForLPAsset(lpAssetId: number): boolean;
getPoolByLPAsset(lpAssetId: number): Promise<Pool>;
hasPoolsForAsset(assetId: number): boolean;
getPoolsByAsset(assetId: number): Pool[];
hasPoolForAppId(appId: number): boolean;
getPoolByAppId(appId: number): Promise<Pool>;
isAMMTransaction(txn: object): boolean;
parseTransaction(txns: {}[], txnIdx: number, parsedTransactions: ParsedTransaction[]): void;
}