UNPKG

@electra.finance/contracts

Version:
670 lines (669 loc) 34 kB
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>; }; }