UNPKG

@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
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