@electra.finance/contracts
Version:
Electra Finance contracts typings
1,105 lines (1,104 loc) • 62.9 kB
TypeScript
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "./common.js";
export declare namespace CFDStructs {
type ExternalAddressBindingStruct = {
derivedAccount: AddressLike;
derivedAccountSalt: BigNumberish;
nonce: BigNumberish;
chainId: BigNumberish;
signerChainId: BigNumberish;
externalAddress: BytesLike;
derivedAccountSignature: BytesLike;
};
type ExternalAddressBindingStructOutput = [
derivedAccount: string,
derivedAccountSalt: bigint,
nonce: bigint,
chainId: bigint,
signerChainId: bigint,
externalAddress: string,
derivedAccountSignature: string
] & {
derivedAccount: string;
derivedAccountSalt: bigint;
nonce: bigint;
chainId: bigint;
signerChainId: bigint;
externalAddress: string;
derivedAccountSignature: string;
};
type InternalTransferV2Struct = {
from: AddressLike;
to: AddressLike;
amount: BigNumberish;
expiration: BigNumberish;
nonce: BigNumberish;
chainId: BigNumberish;
signerChainId: BigNumberish;
uniqueHash: BytesLike;
externalAddress: BytesLike;
signature: BytesLike;
};
type InternalTransferV2StructOutput = [
from: string,
to: string,
amount: bigint,
expiration: bigint,
nonce: bigint,
chainId: bigint,
signerChainId: bigint,
uniqueHash: string,
externalAddress: string,
signature: string
] & {
from: string;
to: string;
amount: bigint;
expiration: bigint;
nonce: bigint;
chainId: bigint;
signerChainId: bigint;
uniqueHash: string;
externalAddress: string;
signature: string;
};
type PriceInfoStruct = {
index: BigNumberish;
price: BigNumberish;
};
type PriceInfoStructOutput = [index: bigint, price: bigint] & {
index: bigint;
price: bigint;
};
type DelegationRequestStruct = {
trader: AddressLike;
isSetDelegate: boolean;
deadline: BigNumberish;
delegate: AddressLike;
signature: BytesLike;
};
type DelegationRequestStructOutput = [
trader: string,
isSetDelegate: boolean,
deadline: bigint,
delegate: string,
signature: string
] & {
trader: string;
isSetDelegate: boolean;
deadline: bigint;
delegate: string;
signature: string;
};
type InternalTransferStruct = {
from: AddressLike;
to: AddressLike;
amount: BigNumberish;
expiration: BigNumberish;
nonce: BigNumberish;
chainId: BigNumberish;
reserved: BigNumberish;
signature: BytesLike;
};
type InternalTransferStructOutput = [
from: string,
to: string,
amount: bigint,
expiration: bigint,
nonce: bigint,
chainId: bigint,
reserved: bigint,
signature: string
] & {
from: string;
to: string;
amount: bigint;
expiration: bigint;
nonce: bigint;
chainId: bigint;
reserved: bigint;
signature: string;
};
type MultiLiquidationOrderStruct = {
accountToLiquidate: AddressLike;
liquidator: AddressLike;
liquidationPrices: CFDStructs.PriceInfoStruct[];
prices: CFDStructs.PriceInfoStruct[];
liquidationTimestamp: BigNumberish;
expiration: BigNumberish;
signature: BytesLike;
};
type MultiLiquidationOrderStructOutput = [
accountToLiquidate: string,
liquidator: string,
liquidationPrices: CFDStructs.PriceInfoStructOutput[],
prices: CFDStructs.PriceInfoStructOutput[],
liquidationTimestamp: bigint,
expiration: bigint,
signature: string
] & {
accountToLiquidate: string;
liquidator: string;
liquidationPrices: CFDStructs.PriceInfoStructOutput[];
prices: CFDStructs.PriceInfoStructOutput[];
liquidationTimestamp: bigint;
expiration: bigint;
signature: string;
};
type LiquidationOrderStruct = {
accountToLiquidate: AddressLike;
liquidator: AddressLike;
index: BigNumberish;
prices: CFDStructs.PriceInfoStruct[];
liquidationTimestamp: BigNumberish;
expiration: BigNumberish;
signature: BytesLike;
};
type LiquidationOrderStructOutput = [
accountToLiquidate: string,
liquidator: string,
index: bigint,
prices: CFDStructs.PriceInfoStructOutput[],
liquidationTimestamp: bigint,
expiration: bigint,
signature: string
] & {
accountToLiquidate: string;
liquidator: string;
index: bigint;
prices: CFDStructs.PriceInfoStructOutput[];
liquidationTimestamp: bigint;
expiration: bigint;
signature: string;
};
type OrderStruct = {
senderAddress: AddressLike;
matcherAddress: AddressLike;
instrumentIndex: BigNumberish;
amount: BigNumberish;
price: BigNumberish;
matcherFee: BigNumberish;
expiration: BigNumberish;
buySide: BigNumberish;
isFromDelegate: boolean;
signature: BytesLike;
};
type OrderStructOutput = [
senderAddress: string,
matcherAddress: string,
instrumentIndex: bigint,
amount: bigint,
price: bigint,
matcherFee: bigint,
expiration: bigint,
buySide: bigint,
isFromDelegate: boolean,
signature: string
] & {
senderAddress: string;
matcherAddress: string;
instrumentIndex: bigint;
amount: bigint;
price: bigint;
matcherFee: bigint;
expiration: bigint;
buySide: bigint;
isFromDelegate: boolean;
signature: string;
};
type OrderV2Struct = {
senderAddress: AddressLike;
price: BigNumberish;
instrumentIndex: BigNumberish;
matcherAddress: AddressLike;
price2: BigNumberish;
isFromDelegate: boolean;
buySide: BigNumberish;
amount: BigNumberish;
matcherFee: BigNumberish;
expiration: BigNumberish;
orderType: BigNumberish;
signerChainId: BigNumberish;
signature: BytesLike;
};
type OrderV2StructOutput = [
senderAddress: string,
price: bigint,
instrumentIndex: bigint,
matcherAddress: string,
price2: bigint,
isFromDelegate: boolean,
buySide: bigint,
amount: bigint,
matcherFee: bigint,
expiration: bigint,
orderType: bigint,
signerChainId: bigint,
signature: string
] & {
senderAddress: string;
price: bigint;
instrumentIndex: bigint;
matcherAddress: string;
price2: bigint;
isFromDelegate: boolean;
buySide: bigint;
amount: bigint;
matcherFee: bigint;
expiration: bigint;
orderType: bigint;
signerChainId: bigint;
signature: string;
};
type PositionInfoStruct = {
position: BigNumberish;
frAccumulated: BigNumberish;
positionLastUpdate: BigNumberish;
positionAvgPrice: BigNumberish;
positionLongFRStored: BigNumberish;
positionShortFRStored: BigNumberish;
};
type PositionInfoStructOutput = [
position: bigint,
frAccumulated: bigint,
positionLastUpdate: bigint,
positionAvgPrice: bigint,
positionLongFRStored: bigint,
positionShortFRStored: bigint
] & {
position: bigint;
frAccumulated: bigint;
positionLastUpdate: bigint;
positionAvgPrice: bigint;
positionLongFRStored: bigint;
positionShortFRStored: bigint;
};
type FundingRateInfoStruct = {
frLong: BigNumberish;
frShort: BigNumberish;
longFRStored: BigNumberish;
shortFRStored: BigNumberish;
lastFRUpdateTime: BigNumberish;
};
type FundingRateInfoStructOutput = [
frLong: bigint,
frShort: bigint,
longFRStored: bigint,
shortFRStored: bigint,
lastFRUpdateTime: bigint
] & {
frLong: bigint;
frShort: bigint;
longFRStored: bigint;
shortFRStored: bigint;
lastFRUpdateTime: bigint;
};
type InstrumentInfoStruct = {
leverage: BigNumberish;
ticker: string[];
fundingRateInfo: CFDStructs.FundingRateInfoStruct;
};
type InstrumentInfoStructOutput = [
leverage: bigint,
ticker: string[],
fundingRateInfo: CFDStructs.FundingRateInfoStructOutput
] & {
leverage: bigint;
ticker: string[];
fundingRateInfo: CFDStructs.FundingRateInfoStructOutput;
};
type AccountPositionsStruct = {
account: AddressLike;
positions: CFDStructs.PositionInfoStruct[];
};
type AccountPositionsStructOutput = [
account: string,
positions: CFDStructs.PositionInfoStructOutput[]
] & {
account: string;
positions: CFDStructs.PositionInfoStructOutput[];
};
}
export declare namespace IDiamondCut {
type FacetCutStruct = {
facetAddress: AddressLike;
action: BigNumberish;
functionSelectors: BytesLike[];
};
type FacetCutStructOutput = [
facetAddress: string,
action: bigint,
functionSelectors: string[]
] & {
facetAddress: string;
action: bigint;
functionSelectors: string[];
};
}
export declare namespace IDiamondLoupe {
type FacetStruct = {
facetAddress: AddressLike;
functionSelectors: BytesLike[];
};
type FacetStructOutput = [
facetAddress: string,
functionSelectors: string[]
] & {
facetAddress: string;
functionSelectors: string[];
};
}
export interface CrossMarginCFDInterface extends Interface {
getFunction(nameOrSignature: "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: [string[], BigNumberish, BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "allowedMatchers", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "approveCustomNetwork", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "balances", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "bindExternalAccount", values: [CFDStructs.ExternalAddressBindingStruct]): string;
encodeFunctionData(functionFragment: "bindExternalAccountWithDeposit", values: [
CFDStructs.ExternalAddressBindingStruct,
CFDStructs.InternalTransferV2Struct
]): string;
encodeFunctionData(functionFragment: "calculateMarginLevel", values: [AddressLike, CFDStructs.PriceInfoStruct[], boolean]): string;
encodeFunctionData(functionFragment: "changeDelegateFrom", values: [CFDStructs.DelegationRequestStruct]): string;
encodeFunctionData(functionFragment: "changeDelegateWithChainId", values: [CFDStructs.DelegationRequestStruct, BigNumberish]): string;
encodeFunctionData(functionFragment: "changeInstrument", values: [BigNumberish, string[], BigNumberish, BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "checkAddressBindingSignature", values: [CFDStructs.ExternalAddressBindingStruct]): string;
encodeFunctionData(functionFragment: "checkDelegationRequest", values: [CFDStructs.DelegationRequestStruct]): string;
encodeFunctionData(functionFragment: "checkDelegationRequestWithChainId", values: [CFDStructs.DelegationRequestStruct, 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: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "checkOrdersInfo", values: [
CFDStructs.OrderStruct,
CFDStructs.OrderStruct,
AddressLike,
AddressLike,
AddressLike,
BigNumberish,
BigNumberish,
BigNumberish,
AddressLike,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "checkOrdersV2Info", values: [
CFDStructs.OrderV2Struct,
CFDStructs.OrderV2Struct,
AddressLike,
AddressLike,
AddressLike,
BigNumberish,
BigNumberish,
BigNumberish,
AddressLike,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "collateral", values?: undefined): string;
encodeFunctionData(functionFragment: "customStopOutLevel", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "delegateFromTimeout", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "delegatedAction", values: [AddressLike, BytesLike]): string;
encodeFunctionData(functionFragment: "delegations", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "deleteInstrument", values?: undefined): string;
encodeFunctionData(functionFragment: "depositAsset", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "depositAssetTo", values: [BigNumberish, AddressLike]): string;
encodeFunctionData(functionFragment: "diamondCut", values: [IDiamondCut.FacetCutStruct[], AddressLike, BytesLike]): string;
encodeFunctionData(functionFragment: "facetAddress", values: [BytesLike]): string;
encodeFunctionData(functionFragment: "facetAddresses", values?: undefined): string;
encodeFunctionData(functionFragment: "facetFunctionSelectors", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "facets", values?: undefined): string;
encodeFunctionData(functionFragment: "fillOrders", values: [
CFDStructs.OrderStruct,
CFDStructs.OrderStruct,
BigNumberish,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "fillOrdersV2", values: [
CFDStructs.OrderV2Struct,
CFDStructs.OrderV2Struct,
BigNumberish,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "filledAmounts", values: [BytesLike]): string;
encodeFunctionData(functionFragment: "fundingRateAccount", values?: undefined): string;
encodeFunctionData(functionFragment: "getAccountFR", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "getAccountsWithOpenPositions", values: [BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "getActiveInstrumentsIndexes", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "getActiveInstrumentsPositions", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "getAssetPrice", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getDelegationRequestTypeValueHash", values: [CFDStructs.DelegationRequestStruct]): string;
encodeFunctionData(functionFragment: "getDerivedAccountBinding", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "getDomainSeparatorForChainId", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getEIP712DomainData", values?: undefined): string;
encodeFunctionData(functionFragment: "getExternalAccountBinding", values: [BytesLike]): string;
encodeFunctionData(functionFragment: "getInstrumentInfo", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getOpenPositions", values: [BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "getOrWriteDomainSeparator", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getOrderTypeValueHash", values: [CFDStructs.OrderStruct]): string;
encodeFunctionData(functionFragment: "getPNL", values: [AddressLike, BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "getPriceInfoTypeValueHash", values: [CFDStructs.PriceInfoStruct]): string;
encodeFunctionData(functionFragment: "getTotalLongFR", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getTotalShortFR", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "instrumentInfo", values: [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: [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: [BigNumberish, AddressLike]): string;
encodeFunctionData(functionFragment: "recover", values: [CFDStructs.OrderStruct]): string;
encodeFunctionData(functionFragment: "rejectCustomNetwork", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "removeDelegate", values?: undefined): string;
encodeFunctionData(functionFragment: "setBasicParams", values: [
AddressLike,
AddressLike,
BigNumberish,
BigNumberish,
BigNumberish,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "setCustomStopOutLevel", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "setDelegate", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "setFR", values: [BigNumberish, BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "soLevel", values?: undefined): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "updateMatchers", values: [AddressLike[]]): string;
encodeFunctionData(functionFragment: "usedDelegationRequests", values: [BytesLike]): string;
encodeFunctionData(functionFragment: "withdrawAsset", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "withdrawAssetTo", values: [BigNumberish, AddressLike]): 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;
}
export interface CrossMarginCFD extends BaseContract {
connect(runner?: ContractRunner | null): CrossMarginCFD;
waitForDeployment(): Promise<this>;
interface: CrossMarginCFDInterface;
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>;
DELEGATION_REQUEST_TYPEHASH: TypedContractMethod<[], [string], "view">;
DOMAIN_NAME: TypedContractMethod<[], [string], "view">;
DOMAIN_SALT: TypedContractMethod<[], [string], "view">;
DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">;
DOMAIN_VERSION: TypedContractMethod<[], [string], "view">;
EIP712_DOMAIN_TYPEHASH: TypedContractMethod<[], [string], "view">;
INTERNAL_TRANSFER_TYPEHASH: TypedContractMethod<[], [string], "view">;
LIQUIDATION_ORDER_TYPEHASH: TypedContractMethod<[], [string], "view">;
MULTI_LIQUIDATION_ORDER_TYPEHASH: TypedContractMethod<[], [string], "view">;
ORDER_TYPEHASH: TypedContractMethod<[], [string], "view">;
PRICE_INFO_TYPEHASH: TypedContractMethod<[], [string], "view">;
accountsWithOpenPositionLength: TypedContractMethod<[], [bigint], "view">;
addInstrument: TypedContractMethod<[
ticker: string[],
leverage: BigNumberish,
dailyFRLong: BigNumberish,
dailyFRShort: BigNumberish
], [
void
], "nonpayable">;
allowedMatchers: TypedContractMethod<[
matcher: AddressLike
], [
boolean
], "view">;
approveCustomNetwork: TypedContractMethod<[
chainId: BigNumberish
], [
void
], "nonpayable">;
balances: TypedContractMethod<[account: AddressLike], [bigint], "view">;
bindExternalAccount: TypedContractMethod<[
binding: CFDStructs.ExternalAddressBindingStruct
], [
void
], "nonpayable">;
bindExternalAccountWithDeposit: TypedContractMethod<[
binding: CFDStructs.ExternalAddressBindingStruct,
initialDeposit: CFDStructs.InternalTransferV2Struct
], [
void
], "nonpayable">;
calculateMarginLevel: TypedContractMethod<[
account: AddressLike,
prices: CFDStructs.PriceInfoStruct[],
checkPrices: boolean
], [
[
bigint,
bigint,
bigint,
bigint[],
bigint[]
] & {
marginLevel: bigint;
equity: bigint;
margin: bigint;
pnls: bigint[];
frs: bigint[];
}
], "view">;
changeDelegateFrom: TypedContractMethod<[
request: CFDStructs.DelegationRequestStruct
], [
void
], "nonpayable">;
changeDelegateWithChainId: TypedContractMethod<[
request: CFDStructs.DelegationRequestStruct,
chainId: BigNumberish
], [
void
], "nonpayable">;
changeInstrument: TypedContractMethod<[
index: BigNumberish,
ticker: string[],
leverage: BigNumberish,
dailyFRLong: BigNumberish,
dailyFRShort: BigNumberish
], [
void
], "nonpayable">;
checkAddressBindingSignature: TypedContractMethod<[
binding: CFDStructs.ExternalAddressBindingStruct
], [
string
], "view">;
checkDelegationRequest: TypedContractMethod<[
delegationRequest: CFDStructs.DelegationRequestStruct
], [
string
], "view">;
checkDelegationRequestWithChainId: TypedContractMethod<[
delegationRequest: CFDStructs.DelegationRequestStruct,
chainId: BigNumberish
], [
string
], "nonpayable">;
checkInternalTransfer: TypedContractMethod<[
internalTransfer: CFDStructs.InternalTransferStruct
], [
void
], "nonpayable">;
checkInternalTransferV2: TypedContractMethod<[
internalTransfer: CFDStructs.InternalTransferV2Struct
], [
void
], "nonpayable">;
"checkLiquidationOrder((address,address,(uint16,uint80)[],(uint16,uint80)[],uint64,uint64,bytes))": TypedContractMethod<[
liquidationOrder: CFDStructs.MultiLiquidationOrderStruct
], [
void
], "view">;
"checkLiquidationOrder((address,address,uint16,(uint16,uint80)[],uint64,uint64,bytes))": TypedContractMethod<[
liquidationOrder: CFDStructs.LiquidationOrderStruct
], [
void
], "view">;
checkMarginWithOraclePrices: TypedContractMethod<[
account: AddressLike,
marginLevel: BigNumberish
], [
[boolean, bigint]
], "view">;
checkOrdersInfo: TypedContractMethod<[
buyOrder: CFDStructs.OrderStruct,
sellOrder: CFDStructs.OrderStruct,
buyOrderSigner: AddressLike,
sellOrderSigner: AddressLike,
sender: AddressLike,
filledAmount: BigNumberish,
filledPrice: BigNumberish,
currentTime: BigNumberish,
allowedMatcher: AddressLike,
instrumentsLength: BigNumberish
], [
[string, string] & {
buyOrderDigest: string;
sellOrderDigest: string;
}
], "view">;
checkOrdersV2Info: TypedContractMethod<[
buyOrder: CFDStructs.OrderV2Struct,
sellOrder: CFDStructs.OrderV2Struct,
buyOrderSigner: AddressLike,
sellOrderSigner: AddressLike,
sender: AddressLike,
filledAmount: BigNumberish,
filledPrice: BigNumberish,
currentTime: BigNumberish,
allowedMatcher: AddressLike,
instrumentsLength: BigNumberish
], [
[string, string] & {
buyOrderDigest: string;
sellOrderDigest: string;
}
], "nonpayable">;
collateral: TypedContractMethod<[], [string], "view">;
customStopOutLevel: TypedContractMethod<[
account: AddressLike
], [
bigint
], "view">;
delegateFromTimeout: TypedContractMethod<[
trader: AddressLike
], [
bigint
], "view">;
delegatedAction: TypedContractMethod<[
trader: AddressLike,
call_data: BytesLike
], [
string
], "nonpayable">;
delegations: TypedContractMethod<[trader: AddressLike], [string], "view">;
deleteInstrument: TypedContractMethod<[], [void], "nonpayable">;
depositAsset: TypedContractMethod<[
amount: BigNumberish
], [
void
], "nonpayable">;
depositAssetTo: TypedContractMethod<[
amount: BigNumberish,
to: AddressLike
], [
void
], "nonpayable">;
diamondCut: TypedContractMethod<[
diamondCut_: IDiamondCut.FacetCutStruct[],
init_: AddressLike,
calldata_: BytesLike
], [
void
], "nonpayable">;
facetAddress: TypedContractMethod<[
_functionSelector: BytesLike
], [
string
], "view">;
facetAddresses: TypedContractMethod<[], [string[]], "view">;
facetFunctionSelectors: TypedContractMethod<[
_facet: AddressLike
], [
string[]
], "view">;
facets: TypedContractMethod<[], [IDiamondLoupe.FacetStructOutput[]], "view">;
fillOrders: TypedContractMethod<[
buyOrder: CFDStructs.OrderStruct,
sellOrder: CFDStructs.OrderStruct,
filledPrice: BigNumberish,
filledAmount: BigNumberish
], [
void
], "nonpayable">;
fillOrdersV2: TypedContractMethod<[
buyOrder: CFDStructs.OrderV2Struct,
sellOrder: CFDStructs.OrderV2Struct,
filledPrice: BigNumberish,
filledAmount: BigNumberish
], [
void
], "nonpayable">;
filledAmounts: TypedContractMethod<[orderHash: BytesLike], [bigint], "view">;
fundingRateAccount: TypedContractMethod<[], [string], "view">;
getAccountFR: TypedContractMethod<[
account: AddressLike,
index: BigNumberish
], [
bigint
], "view">;
getAccountsWithOpenPositions: TypedContractMethod<[
offset: BigNumberish,
limit: BigNumberish
], [
string[]
], "view">;
getActiveInstrumentsIndexes: TypedContractMethod<[
account: AddressLike
], [
bigint[]
], "view">;
getActiveInstrumentsPositions: TypedContractMethod<[
account: AddressLike
], [
[
bigint[],
CFDStructs.PositionInfoStructOutput[]
] & {
indexes: bigint[];
positions: CFDStructs.PositionInfoStructOutput[];
}
], "view">;
getAssetPrice: TypedContractMethod<[index: BigNumberish], [bigint], "view">;
getDelegationRequestTypeValueHash: TypedContractMethod<[
delegationRequest: CFDStructs.DelegationRequestStruct
], [
string
], "view">;
getDerivedAccountBinding: TypedContractMethod<[
derivedAccount: AddressLike
], [
[
string,
bigint,
bigint
] & {
externalAddress: string;
bindingTimestamp: bigint;
derivedAccountSalt: bigint;
}
], "view">;
getDomainSeparatorForChainId: TypedContractMethod<[
chainId_: BigNumberish
], [
string
], "view">;
getEIP712DomainData: TypedContractMethod<[
], [
[
string,
string,
bigint,
string
] & {
name: string;
version: string;
chainId: bigint;
salt: string;
}
], "view">;
getExternalAccountBinding: TypedContractMethod<[
externalAddress: BytesLike
], [
[
string,
bigint,
bigint
] & {
derivedAccount: string;
bindingTimestamp: bigint;
derivedAccountSalt: bigint;
}
], "view">;
getInstrumentInfo: TypedContractMethod<[
index: BigNumberish
], [
CFDStructs.InstrumentInfoStructOutput
], "view">;
getOpenPositions: TypedContractMethod<[
offset: BigNumberish,
limit: BigNumberish
], [
CFDStructs.AccountPositionsStructOutput[]
], "view">;
getOrWriteDomainSeparator: TypedContractMethod<[
chainId_: BigNumberish
], [
string
], "nonpayable">;
getOrderTypeValueHash: TypedContractMethod<[
_order: CFDStructs.OrderStruct
], [
string
], "view">;
getPNL: TypedContractMethod<[
account: AddressLike,
index: BigNumberish,
price: BigNumberish
], [
bigint
], "view">;
getPriceInfoTypeValueHash: TypedContractMethod<[
priceInfo: CFDStructs.PriceInfoStruct
], [
string
], "view">;
getTotalLongFR: TypedContractMethod<[index: BigNumberish], [bigint], "view">;
getTotalShortFR: TypedContractMethod<[index: BigNumberish], [bigint], "view">;
instrumentInfo: TypedContractMethod<[
index: BigNumberish
], [
CFDStructs.InstrumentInfoStructOutput
], "view">;
instrumentsLength: TypedContractMethod<[], [bigint], "view">;
internalTransfer: TypedContractMethod<[
transfer: CFDStructs.InternalTransferStruct
], [
void
], "nonpayable">;
internalTransferV2: TypedContractMethod<[
transfer: CFDStructs.InternalTransferV2Struct
], [
void
], "nonpayable">;
isCustomNetworkApproved: TypedContractMethod<[
chainId: BigNumberish
], [
boolean
], "view">;
liquidatePosition: TypedContractMethod<[
liquidationOrder: CFDStructs.LiquidationOrderStruct
], [
void
], "nonpayable">;
liquidatePositions: TypedContractMethod<[
liquidationOrder: CFDStructs.MultiLiquidationOrderStruct
], [
void
], "nonpayable">;
liquidationFeePercent: TypedContractMethod<[], [bigint], "view">;
maxOpenPositions: TypedContractMethod<[], [bigint], "view">;
oracle: TypedContractMethod<[], [string], "view">;
owner: TypedContractMethod<[], [string], "view">;
positionInfo: TypedContractMethod<[
index: BigNumberish,
account: AddressLike
], [
CFDStructs.PositionInfoStructOutput
], "view">;
recover: TypedContractMethod<[
order: CFDStructs.OrderStruct
], [
[string, string]
], "view">;
rejectCustomNetwork: TypedContractMethod<[
chainId: BigNumberish
], [
void
], "nonpayable">;
removeDelegate: TypedContractMethod<[], [void], "nonpayable">;
setBasicParams: TypedContractMethod<[
oracle_: AddressLike,
fundingRateAccount_: AddressLike,
soLevel_: BigNumberish,
withdrawMarginLevel_: BigNumberish,
maxOpenPositions_: BigNumberish,
liquidationFeePercent_: BigNumberish
], [
void
], "nonpayable">;
setCustomStopOutLevel: TypedContractMethod<[
account: AddressLike,
soLevel_: BigNumberish
], [
void
], "nonpayable">;
setDelegate: TypedContractMethod<[
delegate: AddressLike
], [
void
], "nonpayable">;
setFR: TypedContractMethod<[
index: BigNumberish,
dailyFRLong: BigNumberish,
dailyFRShort: BigNumberish
], [
void
], "nonpayable">;
soLevel: TypedContractMethod<[], [bigint], "view">;
transferOwnership: TypedContractMethod<[
newOwner_: AddressLike
], [
void
], "nonpayable">;
updateMatchers: TypedContractMethod<[
matchers: AddressLike[]
], [
void
], "nonpayable">;
usedDelegationRequests: TypedContractMethod<[
hash: BytesLike
], [
boolean
], "view">;
withdrawAsset: TypedContractMethod<[
amount: BigNumberish
], [
void
], "nonpayable">;
withdrawAssetTo: TypedContractMethod<[
amount: BigNumberish,
to: AddressLike
], [
void
], "nonpayable">;
withdrawMarginLevel: TypedContractMethod<[], [bigint], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "DELEGATION_REQUEST_TYPEHASH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "DOMAIN_NAME"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "DOMAIN_SALT"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "DOMAIN_VERSION"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "EIP712_DOMAIN_TYPEHASH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "INTERNAL_TRANSFER_TYPEHASH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "LIQUIDATION_ORDER_TYPEHASH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "MULTI_LIQUIDATION_ORDER_TYPEHASH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "ORDER_TYPEHASH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "PRICE_INFO_TYPEHASH"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "accountsWithOpenPositionLength"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "addInstrument"): TypedContractMethod<[
ticker: string[],
leverage: BigNumberish,
dailyFRLong: BigNumberish,
dailyFRShort: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "allowedMatchers"): TypedContractMethod<[matcher: AddressLike], [boolean], "view">;
getFunction(nameOrSignature: "approveCustomNetwork"): TypedContractMethod<[chainId: BigNumberish], [void], "nonpayable">;
getFunction(nameOrSignature: "balances"): TypedContractMethod<[account: AddressLike], [bigint], "view">;
getFunction(nameOrSignature: "bindExternalAccount"): TypedContractMethod<[
binding: CFDStructs.ExternalAddressBindingStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "bindExternalAccountWithDeposit"): TypedContractMethod<[
binding: CFDStructs.ExternalAddressBindingStruct,
initialDeposit: CFDStructs.InternalTransferV2Struct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "calculateMarginLevel"): TypedContractMethod<[
account: AddressLike,
prices: CFDStructs.PriceInfoStruct[],
checkPrices: boolean
], [
[
bigint,
bigint,
bigint,
bigint[],
bigint[]
] & {
marginLevel: bigint;
equity: bigint;
margin: bigint;
pnls: bigint[];
frs: bigint[];
}
], "view">;
getFunction(nameOrSignature: "changeDelegateFrom"): TypedContractMethod<[
request: CFDStructs.DelegationRequestStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "changeDelegateWithChainId"): TypedContractMethod<[
request: CFDStructs.DelegationRequestStruct,
chainId: BigNumberish
], [
void