declare const contract: {
    readonly id: 6327;
    readonly address: "0x29272a72c79243a7cd93cea1c2d75ab3f80d5655";
    readonly contract_name: "CTFExchange";
    readonly display_name: "CTF Exchange";
    readonly is_deprecated: false;
    readonly is_proxy: false;
    readonly proxy_to: false;
    readonly created_at: 1736440947;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_collateral";
        }, {
            readonly type: "address";
            readonly name: "_ctf";
        }, {
            readonly type: "address";
            readonly name: "_proxyFactory";
        }, {
            readonly type: "address";
            readonly name: "_safeFactory";
        }, {
            readonly type: "address";
            readonly name: "_proxyWalletFactory";
        }];
    }, {
        readonly name: "AlreadyRegistered";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "FeeTooHigh";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidComplement";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidNonce";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidSignature";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidTokenId";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "MakingGtRemaining";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "MismatchedTokenIds";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotAdmin";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotCrossing";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotOperator";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotOwner";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotTaker";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "OrderExpired";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "OrderFilledOrCancelled";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "Paused";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "TooLittleTokensReceived";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "FeeCharged";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "receiver";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "tokenId";
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "NewAdmin";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newAdminAddress";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "admin";
            readonly indexed: true;
        }];
    }, {
        readonly name: "NewOperator";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newOperatorAddress";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "admin";
            readonly indexed: true;
        }];
    }, {
        readonly name: "OrderCancelled";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "orderHash";
            readonly indexed: true;
        }];
    }, {
        readonly name: "OrderFilled";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "orderHash";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "maker";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "taker";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "makerAssetId";
        }, {
            readonly type: "uint256";
            readonly name: "takerAssetId";
        }, {
            readonly type: "uint256";
            readonly name: "makerAmountFilled";
        }, {
            readonly type: "uint256";
            readonly name: "takerAmountFilled";
        }, {
            readonly type: "uint256";
            readonly name: "fee";
        }];
    }, {
        readonly name: "OrdersMatched";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "takerOrderHash";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "takerOrderMaker";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "makerAssetId";
        }, {
            readonly type: "uint256";
            readonly name: "takerAssetId";
        }, {
            readonly type: "uint256";
            readonly name: "makerAmountFilled";
        }, {
            readonly type: "uint256";
            readonly name: "takerAmountFilled";
        }];
    }, {
        readonly name: "ProxyFactoryUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "oldProxyFactory";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newProxyFactory";
            readonly indexed: true;
        }];
    }, {
        readonly name: "ProxyWalletFactoryUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "oldProxyFactory";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newProxyFactory";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RemovedAdmin";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "removedAdmin";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "admin";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RemovedOperator";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "removedOperator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "admin";
            readonly indexed: true;
        }];
    }, {
        readonly name: "SafeFactoryUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "oldSafeFactory";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newSafeFactory";
            readonly indexed: true;
        }];
    }, {
        readonly name: "TokenRegistered";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "token0";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "token1";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "conditionId";
            readonly indexed: true;
        }];
    }, {
        readonly name: "TradingPaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "pauser";
            readonly indexed: true;
        }];
    }, {
        readonly name: "TradingUnpaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "pauser";
            readonly indexed: true;
        }];
    }, {
        readonly name: "addAdmin";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "admin_";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "addOperator";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "operator_";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "admins";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "cancelOrder";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "order";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "cancelOrders";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "orders";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "domainSeparator";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "fillOrder";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "order";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }, {
            readonly type: "uint256";
            readonly name: "fillAmount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "fillOrders";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "orders";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }, {
            readonly type: "uint256[]";
            readonly name: "fillAmounts";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "getCollateral";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getComplement";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "token";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getConditionId";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "token";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "getCtf";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getMaxFeeRate";
        readonly type: "function";
        readonly stateMutability: "pure";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getOrderStatus";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "orderHash";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "bool";
                readonly name: "isFilledOrCancelled";
            }, {
                readonly type: "uint256";
                readonly name: "remaining";
            }];
        }];
    }, {
        readonly name: "getPolyProxyFactoryImplementation";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getPolyProxyWalletAddress";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_addr";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getProxyFactory";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getProxyWalletAddress";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_addr";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getSafeAddress";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_addr";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getSafeFactory";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getSafeFactoryImplementation";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "hashOrder";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "order";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "incrementNonce";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "isAdmin";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "usr";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "isOperator";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "usr";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "isValidNonce";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "usr";
        }, {
            readonly type: "uint256";
            readonly name: "nonce";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "matchOrders";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "takerOrder";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }, {
            readonly type: "tuple[]";
            readonly name: "makerOrders";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }, {
            readonly type: "uint256";
            readonly name: "takerFillAmount";
        }, {
            readonly type: "uint256[]";
            readonly name: "makerFillAmounts";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "nonces";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "onERC1155BatchReceived";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
        }, {
            readonly type: "address";
        }, {
            readonly type: "uint256[]";
        }, {
            readonly type: "uint256[]";
        }, {
            readonly type: "bytes";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes4";
        }];
    }, {
        readonly name: "onERC1155Received";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
        }, {
            readonly type: "address";
        }, {
            readonly type: "uint256";
        }, {
            readonly type: "uint256";
        }, {
            readonly type: "bytes";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes4";
        }];
    }, {
        readonly name: "operators";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "orderStatus";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
            readonly name: "isFilledOrCancelled";
        }, {
            readonly type: "uint256";
            readonly name: "remaining";
        }];
    }, {
        readonly name: "parentCollectionId";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "pauseTrading";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "paused";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "proxyFactory";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "proxyWalletFactory";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "registerToken";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "token";
        }, {
            readonly type: "uint256";
            readonly name: "complement";
        }, {
            readonly type: "bytes32";
            readonly name: "conditionId";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "registry";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "complement";
        }, {
            readonly type: "bytes32";
            readonly name: "conditionId";
        }];
    }, {
        readonly name: "removeAdmin";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "admin";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "removeOperator";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "operator";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "renounceAdminRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "renounceOperatorRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "safeFactory";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "setProxyFactory";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_newProxyFactory";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setProxyWalletFactory";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_newProxyFactory";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setSafeFactory";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_newSafeFactory";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "supportsInterface";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "interfaceId";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "unpauseTrading";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "validateComplement";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "token";
        }, {
            readonly type: "uint256";
            readonly name: "complement";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "validateOrder";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "order";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "validateOrderSignature";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "orderHash";
        }, {
            readonly type: "tuple";
            readonly name: "order";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "salt";
            }, {
                readonly type: "address";
                readonly name: "maker";
            }, {
                readonly type: "address";
                readonly name: "signer";
            }, {
                readonly type: "address";
                readonly name: "taker";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "makerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "takerAmount";
            }, {
                readonly type: "uint256";
                readonly name: "expiration";
            }, {
                readonly type: "uint256";
                readonly name: "nonce";
            }, {
                readonly type: "uint256";
                readonly name: "feeRateBps";
            }, {
                readonly type: "uint8";
                readonly name: "side";
            }, {
                readonly type: "uint8";
                readonly name: "signatureType";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "validateTokenId";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tokenId";
        }];
        readonly outputs: readonly [];
    }];
};

export { contract as default };
