rubic-sdk-next
Version:
Simplify dApp creation
75 lines (74 loc) • 3.54 kB
TypeScript
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;
}