@saturnnetwork/market-maker-strategy
Version:
Market Making Strategy for Saturn Network DEX
52 lines (51 loc) • 1.42 kB
TypeScript
import { Saturn } from '@saturnnetwork/saturn.js';
import { Provider } from 'ethers/providers';
import { BigNumber } from 'bignumber.js';
import { ActionType } from '../actiontypes';
export interface MarketMakerConfig {
saturn: Saturn;
provider: Provider;
blockchain: string;
token: string;
fundMinimum: BigNumber;
tokenLimit: BigNumber;
spread: BigNumber;
dustCutoff: BigNumber;
bandSize: BigNumber;
}
export declare class MarketMaker {
saturn: Saturn;
blockchain: string;
token: string;
config: MarketMakerConfig;
botAddress: string;
constructor(config: MarketMakerConfig, owner: string);
getActions(): Promise<Array<ActionType>>;
private newOrders;
private newBuys;
private newSells;
private cleanupOrders;
private pruneSells;
private pruneBuys;
private pluralizedOrders;
private checkArbOpportunity;
private ensureValidOrderBook;
private printMarketHealth;
private plotOrderBook;
private orderBook;
private fetchOrdersFor;
private weightedMidMarketPrice;
private bestSellOrder;
private bestBuyOrder;
private bestSellPrice;
private bestBuyPrice;
private spread;
private sellDepth;
private buyDepth;
private availableEther;
private availableTokens;
private etherLockedForAddress;
private tokensLockedForAddress;
private tokenDecimals;
private pow;
}