@electra.finance/contracts
Version:
Electra Finance contracts typings
670 lines (669 loc) • 34 kB
TypeScript
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common.js";
export declare namespace LibValidator {
type OrderStruct = {
senderAddress: AddressLike;
matcherAddress: AddressLike;
amount: BigNumberish;
price: BigNumberish;
matcherFee: BigNumberish;
nonce: BigNumberish;
expiration: BigNumberish;
instrumentAddress: AddressLike;
buySide: BigNumberish;
isFromDelegate: boolean;
isPersonalSign: boolean;
signature: BytesLike;
};
type OrderStructOutput = [
senderAddress: string,
matcherAddress: string,
amount: bigint,
price: bigint,
matcherFee: bigint,
nonce: bigint,
expiration: bigint,
instrumentAddress: string,
buySide: bigint,
isFromDelegate: boolean,
isPersonalSign: boolean,
signature: string
] & {
senderAddress: string;
matcherAddress: string;
amount: bigint;
price: bigint;
matcherFee: bigint;
nonce: bigint;
expiration: bigint;
instrumentAddress: string;
buySide: bigint;
isFromDelegate: boolean;
isPersonalSign: boolean;
signature: string;
};
type LiquidationOrderStruct = {
accountToLiquidate: AddressLike;
liquidator: AddressLike;
instrumentAddress: AddressLike;
expiration: BigNumberish;
position: BigNumberish;
signature: BytesLike;
};
type LiquidationOrderStructOutput = [
accountToLiquidate: string,
liquidator: string,
instrumentAddress: string,
expiration: bigint,
position: bigint,
signature: string
] & {
accountToLiquidate: string;
liquidator: string;
instrumentAddress: string;
expiration: bigint;
position: bigint;
signature: string;
};
}
export interface IsolatedMarginCFDInterface extends Interface {
getFunction(nameOrSignature: "activePositions" | "allowedMatchers" | "checkMargin" | "collateral_" | "delegatedAction" | "depositAsset" | "depositAssetTo" | "depositAssetToAnotherCFD" | "fillOrders" | "filled_amounts_" | "getActivePositions" | "getActivePositionsLength" | "getAssetPrice" | "getDelegateStorage" | "getFR" | "getLongFR" | "getPNL" | "getPriceIndex" | "getSenderOverride" | "getShortFR" | "getSymbol" | "initialize" | "last_fr_price_update_time_" | "leverage_" | "liquidatePosition" | "long_fr_" | "long_fr_stored_" | "oracle_" | "owner" | "renounceOwnership" | "setBasicParams" | "setCustomStopOutLevel" | "setDelegateStorage" | "setFR" | "setLevels" | "setSenderOverride" | "short_fr_" | "short_fr_stored_" | "so_level_" | "transferOwnership" | "updateMatchers" | "userIndexes" | "user_data_" | "withdrawAsset" | "withdrawAssetTo" | "withdrawFR" | "withdrawMarginLevel_"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "AccountUpdate" | "BasicParamsUpdate" | "Initialized" | "LevelsUpdate" | "NewFundingRate" | "NewTrade" | "OwnershipTransferred" | "customStopOutLevelUpdate"): EventFragment;
encodeFunctionData(functionFragment: "activePositions", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "allowedMatchers", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "checkMargin", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "collateral_", values?: undefined): string;
encodeFunctionData(functionFragment: "delegatedAction", values: [AddressLike, BytesLike]): string;
encodeFunctionData(functionFragment: "depositAsset", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "depositAssetTo", values: [BigNumberish, AddressLike]): string;
encodeFunctionData(functionFragment: "depositAssetToAnotherCFD", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "fillOrders", values: [
LibValidator.OrderStruct,
LibValidator.OrderStruct,
BigNumberish,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "filled_amounts_", values: [BytesLike]): string;
encodeFunctionData(functionFragment: "getActivePositions", values: [BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "getActivePositionsLength", values?: undefined): string;
encodeFunctionData(functionFragment: "getAssetPrice", values?: undefined): string;
encodeFunctionData(functionFragment: "getDelegateStorage", values?: undefined): string;
encodeFunctionData(functionFragment: "getFR", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "getLongFR", values?: undefined): string;
encodeFunctionData(functionFragment: "getPNL", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "getPriceIndex", values?: undefined): string;
encodeFunctionData(functionFragment: "getSenderOverride", values?: undefined): string;
encodeFunctionData(functionFragment: "getShortFR", values?: undefined): string;
encodeFunctionData(functionFragment: "getSymbol", values?: undefined): string;
encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "last_fr_price_update_time_", values?: undefined): string;
encodeFunctionData(functionFragment: "leverage_", values?: undefined): string;
encodeFunctionData(functionFragment: "liquidatePosition", values: [LibValidator.LiquidationOrderStruct]): string;
encodeFunctionData(functionFragment: "long_fr_", values?: undefined): string;
encodeFunctionData(functionFragment: "long_fr_stored_", values?: undefined): string;
encodeFunctionData(functionFragment: "oracle_", values?: undefined): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "setBasicParams", values: [AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "setCustomStopOutLevel", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "setDelegateStorage", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "setFR", values: [BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "setLevels", values: [BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "setSenderOverride", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "short_fr_", values?: undefined): string;
encodeFunctionData(functionFragment: "short_fr_stored_", values?: undefined): string;
encodeFunctionData(functionFragment: "so_level_", values?: undefined): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "updateMatchers", values: [AddressLike[], boolean[]]): string;
encodeFunctionData(functionFragment: "userIndexes", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "user_data_", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "withdrawAsset", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "withdrawAssetTo", values: [BigNumberish, AddressLike]): string;
encodeFunctionData(functionFragment: "withdrawFR", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "withdrawMarginLevel_", values?: undefined): string;
decodeFunctionResult(functionFragment: "activePositions", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "allowedMatchers", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "checkMargin", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "collateral_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "delegatedAction", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "depositAsset", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "depositAssetTo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "depositAssetToAnotherCFD", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "fillOrders", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "filled_amounts_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getActivePositions", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getActivePositionsLength", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getAssetPrice", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getDelegateStorage", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getFR", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getLongFR", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getPNL", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getPriceIndex", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getSenderOverride", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getShortFR", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getSymbol", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "last_fr_price_update_time_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "leverage_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "liquidatePosition", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "long_fr_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "long_fr_stored_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "oracle_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setBasicParams", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setCustomStopOutLevel", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setDelegateStorage", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setFR", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setLevels", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setSenderOverride", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "short_fr_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "short_fr_stored_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "so_level_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateMatchers", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "userIndexes", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "user_data_", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawAsset", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawAssetTo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawFR", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawMarginLevel_", data: BytesLike): Result;
}
export declare namespace AccountUpdateEvent {
type InputTuple = [
user: AddressLike,
balance: BigNumberish,
position: BigNumberish,
reason: BigNumberish,
positionPrice: BigNumberish,
fundingRate: BigNumberish,
realizedPNL: BigNumberish,
realizedFR: BigNumberish
];
type OutputTuple = [
user: string,
balance: bigint,
position: bigint,
reason: bigint,
positionPrice: bigint,
fundingRate: bigint,
realizedPNL: bigint,
realizedFR: bigint
];
interface OutputObject {
user: string;
balance: bigint;
position: bigint;
reason: bigint;
positionPrice: bigint;
fundingRate: bigint;
realizedPNL: bigint;
realizedFR: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace BasicParamsUpdateEvent {
type InputTuple = [
oracle: AddressLike,
withdrawMarginLevel: BigNumberish
];
type OutputTuple = [oracle: string, withdrawMarginLevel: bigint];
interface OutputObject {
oracle: string;
withdrawMarginLevel: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace InitializedEvent {
type InputTuple = [version: BigNumberish];
type OutputTuple = [version: bigint];
interface OutputObject {
version: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LevelsUpdateEvent {
type InputTuple = [leverage: BigNumberish, so_level: BigNumberish];
type OutputTuple = [leverage: bigint, so_level: bigint];
interface OutputObject {
leverage: bigint;
so_level: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace NewFundingRateEvent {
type InputTuple = [
long: BigNumberish,
short: BigNumberish,
long_fr_stored: BigNumberish,
short_fr_stored: BigNumberish,
last_fr_price_update_time: BigNumberish
];
type OutputTuple = [
long: bigint,
short: bigint,
long_fr_stored: bigint,
short_fr_stored: bigint,
last_fr_price_update_time: bigint
];
interface OutputObject {
long: bigint;
short: bigint;
long_fr_stored: bigint;
short_fr_stored: bigint;
last_fr_price_update_time: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace NewTradeEvent {
type InputTuple = [
buyer: AddressLike,
seller: AddressLike,
filledPrice: BigNumberish,
filledAmount: BigNumberish
];
type OutputTuple = [
buyer: string,
seller: string,
filledPrice: bigint,
filledAmount: bigint
];
interface OutputObject {
buyer: string;
seller: string;
filledPrice: bigint;
filledAmount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
type OutputTuple = [previousOwner: string, newOwner: string];
interface OutputObject {
previousOwner: string;
newOwner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace customStopOutLevelUpdateEvent {
type InputTuple = [account: AddressLike, so_level: BigNumberish];
type OutputTuple = [account: string, so_level: bigint];
interface OutputObject {
account: string;
so_level: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface IsolatedMarginCFD extends BaseContract {
connect(runner?: ContractRunner | null): IsolatedMarginCFD;
waitForDeployment(): Promise<this>;
interface: IsolatedMarginCFDInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
activePositions: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
allowedMatchers: TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
checkMargin: TypedContractMethod<[
user: AddressLike,
marginLevel: BigNumberish
], [
[boolean, bigint]
], "view">;
collateral_: TypedContractMethod<[], [string], "view">;
delegatedAction: TypedContractMethod<[
trader: AddressLike,
call_data: BytesLike
], [
string
], "nonpayable">;
depositAsset: TypedContractMethod<[
amount: BigNumberish
], [
void
], "nonpayable">;
depositAssetTo: TypedContractMethod<[
amount: BigNumberish,
to: AddressLike
], [
void
], "nonpayable">;
depositAssetToAnotherCFD: TypedContractMethod<[
cfdContract: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
fillOrders: TypedContractMethod<[
buyOrder: LibValidator.OrderStruct,
sellOrder: LibValidator.OrderStruct,
filledPrice: BigNumberish,
filledAmount: BigNumberish
], [
void
], "nonpayable">;
filled_amounts_: TypedContractMethod<[arg0: BytesLike], [bigint], "view">;
getActivePositions: TypedContractMethod<[
offset: BigNumberish,
limit: BigNumberish
], [
string[]
], "view">;
getActivePositionsLength: TypedContractMethod<[], [bigint], "view">;
getAssetPrice: TypedContractMethod<[], [bigint], "view">;
getDelegateStorage: TypedContractMethod<[], [string], "view">;
getFR: TypedContractMethod<[account: AddressLike], [bigint], "view">;
getLongFR: TypedContractMethod<[], [bigint], "view">;
getPNL: TypedContractMethod<[
account: AddressLike,
price: BigNumberish
], [
bigint
], "view">;
getPriceIndex: TypedContractMethod<[], [bigint], "view">;
getSenderOverride: TypedContractMethod<[], [string], "view">;
getShortFR: TypedContractMethod<[], [bigint], "view">;
getSymbol: TypedContractMethod<[], [string], "view">;
initialize: TypedContractMethod<[collateral: AddressLike], [void], "payable">;
last_fr_price_update_time_: TypedContractMethod<[], [bigint], "view">;
leverage_: TypedContractMethod<[], [bigint], "view">;
liquidatePosition: TypedContractMethod<[
liquidationOrder: LibValidator.LiquidationOrderStruct
], [
void
], "nonpayable">;
long_fr_: TypedContractMethod<[], [bigint], "view">;
long_fr_stored_: TypedContractMethod<[], [bigint], "view">;
oracle_: TypedContractMethod<[], [string], "view">;
owner: TypedContractMethod<[], [string], "view">;
renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
setBasicParams: TypedContractMethod<[
oracle: AddressLike,
delegateStorage: AddressLike,
withdrawMarginLevel: BigNumberish
], [
void
], "nonpayable">;
setCustomStopOutLevel: TypedContractMethod<[
account: AddressLike,
so_level: BigNumberish
], [
void
], "nonpayable">;
setDelegateStorage: TypedContractMethod<[
delegateStorage_: AddressLike
], [
void
], "nonpayable">;
setFR: TypedContractMethod<[
long_fr: BigNumberish,
short_fr: BigNumberish
], [
void
], "nonpayable">;
setLevels: TypedContractMethod<[
leverage: BigNumberish,
so_level: BigNumberish
], [
void
], "nonpayable">;
setSenderOverride: TypedContractMethod<[
senderOverride: AddressLike
], [
void
], "nonpayable">;
short_fr_: TypedContractMethod<[], [bigint], "view">;
short_fr_stored_: TypedContractMethod<[], [bigint], "view">;
so_level_: TypedContractMethod<[], [bigint], "view">;
transferOwnership: TypedContractMethod<[
newOwner: AddressLike
], [
void
], "nonpayable">;
updateMatchers: TypedContractMethod<[
matchers: AddressLike[],
values: boolean[]
], [
void
], "nonpayable">;
userIndexes: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
user_data_: TypedContractMethod<[
arg0: AddressLike
], [
[
bigint,
bigint,
bigint,
bigint,
bigint,
bigint,
bigint
] & {
balance: bigint;
fr_base: bigint;
position: bigint;
pos_avg_price: bigint;
pos_last_update: bigint;
long_fr_last: bigint;
short_fr_last: bigint;
}
], "view">;
withdrawAsset: TypedContractMethod<[
amount: BigNumberish
], [
void
], "nonpayable">;
withdrawAssetTo: TypedContractMethod<[
amount: BigNumberish,
to: AddressLike
], [
void
], "nonpayable">;
withdrawFR: TypedContractMethod<[
to: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
withdrawMarginLevel_: TypedContractMethod<[], [bigint], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "activePositions"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
getFunction(nameOrSignature: "allowedMatchers"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
getFunction(nameOrSignature: "checkMargin"): TypedContractMethod<[
user: AddressLike,
marginLevel: BigNumberish
], [
[boolean, bigint]
], "view">;
getFunction(nameOrSignature: "collateral_"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "delegatedAction"): TypedContractMethod<[
trader: AddressLike,
call_data: BytesLike
], [
string
], "nonpayable">;
getFunction(nameOrSignature: "depositAsset"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">;
getFunction(nameOrSignature: "depositAssetTo"): TypedContractMethod<[
amount: BigNumberish,
to: AddressLike
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "depositAssetToAnotherCFD"): TypedContractMethod<[
cfdContract: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "fillOrders"): TypedContractMethod<[
buyOrder: LibValidator.OrderStruct,
sellOrder: LibValidator.OrderStruct,
filledPrice: BigNumberish,
filledAmount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "filled_amounts_"): TypedContractMethod<[arg0: BytesLike], [bigint], "view">;
getFunction(nameOrSignature: "getActivePositions"): TypedContractMethod<[
offset: BigNumberish,
limit: BigNumberish
], [
string[]
], "view">;
getFunction(nameOrSignature: "getActivePositionsLength"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "getAssetPrice"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "getDelegateStorage"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "getFR"): TypedContractMethod<[account: AddressLike], [bigint], "view">;
getFunction(nameOrSignature: "getLongFR"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "getPNL"): TypedContractMethod<[
account: AddressLike,
price: BigNumberish
], [
bigint
], "view">;
getFunction(nameOrSignature: "getPriceIndex"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "getSenderOverride"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "getShortFR"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "getSymbol"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "initialize"): TypedContractMethod<[collateral: AddressLike], [void], "payable">;
getFunction(nameOrSignature: "last_fr_price_update_time_"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "leverage_"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "liquidatePosition"): TypedContractMethod<[
liquidationOrder: LibValidator.LiquidationOrderStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "long_fr_"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "long_fr_stored_"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "oracle_"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "setBasicParams"): TypedContractMethod<[
oracle: AddressLike,
delegateStorage: AddressLike,
withdrawMarginLevel: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "setCustomStopOutLevel"): TypedContractMethod<[
account: AddressLike,
so_level: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "setDelegateStorage"): TypedContractMethod<[delegateStorage_: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "setFR"): TypedContractMethod<[
long_fr: BigNumberish,
short_fr: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "setLevels"): TypedContractMethod<[
leverage: BigNumberish,
so_level: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "setSenderOverride"): TypedContractMethod<[senderOverride: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "short_fr_"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "short_fr_stored_"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "so_level_"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "updateMatchers"): TypedContractMethod<[
matchers: AddressLike[],
values: boolean[]
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "userIndexes"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
getFunction(nameOrSignature: "user_data_"): TypedContractMethod<[
arg0: AddressLike
], [
[
bigint,
bigint,
bigint,
bigint,
bigint,
bigint,
bigint
] & {
balance: bigint;
fr_base: bigint;
position: bigint;
pos_avg_price: bigint;
pos_last_update: bigint;
long_fr_last: bigint;
short_fr_last: bigint;
}
], "view">;
getFunction(nameOrSignature: "withdrawAsset"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">;
getFunction(nameOrSignature: "withdrawAssetTo"): TypedContractMethod<[
amount: BigNumberish,
to: AddressLike
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "withdrawFR"): TypedContractMethod<[
to: AddressLike,
amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "withdrawMarginLevel_"): TypedContractMethod<[], [bigint], "view">;
getEvent(key: "AccountUpdate"): TypedContractEvent<AccountUpdateEvent.InputTuple, AccountUpdateEvent.OutputTuple, AccountUpdateEvent.OutputObject>;
getEvent(key: "BasicParamsUpdate"): TypedContractEvent<BasicParamsUpdateEvent.InputTuple, BasicParamsUpdateEvent.OutputTuple, BasicParamsUpdateEvent.OutputObject>;
getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
getEvent(key: "LevelsUpdate"): TypedContractEvent<LevelsUpdateEvent.InputTuple, LevelsUpdateEvent.OutputTuple, LevelsUpdateEvent.OutputObject>;
getEvent(key: "NewFundingRate"): TypedContractEvent<NewFundingRateEvent.InputTuple, NewFundingRateEvent.OutputTuple, NewFundingRateEvent.OutputObject>;
getEvent(key: "NewTrade"): TypedContractEvent<NewTradeEvent.InputTuple, NewTradeEvent.OutputTuple, NewTradeEvent.OutputObject>;
getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
getEvent(key: "customStopOutLevelUpdate"): TypedContractEvent<customStopOutLevelUpdateEvent.InputTuple, customStopOutLevelUpdateEvent.OutputTuple, customStopOutLevelUpdateEvent.OutputObject>;
filters: {
"AccountUpdate(address,int112,int112,uint8,uint80,int112,int112,int112)": TypedContractEvent<AccountUpdateEvent.InputTuple, AccountUpdateEvent.OutputTuple, AccountUpdateEvent.OutputObject>;
AccountUpdate: TypedContractEvent<AccountUpdateEvent.InputTuple, AccountUpdateEvent.OutputTuple, AccountUpdateEvent.OutputObject>;
"BasicParamsUpdate(address,uint16)": TypedContractEvent<BasicParamsUpdateEvent.InputTuple, BasicParamsUpdateEvent.OutputTuple, BasicParamsUpdateEvent.OutputObject>;
BasicParamsUpdate: TypedContractEvent<BasicParamsUpdateEvent.InputTuple, BasicParamsUpdateEvent.OutputTuple, BasicParamsUpdateEvent.OutputObject>;
"Initialized(uint8)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
"LevelsUpdate(uint8,uint8)": TypedContractEvent<LevelsUpdateEvent.InputTuple, LevelsUpdateEvent.OutputTuple, LevelsUpdateEvent.OutputObject>;
LevelsUpdate: TypedContractEvent<LevelsUpdateEvent.InputTuple, LevelsUpdateEvent.OutputTuple, LevelsUpdateEvent.OutputObject>;
"NewFundingRate(int256,int256,int256,int256,uint256)": TypedContractEvent<NewFundingRateEvent.InputTuple, NewFundingRateEvent.OutputTuple, NewFundingRateEvent.OutputObject>;
NewFundingRate: TypedContractEvent<NewFundingRateEvent.InputTuple, NewFundingRateEvent.OutputTuple, NewFundingRateEvent.OutputObject>;
"NewTrade(address,address,uint80,uint192)": TypedContractEvent<NewTradeEvent.InputTuple, NewTradeEvent.OutputTuple, NewTradeEvent.OutputObject>;
NewTrade: TypedContractEvent<NewTradeEvent.InputTuple, NewTradeEvent.OutputTuple, NewTradeEvent.OutputObject>;
"OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
"customStopOutLevelUpdate(address,int112)": TypedContractEvent<customStopOutLevelUpdateEvent.InputTuple, customStopOutLevelUpdateEvent.OutputTuple, customStopOutLevelUpdateEvent.OutputObject>;
customStopOutLevelUpdate: TypedContractEvent<customStopOutLevelUpdateEvent.InputTuple, customStopOutLevelUpdateEvent.OutputTuple, customStopOutLevelUpdateEvent.OutputObject>;
};
}