rubik-sdk
Version:
Simplify dApp creation
69 lines (68 loc) • 2.85 kB
TypeScript
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>;
}