@bancor/carbon-sdk
Version:
The SDK is a READ-ONLY tool, intended to facilitate working with Carbon contracts. It's a convenient wrapper around our matching algorithm, allowing programs and users get a ready to use transaction data that will allow them to manage strategies and fulfi
39 lines • 2.04 kB
TypeScript
import { CarbonController } from '../abis/types/CarbonController';
import { Contracts } from './Contracts';
import { MulticallService } from './utils';
import { EncodedStrategy, Fetcher, TokenPair, BlockMetadata, SyncedEvents } from '../common/types';
/**
* Class that provides methods to read data from contracts.
*/
export default class Reader implements Fetcher {
private _contracts;
private _multicallService;
constructor(contracts: Contracts, multicallService?: MulticallService);
private _multicall;
strategy(id: bigint): Promise<EncodedStrategy>;
strategies(ids: bigint[]): Promise<EncodedStrategy[]>;
pairs(): Promise<TokenPair[]>;
strategiesByPair(token0: string, token1: string): Promise<EncodedStrategy[]>;
strategiesByPairs(pairs: TokenPair[]): Promise<{
pair: TokenPair;
strategies: EncodedStrategy[];
}[]>;
tokensByOwner(owner: string): Promise<bigint[]>;
tradingFeePPM(): Promise<number>;
onTradingFeePPMUpdated(listener: (prevFeePPM: number, newFeePPM: number) => void): Promise<CarbonController>;
pairTradingFeePPM(token0: string, token1: string): Promise<number>;
pairsTradingFeePPM(pairs: TokenPair[]): Promise<[string, string, number][]>;
onPairTradingFeePPMUpdated(listener: (token0: string, token1: string, prevFeePPM: number, newFeePPM: number) => void): Promise<CarbonController>;
getDecimalsByAddress: (address: string) => Promise<number>;
getBlockNumber: () => Promise<number>;
getBlock: (blockNumber: number) => Promise<BlockMetadata>;
/**
* Fetches all events from a block range using eth_getLogs with chunking
* @param fromBlock - Starting block number
* @param toBlock - Ending block number
* @param maxChunkSize - Maximum number of blocks to query in a single request
* @returns Array of typed events sorted by block number and log index
*/
getEvents(fromBlock: number, toBlock: number, maxChunkSize?: number): Promise<SyncedEvents>;
}
//# sourceMappingURL=Reader.d.ts.map