UNPKG

@electra.finance/contracts

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