@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
88 lines (87 loc) • 5.49 kB
TypeScript
import Web3 from 'web3';
import { TransactionObject } from 'web3/eth/types';
import { Provider } from 'web3/providers';
import { AAVECopyCatAltCoinInterestSetter } from '../../build/wrappers/AAVECopyCatAltCoinInterestSetter';
import { AAVECopyCatStableCoinInterestSetter } from '../../build/wrappers/AAVECopyCatStableCoinInterestSetter';
import { AccountValuesReader } from '../../build/wrappers/AccountValuesReader';
import { ArbitrumMultiCall } from '../../build/wrappers/ArbitrumMultiCall';
import { BorrowPositionProxyV1 } from '../../build/wrappers/BorrowPositionProxyV1';
import { BorrowPositionProxyV2 } from '../../build/wrappers/BorrowPositionProxyV2';
import { ChainlinkPriceOracleV1 } from '../../build/wrappers/ChainlinkPriceOracleV1';
import { DepositWithdrawalProxy } from '../../build/wrappers/DepositWithdrawalProxy';
import { DolomiteMargin } from '../../build/wrappers/DolomiteMargin';
import { DoubleExponentInterestSetter } from '../../build/wrappers/DoubleExponentInterestSetter';
import { EventEmitterRegistry } from '../../build/wrappers/EventEmitterRegistry';
import { Expiry } from '../../build/wrappers/Expiry';
import { ExpiryProxy } from '../../build/wrappers/ExpiryProxy';
import { GenericTraderProxyV1 } from '../../build/wrappers/GenericTraderProxyV1';
import { IAccountRiskOverrideSetter } from '../../build/wrappers/IAccountRiskOverrideSetter';
import { IArbitrumGasInfo } from '../../build/wrappers/IArbitrumGasInfo';
import { IERC20Detailed as ERC20 } from '../../build/wrappers/IERC20Detailed';
import { IInterestSetter as InterestSetter } from '../../build/wrappers/IInterestSetter';
import { IIsolationModeUnwrapperTrader } from '../../build/wrappers/IIsolationModeUnwrapperTrader';
import { IIsolationModeWrapperTrader } from '../../build/wrappers/IIsolationModeWrapperTrader';
import { IMantleGasInfo } from '../../build/wrappers/IMantleGasInfo';
import { IOracleSentinel } from '../../build/wrappers/IOracleSentinel';
import { IPriceOracle as PriceOracle } from '../../build/wrappers/IPriceOracle';
import { LiquidatorAssetRegistry } from '../../build/wrappers/LiquidatorAssetRegistry';
import { LiquidatorProxyV1 } from '../../build/wrappers/LiquidatorProxyV1';
import { LiquidatorProxyV4WithGenericTrader } from '../../build/wrappers/LiquidatorProxyV4WithGenericTrader';
import { MultiCall } from '../../build/wrappers/MultiCall';
import { PayableProxy as PayableProxy } from '../../build/wrappers/PayableProxy';
import { PolynomialInterestSetter } from '../../build/wrappers/PolynomialInterestSetter';
import { SignedOperationProxy } from '../../build/wrappers/SignedOperationProxy';
import { TransferProxy } from '../../build/wrappers/TransferProxy';
import { WETH } from '../../build/wrappers/WETH';
import { address, ConfirmationType, ContractCallOptions, ContractConstantCallOptions, DolomiteMarginOptions, TxResult } from '../types';
export declare class Contracts {
aaveCopyCatAltCoinInterestSetter: AAVECopyCatAltCoinInterestSetter;
aaveCopyCatStableCoinInterestSetter: AAVECopyCatStableCoinInterestSetter;
accountValuesReader: AccountValuesReader;
arbitrumGasInfo: IArbitrumGasInfo;
arbitrumMultiCall: ArbitrumMultiCall;
borrowPositionProxyV1: BorrowPositionProxyV1;
borrowPositionProxyV2: BorrowPositionProxyV2;
chainlinkPriceOracleV1: ChainlinkPriceOracleV1;
depositProxy: DepositWithdrawalProxy;
dolomiteMargin: DolomiteMargin;
doubleExponentInterestSetter: DoubleExponentInterestSetter;
erc20: ERC20;
expiry: Expiry;
eventEmitterRegistry: EventEmitterRegistry;
expiryProxy: ExpiryProxy;
genericTraderProxyV1: GenericTraderProxyV1;
interestSetter: InterestSetter;
liquidatorAssetRegistry: LiquidatorAssetRegistry;
liquidatorProxyV1: LiquidatorProxyV1;
liquidatorProxyV4WithGenericTrader: LiquidatorProxyV4WithGenericTrader;
mantleGasInfo: IMantleGasInfo;
multiCall: MultiCall;
payableProxy: PayableProxy;
payableToken: WETH;
polynomialInterestSetter: PolynomialInterestSetter;
priceOracle: PriceOracle;
signedOperationProxy: SignedOperationProxy;
transferProxy: TransferProxy;
protected provider: Provider;
protected networkId: number;
protected web3: Web3;
protected blockGasLimit: number;
protected readonly autoGasMultiplier: number;
protected readonly defaultConfirmations: number;
protected readonly confirmationType: ConfirmationType;
protected readonly defaultGas: string | number;
protected readonly defaultGasPrice: string | number;
constructor(provider: Provider, networkId: number, web3: Web3, options: DolomiteMarginOptions);
getNetworkId(): number;
getIsolationModeUnwrapper(contractAddress: address): IIsolationModeUnwrapperTrader;
getIsolationModeWrapper(contractAddress: address): IIsolationModeWrapperTrader;
getOracleSentinel(contractAddress: address): IOracleSentinel;
getAccountRiskOverrideSetter(contractAddress: address): IAccountRiskOverrideSetter;
setProvider(provider: Provider, networkId: number): void;
setDefaultAccount(account: address): void;
callContractFunction<T>(method: TransactionObject<T>, options?: ContractCallOptions): Promise<TxResult>;
callConstantContractFunction<T>(method: TransactionObject<T>, options?: ContractConstantCallOptions): Promise<T>;
protected setContractProvider(contract: any, contractJson: any, provider: Provider, networkId: number, overrides: any): void;
private setGasLimit;
}