@electra.finance/contracts
Version:
Electra Finance contracts typings
3,336 lines • 98.6 kB
JavaScript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Contract, Interface } from "ethers";
const _abi = [
{
inputs: [],
name: "DELEGATION_REQUEST_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "DOMAIN_NAME",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "DOMAIN_SALT",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "DOMAIN_SEPARATOR",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "DOMAIN_VERSION",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "EIP712_DOMAIN_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "INTERNAL_TRANSFER_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "LIQUIDATION_ORDER_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "MULTI_LIQUIDATION_ORDER_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "ORDER_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "PRICE_INFO_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "accountsWithOpenPositionLength",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "string[12]",
name: "ticker",
type: "string[12]",
},
{
internalType: "uint8",
name: "leverage",
type: "uint8",
},
{
internalType: "int256",
name: "dailyFRLong",
type: "int256",
},
{
internalType: "int256",
name: "dailyFRShort",
type: "int256",
},
],
name: "addInstrument",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "matcher",
type: "address",
},
],
name: "allowedMatchers",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
],
name: "approveCustomNetwork",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balances",
outputs: [
{
internalType: "int112",
name: "",
type: "int112",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "derivedAccount",
type: "address",
},
{
internalType: "uint64",
name: "derivedAccountSalt",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
{
internalType: "bytes",
name: "derivedAccountSignature",
type: "bytes",
},
],
internalType: "struct CFDStructs.ExternalAddressBinding",
name: "binding",
type: "tuple",
},
],
name: "bindExternalAccount",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "derivedAccount",
type: "address",
},
{
internalType: "uint64",
name: "derivedAccountSalt",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
{
internalType: "bytes",
name: "derivedAccountSignature",
type: "bytes",
},
],
internalType: "struct CFDStructs.ExternalAddressBinding",
name: "binding",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes32",
name: "uniqueHash",
type: "bytes32",
},
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.InternalTransferV2",
name: "initialDeposit",
type: "tuple",
},
],
name: "bindExternalAccountWithDeposit",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo[]",
name: "prices",
type: "tuple[]",
},
{
internalType: "bool",
name: "checkPrices",
type: "bool",
},
],
name: "calculateMarginLevel",
outputs: [
{
internalType: "int112",
name: "marginLevel",
type: "int112",
},
{
internalType: "int112",
name: "equity",
type: "int112",
},
{
internalType: "int112",
name: "margin",
type: "int112",
},
{
internalType: "int112[]",
name: "pnls",
type: "int112[]",
},
{
internalType: "int112[]",
name: "frs",
type: "int112[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "trader",
type: "address",
},
{
internalType: "bool",
name: "isSetDelegate",
type: "bool",
},
{
internalType: "uint88",
name: "deadline",
type: "uint88",
},
{
internalType: "address",
name: "delegate",
type: "address",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.DelegationRequest",
name: "request",
type: "tuple",
},
],
name: "changeDelegateFrom",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "trader",
type: "address",
},
{
internalType: "bool",
name: "isSetDelegate",
type: "bool",
},
{
internalType: "uint88",
name: "deadline",
type: "uint88",
},
{
internalType: "address",
name: "delegate",
type: "address",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.DelegationRequest",
name: "request",
type: "tuple",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
],
name: "changeDelegateWithChainId",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
{
internalType: "string[12]",
name: "ticker",
type: "string[12]",
},
{
internalType: "uint8",
name: "leverage",
type: "uint8",
},
{
internalType: "int256",
name: "dailyFRLong",
type: "int256",
},
{
internalType: "int256",
name: "dailyFRShort",
type: "int256",
},
],
name: "changeInstrument",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "derivedAccount",
type: "address",
},
{
internalType: "uint64",
name: "derivedAccountSalt",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
{
internalType: "bytes",
name: "derivedAccountSignature",
type: "bytes",
},
],
internalType: "struct CFDStructs.ExternalAddressBinding",
name: "binding",
type: "tuple",
},
],
name: "checkAddressBindingSignature",
outputs: [
{
internalType: "bytes32",
name: "digest",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "trader",
type: "address",
},
{
internalType: "bool",
name: "isSetDelegate",
type: "bool",
},
{
internalType: "uint88",
name: "deadline",
type: "uint88",
},
{
internalType: "address",
name: "delegate",
type: "address",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.DelegationRequest",
name: "delegationRequest",
type: "tuple",
},
],
name: "checkDelegationRequest",
outputs: [
{
internalType: "bytes32",
name: "delegationRequestDigest",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "trader",
type: "address",
},
{
internalType: "bool",
name: "isSetDelegate",
type: "bool",
},
{
internalType: "uint88",
name: "deadline",
type: "uint88",
},
{
internalType: "address",
name: "delegate",
type: "address",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.DelegationRequest",
name: "delegationRequest",
type: "tuple",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
],
name: "checkDelegationRequestWithChainId",
outputs: [
{
internalType: "bytes32",
name: "delegationRequestDigest",
type: "bytes32",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint192",
name: "reserved",
type: "uint192",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.InternalTransfer",
name: "internalTransfer",
type: "tuple",
},
],
name: "checkInternalTransfer",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes32",
name: "uniqueHash",
type: "bytes32",
},
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.InternalTransferV2",
name: "internalTransfer",
type: "tuple",
},
],
name: "checkInternalTransferV2",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "accountToLiquidate",
type: "address",
},
{
internalType: "address",
name: "liquidator",
type: "address",
},
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo[]",
name: "liquidationPrices",
type: "tuple[]",
},
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo[]",
name: "prices",
type: "tuple[]",
},
{
internalType: "uint64",
name: "liquidationTimestamp",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.MultiLiquidationOrder",
name: "liquidationOrder",
type: "tuple",
},
],
name: "checkLiquidationOrder",
outputs: [],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "accountToLiquidate",
type: "address",
},
{
internalType: "address",
name: "liquidator",
type: "address",
},
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo[]",
name: "prices",
type: "tuple[]",
},
{
internalType: "uint64",
name: "liquidationTimestamp",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.LiquidationOrder",
name: "liquidationOrder",
type: "tuple",
},
],
name: "checkLiquidationOrder",
outputs: [],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "int112",
name: "marginLevel",
type: "int112",
},
],
name: "checkMarginWithOraclePrices",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
{
internalType: "int112",
name: "",
type: "int112",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.Order",
name: "buyOrder",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.Order",
name: "sellOrder",
type: "tuple",
},
{
internalType: "address",
name: "buyOrderSigner",
type: "address",
},
{
internalType: "address",
name: "sellOrderSigner",
type: "address",
},
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "filledAmount",
type: "uint256",
},
{
internalType: "uint256",
name: "filledPrice",
type: "uint256",
},
{
internalType: "uint256",
name: "currentTime",
type: "uint256",
},
{
internalType: "address",
name: "allowedMatcher",
type: "address",
},
{
internalType: "uint256",
name: "instrumentsLength",
type: "uint256",
},
],
name: "checkOrdersInfo",
outputs: [
{
internalType: "bytes32",
name: "buyOrderDigest",
type: "bytes32",
},
{
internalType: "bytes32",
name: "sellOrderDigest",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint80",
name: "price2",
type: "uint80",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "orderType",
type: "uint8",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.OrderV2",
name: "buyOrder",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint80",
name: "price2",
type: "uint80",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "orderType",
type: "uint8",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.OrderV2",
name: "sellOrder",
type: "tuple",
},
{
internalType: "address",
name: "buyOrderSigner",
type: "address",
},
{
internalType: "address",
name: "sellOrderSigner",
type: "address",
},
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "filledAmount",
type: "uint256",
},
{
internalType: "uint256",
name: "filledPrice",
type: "uint256",
},
{
internalType: "uint256",
name: "currentTime",
type: "uint256",
},
{
internalType: "address",
name: "allowedMatcher",
type: "address",
},
{
internalType: "uint256",
name: "instrumentsLength",
type: "uint256",
},
],
name: "checkOrdersV2Info",
outputs: [
{
internalType: "bytes32",
name: "buyOrderDigest",
type: "bytes32",
},
{
internalType: "bytes32",
name: "sellOrderDigest",
type: "bytes32",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "collateral",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "customStopOutLevel",
outputs: [
{
internalType: "int112",
name: "",
type: "int112",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "trader",
type: "address",
},
],
name: "delegateFromTimeout",
outputs: [
{
internalType: "uint88",
name: "timeLeft",
type: "uint88",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "trader",
type: "address",
},
{
internalType: "bytes",
name: "call_data",
type: "bytes",
},
],
name: "delegatedAction",
outputs: [
{
internalType: "bytes",
name: "",
type: "bytes",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "trader",
type: "address",
},
],
name: "delegations",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "deleteInstrument",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
],
name: "depositAsset",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
{
internalType: "address",
name: "to",
type: "address",
},
],
name: "depositAssetTo",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "facetAddress",
type: "address",
},
{
internalType: "enum IDiamondCut.FacetCutAction",
name: "action",
type: "uint8",
},
{
internalType: "bytes4[]",
name: "functionSelectors",
type: "bytes4[]",
},
],
internalType: "struct IDiamondCut.FacetCut[]",
name: "diamondCut_",
type: "tuple[]",
},
{
internalType: "address",
name: "init_",
type: "address",
},
{
internalType: "bytes",
name: "calldata_",
type: "bytes",
},
],
name: "diamondCut",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes4",
name: "_functionSelector",
type: "bytes4",
},
],
name: "facetAddress",
outputs: [
{
internalType: "address",
name: "facetAddress_",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "facetAddresses",
outputs: [
{
internalType: "address[]",
name: "facetAddresses_",
type: "address[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "_facet",
type: "address",
},
],
name: "facetFunctionSelectors",
outputs: [
{
internalType: "bytes4[]",
name: "facetFunctionSelectors_",
type: "bytes4[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "facets",
outputs: [
{
components: [
{
internalType: "address",
name: "facetAddress",
type: "address",
},
{
internalType: "bytes4[]",
name: "functionSelectors",
type: "bytes4[]",
},
],
internalType: "struct IDiamondLoupe.Facet[]",
name: "facets_",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.Order",
name: "buyOrder",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.Order",
name: "sellOrder",
type: "tuple",
},
{
internalType: "uint80",
name: "filledPrice",
type: "uint80",
},
{
internalType: "uint96",
name: "filledAmount",
type: "uint96",
},
],
name: "fillOrders",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint80",
name: "price2",
type: "uint80",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "orderType",
type: "uint8",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.OrderV2",
name: "buyOrder",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint80",
name: "price2",
type: "uint80",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "orderType",
type: "uint8",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.OrderV2",
name: "sellOrder",
type: "tuple",
},
{
internalType: "uint80",
name: "filledPrice",
type: "uint80",
},
{
internalType: "uint96",
name: "filledAmount",
type: "uint96",
},
],
name: "fillOrdersV2",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "orderHash",
type: "bytes32",
},
],
name: "filledAmounts",
outputs: [
{
internalType: "uint96",
name: "",
type: "uint96",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "fundingRateAccount",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "getAccountFR",
outputs: [
{
internalType: "int112",
name: "fundingRate",
type: "int112",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "offset",
type: "uint256",
},
{
internalType: "uint256",
name: "limit",
type: "uint256",
},
],
name: "getAccountsWithOpenPositions",
outputs: [
{
internalType: "address[]",
name: "",
type: "address[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "getActiveInstrumentsIndexes",
outputs: [
{
internalType: "uint256[]",
name: "",
type: "uint256[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "getActiveInstrumentsPositions",
outputs: [
{
internalType: "uint256[]",
name: "indexes",
type: "uint256[]",
},
{
components: [
{
internalType: "int112",
name: "position",
type: "int112",
},
{
internalType: "int112",
name: "frAccumulated",
type: "int112",
},
{
internalType: "uint32",
name: "positionLastUpdate",
type: "uint32",
},
{
internalType: "uint80",
name: "positionAvgPrice",
type: "uint80",
},
{
internalType: "int72",
name: "positionLongFRStored",
type: "int72",
},
{
internalType: "int72",
name: "positionShortFRStored",
type: "int72",
},
],
internalType: "struct CFDStructs.PositionInfo[]",
name: "positions",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "getAssetPrice",
outputs: [
{
internalType: "int112",
name: "price",
type: "int112",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "trader",
type: "address",
},
{
internalType: "bool",
name: "isSetDelegate",
type: "bool",
},
{
internalType: "uint88",
name: "deadline",
type: "uint88",
},
{
internalType: "address",
name: "delegate",
type: "address",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.DelegationRequest",
name: "delegationRequest",
type: "tuple",
},
],
name: "getDelegationRequestTypeValueHash",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "derivedAccount",
type: "address",
},
],
name: "getDerivedAccountBinding",
outputs: [
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
{
internalType: "uint64",
name: "bindingTimestamp",
type: "uint64",
},
{
internalType: "uint64",
name: "derivedAccountSalt",
type: "uint64",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "chainId_",
type: "uint256",
},
],
name: "getDomainSeparatorForChainId",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getEIP712DomainData",
outputs: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "version",
type: "string",
},
{
internalType: "uint256",
name: "chainId",
type: "uint256",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
],
name: "getExternalAccountBinding",
outputs: [
{
internalType: "address",
name: "derivedAccount",
type: "address",
},
{
internalType: "uint64",
name: "bindingTimestamp",
type: "uint64",
},
{
internalType: "uint64",
name: "derivedAccountSalt",
type: "uint64",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "getInstrumentInfo",
outputs: [
{
components: [
{
internalType: "uint8",
name: "leverage",
type: "uint8",
},
{
internalType: "string[12]",
name: "ticker",
type: "string[12]",
},
{
components: [
{
internalType: "int40",
name: "frLong",
type: "int40",
},
{
internalType: "int40",
name: "frShort",
type: "int40",
},
{
internalType: "int72",
name: "longFRStored",
type: "int72",
},
{
internalType: "int72",
name: "shortFRStored",
type: "int72",
},
{
internalType: "uint32",
name: "lastFRUpdateTime",
type: "uint32",
},
],
internalType: "struct CFDStructs.FundingRateInfo",
name: "fundingRateInfo",
type: "tuple",
},
],
internalType: "struct CFDStructs.InstrumentInfo",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "offset",
type: "uint256",
},
{
internalType: "uint256",
name: "limit",
type: "uint256",
},
],
name: "getOpenPositions",
outputs: [
{
components: [
{
internalType: "address",
name: "account",
type: "address",
},
{
components: [
{
internalType: "int112",
name: "position",
type: "int112",
},
{
internalType: "int112",
name: "frAccumulated",
type: "int112",
},
{
internalType: "uint32",
name: "positionLastUpdate",
type: "uint32",
},
{
internalType: "uint80",
name: "positionAvgPrice",
type: "uint80",
},
{
internalType: "int72",
name: "positionLongFRStored",
type: "int72",
},
{
internalType: "int72",
name: "positionShortFRStored",
type: "int72",
},
],
internalType: "struct CFDStructs.PositionInfo[]",
name: "positions",
type: "tuple[]",
},
],
internalType: "struct CFDStructs.AccountPositions[]",
name: "",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "chainId_",
type: "uint256",
},
],
name: "getOrWriteDomainSeparator",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.Order",
name: "_order",
type: "tuple",
},
],
name: "getOrderTypeValueHash",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "index",
type: "uint256",
},
{
internalType: "int112",
name: "price",
type: "int112",
},
],
name: "getPNL",
outputs: [
{
internalType: "int112",
name: "pnl",
type: "int112",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo",
name: "priceInfo",
type: "tuple",
},
],
name: "getPriceInfoTypeValueHash",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "getTotalLongFR",
outputs: [
{
internalType: "int72",
name: "",
type: "int72",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "getTotalShortFR",
outputs: [
{
internalType: "int72",
name: "",
type: "int72",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "instrumentInfo",
outputs: [
{
components: [
{
internalType: "uint8",
name: "leverage",
type: "uint8",
},
{
internalType: "string[12]",
name: "ticker",
type: "string[12]",
},
{
components: [
{
internalType: "int40",
name: "frLong",
type: "int40",
},
{
internalType: "int40",
name: "frShort",
type: "int40",
},
{
internalType: "int72",
name: "longFRStored",
type: "int72",
},
{
internalType: "int72",
name: "shortFRStored",
type: "int72",
},
{
internalType: "uint32",
name: "lastFRUpdateTime",
type: "uint32",
},
],
internalType: "struct CFDStructs.FundingRateInfo",
name: "fundingRateInfo",
type: "tuple",
},
],
internalType: "struct CFDStructs.InstrumentInfo",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "instrumentsLength",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint192",
name: "reserved",
type: "uint192",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.InternalTransfer",
name: "transfer",
type: "tuple",
},
],
name: "internalTransfer",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint64",
name: "nonce",
type: "uint64",
},
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
{
internalType: "uint64",
name: "signerChainId",
type: "uint64",
},
{
internalType: "bytes32",
name: "uniqueHash",
type: "bytes32",
},
{
internalType: "bytes",
name: "externalAddress",
type: "bytes",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.InternalTransferV2",
name: "transfer",
type: "tuple",
},
],
name: "internalTransferV2",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
],
name: "isCustomNetworkApproved",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "accountToLiquidate",
type: "address",
},
{
internalType: "address",
name: "liquidator",
type: "address",
},
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo[]",
name: "prices",
type: "tuple[]",
},
{
internalType: "uint64",
name: "liquidationTimestamp",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.LiquidationOrder",
name: "liquidationOrder",
type: "tuple",
},
],
name: "liquidatePosition",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "accountToLiquidate",
type: "address",
},
{
internalType: "address",
name: "liquidator",
type: "address",
},
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo[]",
name: "liquidationPrices",
type: "tuple[]",
},
{
components: [
{
internalType: "uint16",
name: "index",
type: "uint16",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
],
internalType: "struct CFDStructs.PriceInfo[]",
name: "prices",
type: "tuple[]",
},
{
internalType: "uint64",
name: "liquidationTimestamp",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.MultiLiquidationOrder",
name: "liquidationOrder",
type: "tuple",
},
],
name: "liquidatePositions",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "liquidationFeePercent",
outputs: [
{
internalType: "uint112",
name: "",
type: "uint112",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "maxOpenPositions",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "oracle",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "positionInfo",
outputs: [
{
components: [
{
internalType: "int112",
name: "position",
type: "int112",
},
{
internalType: "int112",
name: "frAccumulated",
type: "int112",
},
{
internalType: "uint32",
name: "positionLastUpdate",
type: "uint32",
},
{
internalType: "uint80",
name: "positionAvgPrice",
type: "uint80",
},
{
internalType: "int72",
name: "positionLongFRStored",
type: "int72",
},
{
internalType: "int72",
name: "positionShortFRStored",
type: "int72",
},
],
internalType: "struct CFDStructs.PositionInfo",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "senderAddress",
type: "address",
},
{
internalType: "address",
name: "matcherAddress",
type: "address",
},
{
internalType: "uint16",
name: "instrumentIndex",
type: "uint16",
},
{
internalType: "uint96",
name: "amount",
type: "uint96",
},
{
internalType: "uint80",
name: "price",
type: "uint80",
},
{
internalType: "uint64",
name: "matcherFee",
type: "uint64",
},
{
internalType: "uint64",
name: "expiration",
type: "uint64",
},
{
internalType: "uint8",
name: "buySide",
type: "uint8",
},
{
internalType: "bool",
name: "isFromDelegate",
type: "bool",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct CFDStructs.Order",
name: "order",
type: "tuple",
},
],
name: "recover",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "chainId",
type: "uint64",
},
],
name: "rejectCustomNetwork",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "removeDelegate",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "oracle_",
type: "address",
},
{
internalType: "address",
name: "fundingRateAccount_",
type: "address",
},
{
internalType: "uint8",
name: "soLevel_",
type: "uint8",
},
{
internalType: "uint16",
name: "withdrawMarginLevel_",
type: "uint16",
},
{
internalType: "uint256",
name: "maxOpenPositions_",
type: "uint256",
},
{
internalType: "uint112",
name: "liquidationFeePercent_",
type: "uint112",
},
],
name: "setBasicParams",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "int112",
name: "soLevel_",
type: "int112",
},
],
name: "setCustomStopOutLevel",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "delegate",
type: "address",
},
],
name: "setDelegate",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
{
internalType: "int256",
name: "dailyFRLong",
type: "int256",
},
{
internalType: "int256",
name: "dailyFRShort",
type: "int256",
},
],
name: "setFR",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "soLevel",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner_",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "matchers",
type: "address[]",
},
],
name: "updateMatchers",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "hash",
type: "bytes32",
},
],
name: "usedDelegationRequests",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
],
name: "withdrawAsset",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint112",
name: "amount",
type: "uint112",
},
{
internalType: "address",
name: "to",
type: "address",
},
],
name: "withdrawAssetTo",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "withdrawMarginLevel",
outputs: [
{
internalType: "uint16",
name: "",
type: "uint16",
},
],
stateMutability: "view",
type: "function",
},
];
export class CrossMarginCFD__factory {
static createInterface() {
return new Interface(_abi);
}
static connect(address, runner) {
return new Contract(address, _abi, runner);
}
}
CrossMarginCFD__factory.abi = _abi;