UNPKG

rubic-sdk-next

Version:
75 lines (74 loc) 3.54 kB
import { Web3PrivateService } from '../blockchain/web3-private-service/web3-private-service'; import { Web3PublicService } from '../blockchain/web3-public-service/web3-public-service'; import { CoingeckoApi } from '../coingecko-api/coingecko-api'; import { GasPriceApi } from '../gas-price-api/gas-price-api'; import { Configuration } from './models/configuration'; import { WalletProvider, WalletProviderCore } from './models/wallet-provider'; import { CrossChainManager } from '../../features/cross-chain/calculation-manager/cross-chain-manager'; import { CrossChainStatusManager } from '../../features/cross-chain/status-manager/cross-chain-status-manager'; import { CrossChainSymbiosisManager } from '../../features/cross-chain/symbiosis-manager/cross-chain-symbiosis-manager'; import { DeflationTokenManager } from '../../features/deflation-token-manager/deflation-token-manager'; import { OnChainManager } from '../../features/on-chain/calculation-manager/on-chain-manager'; import { OnChainStatusManager } from '../../features/on-chain/status-manager/on-chain-status-manager'; /** * Base class to work with sdk. */ export declare class SDK { /** * On-chain manager object. Use it to calculate and create on-chain trades. */ readonly onChainManager: OnChainManager; /** * Cross-chain trades manager object. Use it to calculate and create cross-chain trades. */ readonly crossChainManager: CrossChainManager; /** * On-chain status manager object. Use it for special providers, which requires more than one trade. */ readonly onChainStatusManager: OnChainStatusManager; /** * Cross-chain status manager object. Use it to get trade statuses on source and target network. */ readonly crossChainStatusManager: CrossChainStatusManager; /** * Cross-chain symbiosis manager object. Use it to get pending trades in symbiosis and revert them. */ readonly crossChainSymbiosisManager: CrossChainSymbiosisManager; /** * Deflation token manager object. Use it to check specific token for fees or deflation. */ readonly deflationTokenManager: DeflationTokenManager; /** * Can be used to get `Web3Public` instance by blockchain name to get public information from blockchain. */ get web3PublicService(): Web3PublicService; /** * Can be used to send transactions and execute smart contracts methods. */ get web3PrivateService(): Web3PrivateService; /** * Use it to get gas price information. */ get gasPriceApi(): GasPriceApi; /** * Use it to get coingecko price information. */ get coingeckoApi(): CoingeckoApi; /** * 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 createWeb3PrivateService; private static createWeb3PublicService; private static createHttpClient; private static createApiService; private constructor(); /** * Updates sdk configuration and sdk entities dependencies. */ updateConfiguration(configuration: Configuration): Promise<void>; updateWalletProvider(walletProvider: WalletProvider): void; updateWalletProviderCore(chainType: keyof WalletProvider, walletProviderCore: WalletProviderCore): void; updateWalletAddress(chainType: keyof WalletProvider, address: string): void; }