@electra.finance/contracts
Version:
Electra Finance contracts typings
904 lines (903 loc) • 31.1 kB
TypeScript
import { Signer } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { IsolatedMarginCFD, IsolatedMarginCFDInterface } from "../IsolatedMarginCFD";
export declare class IsolatedMarginCFD__factory {
static readonly abi: readonly [{
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "int112";
readonly name: "balance";
readonly type: "int112";
}, {
readonly indexed: false;
readonly internalType: "int112";
readonly name: "position";
readonly type: "int112";
}, {
readonly indexed: false;
readonly internalType: "enum SingleCFD.UpdateReason";
readonly name: "reason";
readonly type: "uint8";
}, {
readonly indexed: false;
readonly internalType: "uint80";
readonly name: "positionPrice";
readonly type: "uint80";
}, {
readonly indexed: false;
readonly internalType: "int112";
readonly name: "fundingRate";
readonly type: "int112";
}, {
readonly indexed: false;
readonly internalType: "int112";
readonly name: "realizedPNL";
readonly type: "int112";
}, {
readonly indexed: false;
readonly internalType: "int112";
readonly name: "realizedFR";
readonly type: "int112";
}];
readonly name: "AccountUpdate";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "oracle";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint16";
readonly name: "withdrawMarginLevel";
readonly type: "uint16";
}];
readonly name: "BasicParamsUpdate";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "uint8";
readonly name: "version";
readonly type: "uint8";
}];
readonly name: "Initialized";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "uint8";
readonly name: "leverage";
readonly type: "uint8";
}, {
readonly indexed: false;
readonly internalType: "uint8";
readonly name: "so_level";
readonly type: "uint8";
}];
readonly name: "LevelsUpdate";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "int256";
readonly name: "long";
readonly type: "int256";
}, {
readonly indexed: false;
readonly internalType: "int256";
readonly name: "short";
readonly type: "int256";
}, {
readonly indexed: false;
readonly internalType: "int256";
readonly name: "long_fr_stored";
readonly type: "int256";
}, {
readonly indexed: false;
readonly internalType: "int256";
readonly name: "short_fr_stored";
readonly type: "int256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "last_fr_price_update_time";
readonly type: "uint256";
}];
readonly name: "NewFundingRate";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "buyer";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "seller";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint80";
readonly name: "filledPrice";
readonly type: "uint80";
}, {
readonly indexed: false;
readonly internalType: "uint192";
readonly name: "filledAmount";
readonly type: "uint192";
}];
readonly name: "NewTrade";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "previousOwner";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "newOwner";
readonly type: "address";
}];
readonly name: "OwnershipTransferred";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "int112";
readonly name: "so_level";
readonly type: "int112";
}];
readonly name: "customStopOutLevelUpdate";
readonly type: "event";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly name: "activePositions";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "allowedMatchers";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "int112";
readonly name: "marginLevel";
readonly type: "int112";
}];
readonly name: "checkMargin";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}, {
readonly internalType: "int112";
readonly name: "";
readonly type: "int112";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "collateral_";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "trader";
readonly type: "address";
}, {
readonly internalType: "bytes";
readonly name: "call_data";
readonly type: "bytes";
}];
readonly name: "delegatedAction";
readonly outputs: readonly [{
readonly internalType: "bytes";
readonly name: "";
readonly type: "bytes";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint112";
readonly name: "amount";
readonly type: "uint112";
}];
readonly name: "depositAsset";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint112";
readonly name: "amount";
readonly type: "uint112";
}, {
readonly internalType: "address";
readonly name: "to";
readonly type: "address";
}];
readonly name: "depositAssetTo";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "cfdContract";
readonly type: "address";
}, {
readonly internalType: "uint112";
readonly name: "amount";
readonly type: "uint112";
}];
readonly name: "depositAssetToAnotherCFD";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "senderAddress";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "matcherAddress";
readonly type: "address";
}, {
readonly internalType: "uint64";
readonly name: "amount";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "price";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "matcherFee";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "nonce";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "expiration";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "instrumentAddress";
readonly type: "address";
}, {
readonly internalType: "uint8";
readonly name: "buySide";
readonly type: "uint8";
}, {
readonly internalType: "bool";
readonly name: "isFromDelegate";
readonly type: "bool";
}, {
readonly internalType: "bool";
readonly name: "isPersonalSign";
readonly type: "bool";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct LibValidator.Order";
readonly name: "buyOrder";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "address";
readonly name: "senderAddress";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "matcherAddress";
readonly type: "address";
}, {
readonly internalType: "uint64";
readonly name: "amount";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "price";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "matcherFee";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "nonce";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "expiration";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "instrumentAddress";
readonly type: "address";
}, {
readonly internalType: "uint8";
readonly name: "buySide";
readonly type: "uint8";
}, {
readonly internalType: "bool";
readonly name: "isFromDelegate";
readonly type: "bool";
}, {
readonly internalType: "bool";
readonly name: "isPersonalSign";
readonly type: "bool";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct LibValidator.Order";
readonly name: "sellOrder";
readonly type: "tuple";
}, {
readonly internalType: "uint80";
readonly name: "filledPrice";
readonly type: "uint80";
}, {
readonly internalType: "uint96";
readonly name: "filledAmount";
readonly type: "uint96";
}];
readonly name: "fillOrders";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly name: "filled_amounts_";
readonly outputs: readonly [{
readonly internalType: "uint96";
readonly name: "";
readonly type: "uint96";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "offset";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "limit";
readonly type: "uint256";
}];
readonly name: "getActivePositions";
readonly outputs: readonly [{
readonly internalType: "address[]";
readonly name: "res";
readonly type: "address[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getActivePositionsLength";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getAssetPrice";
readonly outputs: readonly [{
readonly internalType: "uint80";
readonly name: "price";
readonly type: "uint80";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getDelegateStorage";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "delegateStorage";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "getFR";
readonly outputs: readonly [{
readonly internalType: "int112";
readonly name: "";
readonly type: "int112";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getLongFR";
readonly outputs: readonly [{
readonly internalType: "int256";
readonly name: "";
readonly type: "int256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly internalType: "uint80";
readonly name: "price";
readonly type: "uint80";
}];
readonly name: "getPNL";
readonly outputs: readonly [{
readonly internalType: "int112";
readonly name: "";
readonly type: "int112";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getPriceIndex";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getSenderOverride";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "senderOverride";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getShortFR";
readonly outputs: readonly [{
readonly internalType: "int256";
readonly name: "";
readonly type: "int256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getSymbol";
readonly outputs: readonly [{
readonly internalType: "string";
readonly name: "";
readonly type: "string";
}];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "collateral";
readonly type: "address";
}];
readonly name: "initialize";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "last_fr_price_update_time_";
readonly outputs: readonly [{
readonly internalType: "uint32";
readonly name: "";
readonly type: "uint32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "leverage_";
readonly outputs: readonly [{
readonly internalType: "uint8";
readonly name: "";
readonly type: "uint8";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "accountToLiquidate";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "liquidator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "instrumentAddress";
readonly type: "address";
}, {
readonly internalType: "uint64";
readonly name: "expiration";
readonly type: "uint64";
}, {
readonly internalType: "int112";
readonly name: "position";
readonly type: "int112";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct LibValidator.LiquidationOrder";
readonly name: "liquidationOrder";
readonly type: "tuple";
}];
readonly name: "liquidatePosition";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "long_fr_";
readonly outputs: readonly [{
readonly internalType: "int48";
readonly name: "";
readonly type: "int48";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "long_fr_stored_";
readonly outputs: readonly [{
readonly internalType: "int256";
readonly name: "";
readonly type: "int256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "oracle_";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "owner";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "renounceOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "oracle";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "delegateStorage";
readonly type: "address";
}, {
readonly internalType: "uint16";
readonly name: "withdrawMarginLevel";
readonly type: "uint16";
}];
readonly name: "setBasicParams";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly internalType: "int112";
readonly name: "so_level";
readonly type: "int112";
}];
readonly name: "setCustomStopOutLevel";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "delegateStorage_";
readonly type: "address";
}];
readonly name: "setDelegateStorage";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "int256";
readonly name: "long_fr";
readonly type: "int256";
}, {
readonly internalType: "int256";
readonly name: "short_fr";
readonly type: "int256";
}];
readonly name: "setFR";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint8";
readonly name: "leverage";
readonly type: "uint8";
}, {
readonly internalType: "uint8";
readonly name: "so_level";
readonly type: "uint8";
}];
readonly name: "setLevels";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "senderOverride";
readonly type: "address";
}];
readonly name: "setSenderOverride";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "short_fr_";
readonly outputs: readonly [{
readonly internalType: "int48";
readonly name: "";
readonly type: "int48";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "short_fr_stored_";
readonly outputs: readonly [{
readonly internalType: "int256";
readonly name: "";
readonly type: "int256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "so_level_";
readonly outputs: readonly [{
readonly internalType: "uint8";
readonly name: "";
readonly type: "uint8";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newOwner";
readonly type: "address";
}];
readonly name: "transferOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address[]";
readonly name: "matchers";
readonly type: "address[]";
}, {
readonly internalType: "bool[]";
readonly name: "values";
readonly type: "bool[]";
}];
readonly name: "updateMatchers";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "userIndexes";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "user_data_";
readonly outputs: readonly [{
readonly internalType: "int112";
readonly name: "balance";
readonly type: "int112";
}, {
readonly internalType: "int112";
readonly name: "fr_base";
readonly type: "int112";
}, {
readonly internalType: "int112";
readonly name: "position";
readonly type: "int112";
}, {
readonly internalType: "uint80";
readonly name: "pos_avg_price";
readonly type: "uint80";
}, {
readonly internalType: "uint32";
readonly name: "pos_last_update";
readonly type: "uint32";
}, {
readonly internalType: "int256";
readonly name: "long_fr_last";
readonly type: "int256";
}, {
readonly internalType: "int256";
readonly name: "short_fr_last";
readonly type: "int256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint112";
readonly name: "amount";
readonly type: "uint112";
}];
readonly name: "withdrawAsset";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint112";
readonly name: "amount";
readonly type: "uint112";
}, {
readonly internalType: "address";
readonly name: "to";
readonly type: "address";
}];
readonly name: "withdrawAssetTo";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "to";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}];
readonly name: "withdrawFR";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "withdrawMarginLevel_";
readonly outputs: readonly [{
readonly internalType: "uint16";
readonly name: "";
readonly type: "uint16";
}];
readonly stateMutability: "view";
readonly type: "function";
}];
static createInterface(): IsolatedMarginCFDInterface;
static connect(address: string, signerOrProvider: Signer | Provider): IsolatedMarginCFD;
}