UNPKG

rubik-sdk

Version:
69 lines (68 loc) 2.85 kB
import { Web3Private } from 'src/core/blockchain/web3-private/web3-private'; import { Web3PublicService } from 'src/core/blockchain/web3-public/web3-public-service'; import { Configuration, RpcProvider } from 'src/core/sdk/models/configuration'; import { CrossChainManager } from 'src/features/cross-chain/cross-chain-manager'; import { InstantTradesManager } from 'src/features/instant-trades/instant-trades-manager'; import { TokensManager } from 'src/features/tokens/tokens-manager'; import { BlockchainName } from 'src/core'; import { CrossChainSymbiosisManager } from 'src/features/cross-chain/cross-chain-symbiosis-manager'; import { CrossChainStatusManager } from 'src/features/cross-chain/cross-chain-status-manager'; /** * Base class to work with sdk. */ export declare class SDK { /** * Instant trades manager object. Use it to calculate and create instant trades. */ readonly instantTrades: InstantTradesManager; /** * Cross-chain trades manager object. Use it to calculate and create cross-chain trades. */ readonly crossChain: CrossChainManager; /** * Cross-chain symbiosis manager object. Use it to get pending trades in symbiosis and revert them. */ readonly crossChainSymbiosisManager: CrossChainSymbiosisManager; /** * Cross-chain status manager object. Use it to get trade statuses on source and target network. */ readonly crossChainStatusManager: CrossChainStatusManager; /** * Tokens manager object. Use it to fetch and store tokens data. */ readonly tokens: TokensManager; /** * Can be used to get `Web3Public` instance by blockchain name to get public information from blockchain. */ readonly web3PublicService: Web3PublicService; /** * Can be used to send transactions and execute smart contracts methods. */ readonly web3Private: Web3Private; /** * Use it to get gas price information. */ readonly gasPriceApi: import("../..").GasPriceApi; /** * Use it to get crypto price information. */ readonly cryptoPriceApi: import("../..").CoingeckoApi; /** * @internal * Stores currently set rpc providers for each blockchain. */ static rpcList: Partial<Record<BlockchainName, RpcProvider>>; /** * Creates new sdk instance. Changes dependencies of all sdk entities according * to new configuration (even for entities created with other previous sdk instances). */ static createSDK(configuration: Configuration): Promise<SDK>; private static createWeb3Private; private static createWeb3PublicService; private static createHttpClient; private constructor(); /** * Updates sdk configuration and sdk entities dependencies. */ updateConfiguration(configuration: Configuration): Promise<void>; }