UNPKG

@electra.finance/contracts

Version:
826 lines 114 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common"; export declare namespace CFDStructs { type ExternalAddressBindingStruct = { derivedAccount: PromiseOrValue<string>; derivedAccountSalt: PromiseOrValue<BigNumberish>; nonce: PromiseOrValue<BigNumberish>; chainId: PromiseOrValue<BigNumberish>; signerChainId: PromiseOrValue<BigNumberish>; externalAddress: PromiseOrValue<BytesLike>; derivedAccountSignature: PromiseOrValue<BytesLike>; }; type ExternalAddressBindingStructOutput = [ string, BigNumber, BigNumber, BigNumber, BigNumber, string, string ] & { derivedAccount: string; derivedAccountSalt: BigNumber; nonce: BigNumber; chainId: BigNumber; signerChainId: BigNumber; externalAddress: string; derivedAccountSignature: string; }; type InternalTransferV2Struct = { from: PromiseOrValue<string>; to: PromiseOrValue<string>; amount: PromiseOrValue<BigNumberish>; expiration: PromiseOrValue<BigNumberish>; nonce: PromiseOrValue<BigNumberish>; chainId: PromiseOrValue<BigNumberish>; signerChainId: PromiseOrValue<BigNumberish>; uniqueHash: PromiseOrValue<BytesLike>; externalAddress: PromiseOrValue<BytesLike>; signature: PromiseOrValue<BytesLike>; }; type InternalTransferV2StructOutput = [ string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, string, string ] & { from: string; to: string; amount: BigNumber; expiration: BigNumber; nonce: BigNumber; chainId: BigNumber; signerChainId: BigNumber; uniqueHash: string; externalAddress: string; signature: string; }; type PriceInfoStruct = { index: PromiseOrValue<BigNumberish>; price: PromiseOrValue<BigNumberish>; }; type PriceInfoStructOutput = [number, BigNumber] & { index: number; price: BigNumber; }; type DelegationRequestStruct = { trader: PromiseOrValue<string>; isSetDelegate: PromiseOrValue<boolean>; deadline: PromiseOrValue<BigNumberish>; delegate: PromiseOrValue<string>; signature: PromiseOrValue<BytesLike>; }; type DelegationRequestStructOutput = [ string, boolean, BigNumber, string, string ] & { trader: string; isSetDelegate: boolean; deadline: BigNumber; delegate: string; signature: string; }; type InternalTransferStruct = { from: PromiseOrValue<string>; to: PromiseOrValue<string>; amount: PromiseOrValue<BigNumberish>; expiration: PromiseOrValue<BigNumberish>; nonce: PromiseOrValue<BigNumberish>; chainId: PromiseOrValue<BigNumberish>; reserved: PromiseOrValue<BigNumberish>; signature: PromiseOrValue<BytesLike>; }; type InternalTransferStructOutput = [ string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { from: string; to: string; amount: BigNumber; expiration: BigNumber; nonce: BigNumber; chainId: BigNumber; reserved: BigNumber; signature: string; }; type MultiLiquidationOrderStruct = { accountToLiquidate: PromiseOrValue<string>; liquidator: PromiseOrValue<string>; liquidationPrices: CFDStructs.PriceInfoStruct[]; prices: CFDStructs.PriceInfoStruct[]; liquidationTimestamp: PromiseOrValue<BigNumberish>; expiration: PromiseOrValue<BigNumberish>; signature: PromiseOrValue<BytesLike>; }; type MultiLiquidationOrderStructOutput = [ string, string, CFDStructs.PriceInfoStructOutput[], CFDStructs.PriceInfoStructOutput[], BigNumber, BigNumber, string ] & { accountToLiquidate: string; liquidator: string; liquidationPrices: CFDStructs.PriceInfoStructOutput[]; prices: CFDStructs.PriceInfoStructOutput[]; liquidationTimestamp: BigNumber; expiration: BigNumber; signature: string; }; type LiquidationOrderStruct = { accountToLiquidate: PromiseOrValue<string>; liquidator: PromiseOrValue<string>; index: PromiseOrValue<BigNumberish>; prices: CFDStructs.PriceInfoStruct[]; liquidationTimestamp: PromiseOrValue<BigNumberish>; expiration: PromiseOrValue<BigNumberish>; signature: PromiseOrValue<BytesLike>; }; type LiquidationOrderStructOutput = [ string, string, number, CFDStructs.PriceInfoStructOutput[], BigNumber, BigNumber, string ] & { accountToLiquidate: string; liquidator: string; index: number; prices: CFDStructs.PriceInfoStructOutput[]; liquidationTimestamp: BigNumber; expiration: BigNumber; signature: string; }; type OrderStruct = { senderAddress: PromiseOrValue<string>; matcherAddress: PromiseOrValue<string>; instrumentIndex: PromiseOrValue<BigNumberish>; amount: PromiseOrValue<BigNumberish>; price: PromiseOrValue<BigNumberish>; matcherFee: PromiseOrValue<BigNumberish>; expiration: PromiseOrValue<BigNumberish>; buySide: PromiseOrValue<BigNumberish>; isFromDelegate: PromiseOrValue<boolean>; signature: PromiseOrValue<BytesLike>; }; type OrderStructOutput = [ string, string, number, BigNumber, BigNumber, BigNumber, BigNumber, number, boolean, string ] & { senderAddress: string; matcherAddress: string; instrumentIndex: number; amount: BigNumber; price: BigNumber; matcherFee: BigNumber; expiration: BigNumber; buySide: number; isFromDelegate: boolean; signature: string; }; type OrderV2Struct = { senderAddress: PromiseOrValue<string>; price: PromiseOrValue<BigNumberish>; instrumentIndex: PromiseOrValue<BigNumberish>; matcherAddress: PromiseOrValue<string>; price2: PromiseOrValue<BigNumberish>; isFromDelegate: PromiseOrValue<boolean>; buySide: PromiseOrValue<BigNumberish>; amount: PromiseOrValue<BigNumberish>; matcherFee: PromiseOrValue<BigNumberish>; expiration: PromiseOrValue<BigNumberish>; orderType: PromiseOrValue<BigNumberish>; signerChainId: PromiseOrValue<BigNumberish>; signature: PromiseOrValue<BytesLike>; }; type OrderV2StructOutput = [ string, BigNumber, number, string, BigNumber, boolean, number, BigNumber, BigNumber, BigNumber, number, BigNumber, string ] & { senderAddress: string; price: BigNumber; instrumentIndex: number; matcherAddress: string; price2: BigNumber; isFromDelegate: boolean; buySide: number; amount: BigNumber; matcherFee: BigNumber; expiration: BigNumber; orderType: number; signerChainId: BigNumber; signature: string; }; type PositionInfoStruct = { position: PromiseOrValue<BigNumberish>; frAccumulated: PromiseOrValue<BigNumberish>; positionLastUpdate: PromiseOrValue<BigNumberish>; positionAvgPrice: PromiseOrValue<BigNumberish>; positionLongFRStored: PromiseOrValue<BigNumberish>; positionShortFRStored: PromiseOrValue<BigNumberish>; }; type PositionInfoStructOutput = [ BigNumber, BigNumber, number, BigNumber, BigNumber, BigNumber ] & { position: BigNumber; frAccumulated: BigNumber; positionLastUpdate: number; positionAvgPrice: BigNumber; positionLongFRStored: BigNumber; positionShortFRStored: BigNumber; }; type FundingRateInfoStruct = { frLong: PromiseOrValue<BigNumberish>; frShort: PromiseOrValue<BigNumberish>; longFRStored: PromiseOrValue<BigNumberish>; shortFRStored: PromiseOrValue<BigNumberish>; lastFRUpdateTime: PromiseOrValue<BigNumberish>; }; type FundingRateInfoStructOutput = [ number, number, BigNumber, BigNumber, number ] & { frLong: number; frShort: number; longFRStored: BigNumber; shortFRStored: BigNumber; lastFRUpdateTime: number; }; type InstrumentInfoStruct = { leverage: PromiseOrValue<BigNumberish>; ticker: PromiseOrValue<string>[]; fundingRateInfo: CFDStructs.FundingRateInfoStruct; }; type InstrumentInfoStructOutput = [ number, string[], CFDStructs.FundingRateInfoStructOutput ] & { leverage: number; ticker: string[]; fundingRateInfo: CFDStructs.FundingRateInfoStructOutput; }; type AccountPositionsStruct = { account: PromiseOrValue<string>; positions: CFDStructs.PositionInfoStruct[]; }; type AccountPositionsStructOutput = [ string, CFDStructs.PositionInfoStructOutput[] ] & { account: string; positions: CFDStructs.PositionInfoStructOutput[]; }; } export declare namespace IDiamondCut { type FacetCutStruct = { facetAddress: PromiseOrValue<string>; action: PromiseOrValue<BigNumberish>; functionSelectors: PromiseOrValue<BytesLike>[]; }; type FacetCutStructOutput = [string, number, string[]] & { facetAddress: string; action: number; functionSelectors: string[]; }; } export declare namespace IDiamondLoupe { type FacetStruct = { facetAddress: PromiseOrValue<string>; functionSelectors: PromiseOrValue<BytesLike>[]; }; type FacetStructOutput = [string, string[]] & { facetAddress: string; functionSelectors: string[]; }; } export interface CrossMarginCFDInterface extends utils.Interface { functions: { "DELEGATION_REQUEST_TYPEHASH()": FunctionFragment; "DOMAIN_NAME()": FunctionFragment; "DOMAIN_SALT()": FunctionFragment; "DOMAIN_SEPARATOR()": FunctionFragment; "DOMAIN_VERSION()": FunctionFragment; "EIP712_DOMAIN_TYPEHASH()": FunctionFragment; "INTERNAL_TRANSFER_TYPEHASH()": FunctionFragment; "LIQUIDATION_ORDER_TYPEHASH()": FunctionFragment; "MULTI_LIQUIDATION_ORDER_TYPEHASH()": FunctionFragment; "ORDER_TYPEHASH()": FunctionFragment; "PRICE_INFO_TYPEHASH()": FunctionFragment; "accountsWithOpenPositionLength()": FunctionFragment; "addInstrument(string[12],uint8,int256,int256)": FunctionFragment; "allowedMatchers(address)": FunctionFragment; "approveCustomNetwork(uint64)": FunctionFragment; "balances(address)": FunctionFragment; "bindExternalAccount((address,uint64,uint64,uint64,uint64,bytes,bytes))": FunctionFragment; "bindExternalAccountWithDeposit((address,uint64,uint64,uint64,uint64,bytes,bytes),(address,address,uint112,uint64,uint64,uint64,uint64,bytes32,bytes,bytes))": FunctionFragment; "calculateMarginLevel(address,(uint16,uint80)[],bool)": FunctionFragment; "changeDelegateFrom((address,bool,uint88,address,bytes))": FunctionFragment; "changeDelegateWithChainId((address,bool,uint88,address,bytes),uint64)": FunctionFragment; "changeInstrument(uint256,string[12],uint8,int256,int256)": FunctionFragment; "checkAddressBindingSignature((address,uint64,uint64,uint64,uint64,bytes,bytes))": FunctionFragment; "checkDelegationRequest((address,bool,uint88,address,bytes))": FunctionFragment; "checkDelegationRequestWithChainId((address,bool,uint88,address,bytes),uint64)": FunctionFragment; "checkInternalTransfer((address,address,uint112,uint64,uint64,uint64,uint192,bytes))": FunctionFragment; "checkInternalTransferV2((address,address,uint112,uint64,uint64,uint64,uint64,bytes32,bytes,bytes))": FunctionFragment; "checkLiquidationOrder((address,address,(uint16,uint80)[],(uint16,uint80)[],uint64,uint64,bytes))": FunctionFragment; "checkLiquidationOrder((address,address,uint16,(uint16,uint80)[],uint64,uint64,bytes))": FunctionFragment; "checkMarginWithOraclePrices(address,int112)": FunctionFragment; "checkOrdersInfo((address,address,uint16,uint96,uint80,uint64,uint64,uint8,bool,bytes),(address,address,uint16,uint96,uint80,uint64,uint64,uint8,bool,bytes),address,address,address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "checkOrdersV2Info((address,uint80,uint16,address,uint80,bool,uint8,uint96,uint64,uint64,uint8,uint64,bytes),(address,uint80,uint16,address,uint80,bool,uint8,uint96,uint64,uint64,uint8,uint64,bytes),address,address,address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "collateral()": FunctionFragment; "customStopOutLevel(address)": FunctionFragment; "delegateFromTimeout(address)": FunctionFragment; "delegatedAction(address,bytes)": FunctionFragment; "delegations(address)": FunctionFragment; "deleteInstrument()": FunctionFragment; "depositAsset(uint112)": FunctionFragment; "depositAssetTo(uint112,address)": FunctionFragment; "diamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; "facetAddress(bytes4)": FunctionFragment; "facetAddresses()": FunctionFragment; "facetFunctionSelectors(address)": FunctionFragment; "facets()": FunctionFragment; "fillOrders((address,address,uint16,uint96,uint80,uint64,uint64,uint8,bool,bytes),(address,address,uint16,uint96,uint80,uint64,uint64,uint8,bool,bytes),uint80,uint96)": FunctionFragment; "fillOrdersV2((address,uint80,uint16,address,uint80,bool,uint8,uint96,uint64,uint64,uint8,uint64,bytes),(address,uint80,uint16,address,uint80,bool,uint8,uint96,uint64,uint64,uint8,uint64,bytes),uint80,uint96)": FunctionFragment; "filledAmounts(bytes32)": FunctionFragment; "fundingRateAccount()": FunctionFragment; "getAccountFR(address,uint256)": FunctionFragment; "getAccountsWithOpenPositions(uint256,uint256)": FunctionFragment; "getActiveInstrumentsIndexes(address)": FunctionFragment; "getActiveInstrumentsPositions(address)": FunctionFragment; "getAssetPrice(uint256)": FunctionFragment; "getDelegationRequestTypeValueHash((address,bool,uint88,address,bytes))": FunctionFragment; "getDerivedAccountBinding(address)": FunctionFragment; "getDomainSeparatorForChainId(uint256)": FunctionFragment; "getEIP712DomainData()": FunctionFragment; "getExternalAccountBinding(bytes)": FunctionFragment; "getInstrumentInfo(uint256)": FunctionFragment; "getOpenPositions(uint256,uint256)": FunctionFragment; "getOrWriteDomainSeparator(uint256)": FunctionFragment; "getOrderTypeValueHash((address,address,uint16,uint96,uint80,uint64,uint64,uint8,bool,bytes))": FunctionFragment; "getPNL(address,uint256,int112)": FunctionFragment; "getPriceInfoTypeValueHash((uint16,uint80))": FunctionFragment; "getTotalLongFR(uint256)": FunctionFragment; "getTotalShortFR(uint256)": FunctionFragment; "instrumentInfo(uint256)": FunctionFragment; "instrumentsLength()": FunctionFragment; "internalTransfer((address,address,uint112,uint64,uint64,uint64,uint192,bytes))": FunctionFragment; "internalTransferV2((address,address,uint112,uint64,uint64,uint64,uint64,bytes32,bytes,bytes))": FunctionFragment; "isCustomNetworkApproved(uint64)": FunctionFragment; "liquidatePosition((address,address,uint16,(uint16,uint80)[],uint64,uint64,bytes))": FunctionFragment; "liquidatePositions((address,address,(uint16,uint80)[],(uint16,uint80)[],uint64,uint64,bytes))": FunctionFragment; "liquidationFeePercent()": FunctionFragment; "maxOpenPositions()": FunctionFragment; "oracle()": FunctionFragment; "owner()": FunctionFragment; "positionInfo(uint256,address)": FunctionFragment; "recover((address,address,uint16,uint96,uint80,uint64,uint64,uint8,bool,bytes))": FunctionFragment; "rejectCustomNetwork(uint64)": FunctionFragment; "removeDelegate()": FunctionFragment; "setBasicParams(address,address,uint8,uint16,uint256,uint112)": FunctionFragment; "setCustomStopOutLevel(address,int112)": FunctionFragment; "setDelegate(address)": FunctionFragment; "setFR(uint256,int256,int256)": FunctionFragment; "soLevel()": FunctionFragment; "transferOwnership(address)": FunctionFragment; "updateMatchers(address[])": FunctionFragment; "usedDelegationRequests(bytes32)": FunctionFragment; "withdrawAsset(uint112)": FunctionFragment; "withdrawAssetTo(uint112,address)": FunctionFragment; "withdrawMarginLevel()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DELEGATION_REQUEST_TYPEHASH" | "DOMAIN_NAME" | "DOMAIN_SALT" | "DOMAIN_SEPARATOR" | "DOMAIN_VERSION" | "EIP712_DOMAIN_TYPEHASH" | "INTERNAL_TRANSFER_TYPEHASH" | "LIQUIDATION_ORDER_TYPEHASH" | "MULTI_LIQUIDATION_ORDER_TYPEHASH" | "ORDER_TYPEHASH" | "PRICE_INFO_TYPEHASH" | "accountsWithOpenPositionLength" | "addInstrument" | "allowedMatchers" | "approveCustomNetwork" | "balances" | "bindExternalAccount" | "bindExternalAccountWithDeposit" | "calculateMarginLevel" | "changeDelegateFrom" | "changeDelegateWithChainId" | "changeInstrument" | "checkAddressBindingSignature" | "checkDelegationRequest" | "checkDelegationRequestWithChainId" | "checkInternalTransfer" | "checkInternalTransferV2" | "checkLiquidationOrder((address,address,(uint16,uint80)[],(uint16,uint80)[],uint64,uint64,bytes))" | "checkLiquidationOrder((address,address,uint16,(uint16,uint80)[],uint64,uint64,bytes))" | "checkMarginWithOraclePrices" | "checkOrdersInfo" | "checkOrdersV2Info" | "collateral" | "customStopOutLevel" | "delegateFromTimeout" | "delegatedAction" | "delegations" | "deleteInstrument" | "depositAsset" | "depositAssetTo" | "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "fillOrders" | "fillOrdersV2" | "filledAmounts" | "fundingRateAccount" | "getAccountFR" | "getAccountsWithOpenPositions" | "getActiveInstrumentsIndexes" | "getActiveInstrumentsPositions" | "getAssetPrice" | "getDelegationRequestTypeValueHash" | "getDerivedAccountBinding" | "getDomainSeparatorForChainId" | "getEIP712DomainData" | "getExternalAccountBinding" | "getInstrumentInfo" | "getOpenPositions" | "getOrWriteDomainSeparator" | "getOrderTypeValueHash" | "getPNL" | "getPriceInfoTypeValueHash" | "getTotalLongFR" | "getTotalShortFR" | "instrumentInfo" | "instrumentsLength" | "internalTransfer" | "internalTransferV2" | "isCustomNetworkApproved" | "liquidatePosition" | "liquidatePositions" | "liquidationFeePercent" | "maxOpenPositions" | "oracle" | "owner" | "positionInfo" | "recover" | "rejectCustomNetwork" | "removeDelegate" | "setBasicParams" | "setCustomStopOutLevel" | "setDelegate" | "setFR" | "soLevel" | "transferOwnership" | "updateMatchers" | "usedDelegationRequests" | "withdrawAsset" | "withdrawAssetTo" | "withdrawMarginLevel"): FunctionFragment; encodeFunctionData(functionFragment: "DELEGATION_REQUEST_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_NAME", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_SALT", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_VERSION", values?: undefined): string; encodeFunctionData(functionFragment: "EIP712_DOMAIN_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "INTERNAL_TRANSFER_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "LIQUIDATION_ORDER_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "MULTI_LIQUIDATION_ORDER_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "ORDER_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "PRICE_INFO_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "accountsWithOpenPositionLength", values?: undefined): string; encodeFunctionData(functionFragment: "addInstrument", values: [ PromiseOrValue<string>[], PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "allowedMatchers", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "approveCustomNetwork", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "balances", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "bindExternalAccount", values: [CFDStructs.ExternalAddressBindingStruct]): string; encodeFunctionData(functionFragment: "bindExternalAccountWithDeposit", values: [ CFDStructs.ExternalAddressBindingStruct, CFDStructs.InternalTransferV2Struct ]): string; encodeFunctionData(functionFragment: "calculateMarginLevel", values: [ PromiseOrValue<string>, CFDStructs.PriceInfoStruct[], PromiseOrValue<boolean> ]): string; encodeFunctionData(functionFragment: "changeDelegateFrom", values: [CFDStructs.DelegationRequestStruct]): string; encodeFunctionData(functionFragment: "changeDelegateWithChainId", values: [CFDStructs.DelegationRequestStruct, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "changeInstrument", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<string>[], PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "checkAddressBindingSignature", values: [CFDStructs.ExternalAddressBindingStruct]): string; encodeFunctionData(functionFragment: "checkDelegationRequest", values: [CFDStructs.DelegationRequestStruct]): string; encodeFunctionData(functionFragment: "checkDelegationRequestWithChainId", values: [CFDStructs.DelegationRequestStruct, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "checkInternalTransfer", values: [CFDStructs.InternalTransferStruct]): string; encodeFunctionData(functionFragment: "checkInternalTransferV2", values: [CFDStructs.InternalTransferV2Struct]): string; encodeFunctionData(functionFragment: "checkLiquidationOrder((address,address,(uint16,uint80)[],(uint16,uint80)[],uint64,uint64,bytes))", values: [CFDStructs.MultiLiquidationOrderStruct]): string; encodeFunctionData(functionFragment: "checkLiquidationOrder((address,address,uint16,(uint16,uint80)[],uint64,uint64,bytes))", values: [CFDStructs.LiquidationOrderStruct]): string; encodeFunctionData(functionFragment: "checkMarginWithOraclePrices", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "checkOrdersInfo", values: [ CFDStructs.OrderStruct, CFDStructs.OrderStruct, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "checkOrdersV2Info", values: [ CFDStructs.OrderV2Struct, CFDStructs.OrderV2Struct, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "collateral", values?: undefined): string; encodeFunctionData(functionFragment: "customStopOutLevel", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "delegateFromTimeout", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "delegatedAction", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "delegations", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "deleteInstrument", values?: undefined): string; encodeFunctionData(functionFragment: "depositAsset", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "depositAssetTo", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "diamondCut", values: [ IDiamondCut.FacetCutStruct[], PromiseOrValue<string>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "facetAddress", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "facetAddresses", values?: undefined): string; encodeFunctionData(functionFragment: "facetFunctionSelectors", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "facets", values?: undefined): string; encodeFunctionData(functionFragment: "fillOrders", values: [ CFDStructs.OrderStruct, CFDStructs.OrderStruct, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "fillOrdersV2", values: [ CFDStructs.OrderV2Struct, CFDStructs.OrderV2Struct, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "filledAmounts", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "fundingRateAccount", values?: undefined): string; encodeFunctionData(functionFragment: "getAccountFR", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getAccountsWithOpenPositions", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getActiveInstrumentsIndexes", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getActiveInstrumentsPositions", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getAssetPrice", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getDelegationRequestTypeValueHash", values: [CFDStructs.DelegationRequestStruct]): string; encodeFunctionData(functionFragment: "getDerivedAccountBinding", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getDomainSeparatorForChainId", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getEIP712DomainData", values?: undefined): string; encodeFunctionData(functionFragment: "getExternalAccountBinding", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "getInstrumentInfo", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getOpenPositions", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getOrWriteDomainSeparator", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getOrderTypeValueHash", values: [CFDStructs.OrderStruct]): string; encodeFunctionData(functionFragment: "getPNL", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "getPriceInfoTypeValueHash", values: [CFDStructs.PriceInfoStruct]): string; encodeFunctionData(functionFragment: "getTotalLongFR", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getTotalShortFR", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "instrumentInfo", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "instrumentsLength", values?: undefined): string; encodeFunctionData(functionFragment: "internalTransfer", values: [CFDStructs.InternalTransferStruct]): string; encodeFunctionData(functionFragment: "internalTransferV2", values: [CFDStructs.InternalTransferV2Struct]): string; encodeFunctionData(functionFragment: "isCustomNetworkApproved", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "liquidatePosition", values: [CFDStructs.LiquidationOrderStruct]): string; encodeFunctionData(functionFragment: "liquidatePositions", values: [CFDStructs.MultiLiquidationOrderStruct]): string; encodeFunctionData(functionFragment: "liquidationFeePercent", values?: undefined): string; encodeFunctionData(functionFragment: "maxOpenPositions", values?: undefined): string; encodeFunctionData(functionFragment: "oracle", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "positionInfo", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "recover", values: [CFDStructs.OrderStruct]): string; encodeFunctionData(functionFragment: "rejectCustomNetwork", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "removeDelegate", values?: undefined): string; encodeFunctionData(functionFragment: "setBasicParams", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "setCustomStopOutLevel", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "setDelegate", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "setFR", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "soLevel", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "updateMatchers", values: [PromiseOrValue<string>[]]): string; encodeFunctionData(functionFragment: "usedDelegationRequests", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "withdrawAsset", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "withdrawAssetTo", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "withdrawMarginLevel", values?: undefined): string; decodeFunctionResult(functionFragment: "DELEGATION_REQUEST_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_NAME", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_SALT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_VERSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "EIP712_DOMAIN_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "INTERNAL_TRANSFER_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LIQUIDATION_ORDER_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MULTI_LIQUIDATION_ORDER_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ORDER_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PRICE_INFO_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accountsWithOpenPositionLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addInstrument", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowedMatchers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approveCustomNetwork", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balances", data: BytesLike): Result; decodeFunctionResult(functionFragment: "bindExternalAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "bindExternalAccountWithDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "calculateMarginLevel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeDelegateFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeDelegateWithChainId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeInstrument", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkAddressBindingSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkDelegationRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkDelegationRequestWithChainId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkInternalTransfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkInternalTransferV2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkLiquidationOrder((address,address,(uint16,uint80)[],(uint16,uint80)[],uint64,uint64,bytes))", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkLiquidationOrder((address,address,uint16,(uint16,uint80)[],uint64,uint64,bytes))", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkMarginWithOraclePrices", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkOrdersInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkOrdersV2Info", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "customStopOutLevel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateFromTimeout", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegatedAction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegations", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deleteInstrument", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositAssetTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "diamondCut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "facetAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "facetAddresses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "facetFunctionSelectors", data: BytesLike): Result; decodeFunctionResult(functionFragment: "facets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fillOrders", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fillOrdersV2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "filledAmounts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fundingRateAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAccountFR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAccountsWithOpenPositions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getActiveInstrumentsIndexes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getActiveInstrumentsPositions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAssetPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDelegationRequestTypeValueHash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDerivedAccountBinding", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDomainSeparatorForChainId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEIP712DomainData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getExternalAccountBinding", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getInstrumentInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOpenPositions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOrWriteDomainSeparator", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOrderTypeValueHash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPNL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPriceInfoTypeValueHash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTotalLongFR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTotalShortFR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "instrumentInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "instrumentsLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "internalTransfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "internalTransferV2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isCustomNetworkApproved", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidatePosition", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidatePositions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidationFeePercent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxOpenPositions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "oracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "positionInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "recover", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rejectCustomNetwork", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeDelegate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setBasicParams", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setCustomStopOutLevel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDelegate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "soLevel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateMatchers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "usedDelegationRequests", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawAssetTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawMarginLevel", data: BytesLike): Result; events: {}; } export interface CrossMarginCFD extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: CrossMarginCFDInterface; queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { DELEGATION_REQUEST_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; DOMAIN_NAME(overrides?: CallOverrides): Promise<[string]>; DOMAIN_SALT(overrides?: CallOverrides): Promise<[string]>; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; DOMAIN_VERSION(overrides?: CallOverrides): Promise<[string]>; EIP712_DOMAIN_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; INTERNAL_TRANSFER_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; LIQUIDATION_ORDER_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; MULTI_LIQUIDATION_ORDER_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; ORDER_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; PRICE_INFO_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; accountsWithOpenPositionLength(overrides?: CallOverrides): Promise<[BigNumber]>; addInstrument(ticker: PromiseOrValue<string>[], leverage: PromiseOrValue<BigNumberish>, dailyFRLong: PromiseOrValue<BigNumberish>, dailyFRShort: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; allowedMatchers(matcher: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; approveCustomNetwork(chainId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; balances(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; bindExternalAccount(binding: CFDStructs.ExternalAddressBindingStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; bindExternalAccountWithDeposit(binding: CFDStructs.ExternalAddressBindingStruct, initialDeposit: CFDStructs.InternalTransferV2Struct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; calculateMarginLevel(account: PromiseOrValue<string>, prices: CFDStructs.PriceInfoStruct[], checkPrices: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber[], BigNumber[] ] & { marginLevel: BigNumber; equity: BigNumber; margin: BigNumber; pnls: BigNumber[]; frs: BigNumber[]; }>; changeDelegateFrom(request: CFDStructs.DelegationRequestStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; changeDelegateWithChainId(request: CFDStructs.DelegationRequestStruct, chainId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; changeInstrument(index: PromiseOrValue<BigNumberish>, ticker: PromiseOrValue<string>[], leverage: PromiseOrValue<BigNumberish>, dailyFRLong: PromiseOrValue<BigNumberish>, dailyFRShort: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; checkAddressBindingSignature(binding: CFDStructs.ExternalAddressBindingStruct, overrides?: CallOverrides): Promise<[string] & { digest: string; }>; checkDelegationRequest(delegationRequest: CFDStructs.DelegationRequestStruct, overrides?: CallOverrides): Promise<[string] & { delegationRequestDigest: string; }>; checkDelegationRequestWithChainId(delegationRequest: CFDStructs.DelegationRequestStruct, chainId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; checkInternalTransfer(internalTransfer: CFDStructs.InternalTransferStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; checkInternalTransferV2(internalTransfer: CFDStructs.InternalTransferV2Struct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; "checkLiquidationOrder((address,address,(uint16,uint80)[],(uint16,uint80)[],uint64,uint64,bytes))"(liquidationOrder: CFDStructs.MultiLiquidationOrderStruct, overrides?: CallOverrides): Promise<[void]>; "checkLiquidationOrder((address,address,uint16,(uint16,uint80)[],uint64,uint64,bytes))"(liquidationOrder: CFDStructs.LiquidationOrderStruct, overrides?: CallOverrides): Promise<[void]>; checkMarginWithOraclePrices(account: PromiseOrValue<string>, marginLevel: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean, BigNumber]>; checkOrdersInfo(buyOrder: CFDStructs.OrderStruct, sellOrder: CFDStructs.OrderStruct, buyOrderSigner: PromiseOrValue<string>, sellOrderSigner: PromiseOrValue<string>, sender: PromiseOrValue<string>, filledAmount: PromiseOrValue<BigNumberish>, filledPrice: PromiseOrValue<BigNumberish>, currentTime: PromiseOrValue<BigNumberish>, allowedMatcher: PromiseOrValue<string>, instrumentsLength: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ string, string ] & { buyOrderDigest: string; sellOrderDigest: string; }>; checkOrdersV2Info(buyOrder: CFDStructs.OrderV2Struct, sellOrder: CFDStructs.OrderV2Struct, buyOrderSigner: PromiseOrValue<string>, sellOrderSigner: PromiseOrValue<string>, sender: PromiseOrValue<string>, filledAmount: PromiseOrValue<BigNumberish>, filledPrice: PromiseOrValue<BigNumberish>, currentTime: PromiseOrValue<BigNumberish>, allowedMatcher: PromiseOrValue<string>, instrumentsLength: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; collateral(overrides?: CallOverrides): Promise<[string]>; customStopOutLevel(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; delegateFromTimeout(trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & { timeLeft: BigNumber; }>; delegatedAction(trader: PromiseOrValue<string>, call_data: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; delegations(trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>; deleteInstrument(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositAsset(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositAssetTo(amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; diamondCut(diamondCut_: IDiamondCut.FacetCutStruct[], init_: PromiseOrValue<string>, calldata_: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; facetAddress(_functionSelector: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string] & { facetAddress_: string; }>; facetAddresses(overrides?: CallOverrides): Promise<[string[]] & { facetAddresses_: string[]; }>; facetFunctionSelectors(_facet: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]] & { facetFunctionSelectors_: string[]; }>; facets(overrides?: CallOverrides): Promise<[ IDiamondLoupe.FacetStructOutput[] ] & { facets_: IDiamondLoupe.FacetStructOutput[]; }>; fillOrders(buyOrder: CFDStructs.OrderStruct, sellOrder: CFDStructs.OrderStruct, filledPrice: PromiseOrValue<BigNumberish>, filledAmount: PromiseOrValue<BigNumberish>, ove