Class SeaportContract

Extends the generic Contract class to interact with the Seaport protocol, enabling trading functionalities for ERC20, ERC721, ERC1155 and native gas tokens. This class provides a structured interface to the Seaport smart contract and its operations.

Hierarchy (view full)

Constructors

Properties

address: `0x${string}`

Address of the smart contract.

read: {
    getContractOffererNonce: ((...parameters) => Promise<bigint>);
    getCounter: ((...parameters) => Promise<bigint>);
    getOrderHash: ((...parameters) => Promise<`0x${string}`>);
    getOrderStatus: ((...parameters) => Promise<readonly [boolean, boolean, bigint, bigint]>);
    information: ((...parameters) => Promise<readonly [string, `0x${string}`, `0x${string}`]>);
    name: ((...parameters) => Promise<string>);
}

Read-only methods of the smart contract.

Type declaration

  • getContractOffererNonce: ((...parameters) => Promise<bigint>)
      • (...parameters): Promise<bigint>
      • Parameters

        • Rest ...parameters: [args: readonly [`0x${string}`], options?: {
              account?: `0x${string}` | Account;
              blockNumber?: bigint;
              blockTag?: BlockTag;
          }]

        Returns Promise<bigint>

  • getCounter: ((...parameters) => Promise<bigint>)
      • (...parameters): Promise<bigint>
      • Parameters

        • Rest ...parameters: [args: readonly [`0x${string}`], options?: {
              account?: `0x${string}` | Account;
              blockNumber?: bigint;
              blockTag?: BlockTag;
          }]

        Returns Promise<bigint>

  • getOrderHash: ((...parameters) => Promise<`0x${string}`>)
      • (...parameters): Promise<`0x${string}`>
      • Parameters

        • Rest ...parameters: [args: readonly [{
              conduitKey: `0x${string}`;
              consideration: readonly {
                  endAmount: bigint;
                  identifierOrCriteria: bigint;
                  itemType: number;
                  recipient: `0x${string}`;
                  startAmount: bigint;
                  token: `0x${string}`;
              }[];
              counter: bigint;
              endTime: bigint;
              offer: readonly {
                  endAmount: bigint;
                  identifierOrCriteria: bigint;
                  itemType: number;
                  startAmount: bigint;
                  token: `0x${string}`;
              }[];
              offerer: `0x${string}`;
              orderType: number;
              salt: bigint;
              startTime: bigint;
              zone: `0x${string}`;
              zoneHash: `0x${string}`;
          }], options?: {
              account?: `0x${string}` | Account;
              blockNumber?: bigint;
              blockTag?: BlockTag;
          }]

        Returns Promise<`0x${string}`>

  • getOrderStatus: ((...parameters) => Promise<readonly [boolean, boolean, bigint, bigint]>)
      • (...parameters): Promise<readonly [boolean, boolean, bigint, bigint]>
      • Parameters

        • Rest ...parameters: [args: readonly [`0x${string}`], options?: {
              account?: `0x${string}` | Account;
              blockNumber?: bigint;
              blockTag?: BlockTag;
          }]

        Returns Promise<readonly [boolean, boolean, bigint, bigint]>

  • information: ((...parameters) => Promise<readonly [string, `0x${string}`, `0x${string}`]>)
      • (...parameters): Promise<readonly [string, `0x${string}`, `0x${string}`]>
      • Parameters

        • Rest ...parameters: [options?: {
              account?: `0x${string}` | Account;
              blockNumber?: bigint;
              blockTag?: BlockTag;
          }]

        Returns Promise<readonly [string, `0x${string}`, `0x${string}`]>

  • name: ((...parameters) => Promise<string>)
      • (...parameters): Promise<string>
      • Parameters

        • Rest ...parameters: [options?: {
              account?: `0x${string}` | Account;
              blockNumber?: bigint;
              blockTag?: BlockTag;
          }]

        Returns Promise<string>

simulate: {
    cancel: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "cancel", Chain, TChainOverride>>);
    fulfillAdvancedOrder: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillAdvancedOrder", Chain, TChainOverride>>);
    fulfillAvailableAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillAvailableAdvancedOrders", Chain, TChainOverride>>);
    fulfillAvailableOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillAvailableOrders", Chain, TChainOverride>>);
    fulfillBasicOrder: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillBasicOrder", Chain, TChainOverride>>);
    fulfillBasicOrder_efficient_6GL6yc: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillBasicOrder_efficient_6GL6yc", Chain, TChainOverride>>);
    fulfillOrder: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillOrder", Chain, TChainOverride>>);
    incrementCounter: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "incrementCounter", Chain, TChainOverride>>);
    matchAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "matchAdvancedOrders", Chain, TChainOverride>>);
    matchOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "matchOrders", Chain, TChainOverride>>);
    validate: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "validate", Chain, TChainOverride>>);
}

Simulated methods of the smart contract.

Type declaration

  • cancel: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "cancel", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "cancel", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "cancel", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              conduitKey: `0x${string}`;
              consideration: readonly {
                  endAmount: bigint;
                  identifierOrCriteria: bigint;
                  itemType: number;
                  recipient: `0x${string}`;
                  startAmount: bigint;
                  token: `0x${string}`;
              }[];
              counter: bigint;
              endTime: bigint;
              offer: readonly {
                  endAmount: bigint;
                  identifierOrCriteria: bigint;
                  itemType: number;
                  startAmount: bigint;
                  token: `0x${string}`;
              }[];
              offerer: `0x${string}`;
              orderType: number;
              salt: bigint;
              startTime: bigint;
              zone: `0x${string}`;
              zoneHash: `0x${string}`;
          }[]], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "cancel", Chain, TChainOverride>>

  • fulfillAdvancedOrder: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillAdvancedOrder", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillAdvancedOrder", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "fulfillAdvancedOrder", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [{
              denominator: bigint;
              extraData: `0x${string}`;
              numerator: bigint;
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }, readonly {
              criteriaProof: readonly `0x${string}`[];
              identifier: bigint;
              index: bigint;
              orderIndex: bigint;
              side: number;
          }[], `0x${string}`, `0x${string}`], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillAdvancedOrder", Chain, TChainOverride>>

  • fulfillAvailableAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillAvailableAdvancedOrders", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillAvailableAdvancedOrders", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "fulfillAvailableAdvancedOrders", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              denominator: bigint;
              extraData: `0x${string}`;
              numerator: bigint;
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly {
              criteriaProof: readonly `0x${string}`[];
              identifier: bigint;
              index: bigint;
              orderIndex: bigint;
              side: number;
          }[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], `0x${string}`, `0x${string}`, bigint], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillAvailableAdvancedOrders", Chain, TChainOverride>>

  • fulfillAvailableOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillAvailableOrders", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillAvailableOrders", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "fulfillAvailableOrders", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], `0x${string}`, bigint], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillAvailableOrders", Chain, TChainOverride>>

  • fulfillBasicOrder: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillBasicOrder", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillBasicOrder", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "fulfillBasicOrder", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [{
              additionalRecipients: readonly {
                  amount: bigint;
                  recipient: `0x${string}`;
              }[];
              basicOrderType: number;
              considerationAmount: bigint;
              considerationIdentifier: bigint;
              considerationToken: `0x${string}`;
              endTime: bigint;
              fulfillerConduitKey: `0x${string}`;
              offerAmount: bigint;
              offerIdentifier: bigint;
              offerToken: `0x${string}`;
              offerer: `0x${string}`;
              offererConduitKey: `0x${string}`;
              salt: bigint;
              signature: `0x${string}`;
              startTime: bigint;
              totalOriginalAdditionalRecipients: bigint;
              zone: `0x${string}`;
              zoneHash: `0x${string}`;
          }], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillBasicOrder", Chain, TChainOverride>>

  • fulfillBasicOrder_efficient_6GL6yc: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillBasicOrder_efficient_6GL6yc", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillBasicOrder_efficient_6GL6yc", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "fulfillBasicOrder_efficient_6GL6yc", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [{
              additionalRecipients: readonly {
                  amount: bigint;
                  recipient: `0x${string}`;
              }[];
              basicOrderType: number;
              considerationAmount: bigint;
              considerationIdentifier: bigint;
              considerationToken: `0x${string}`;
              endTime: bigint;
              fulfillerConduitKey: `0x${string}`;
              offerAmount: bigint;
              offerIdentifier: bigint;
              offerToken: `0x${string}`;
              offerer: `0x${string}`;
              offererConduitKey: `0x${string}`;
              salt: bigint;
              signature: `0x${string}`;
              startTime: bigint;
              totalOriginalAdditionalRecipients: bigint;
              zone: `0x${string}`;
              zoneHash: `0x${string}`;
          }], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillBasicOrder_efficient_6GL6yc", Chain, TChainOverride>>

  • fulfillOrder: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "fulfillOrder", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillOrder", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "fulfillOrder", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [{
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }, `0x${string}`], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "fulfillOrder", Chain, TChainOverride>>

  • incrementCounter: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "incrementCounter", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "incrementCounter", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "incrementCounter", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "incrementCounter", Chain, TChainOverride>>

  • matchAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "matchAdvancedOrders", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "matchAdvancedOrders", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "matchAdvancedOrders", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              denominator: bigint;
              extraData: `0x${string}`;
              numerator: bigint;
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly {
              criteriaProof: readonly `0x${string}`[];
              identifier: bigint;
              index: bigint;
              orderIndex: bigint;
              side: number;
          }[], readonly {
              considerationComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
              offerComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
          }[], `0x${string}`], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "matchAdvancedOrders", Chain, TChainOverride>>

  • matchOrders: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "matchOrders", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "matchOrders", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "matchOrders", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly {
              considerationComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
              offerComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
          }[]], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "matchOrders", Chain, TChainOverride>>

  • validate: (<TChainOverride, Options>(...parameters) => Promise<SimulateContractReturnType<readonly [{
        inputs: readonly [{
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "BadContractSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BadFraction";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "BadReturnValueFromERC20OnTransfer";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint8";
            name: "v";
            type: "uint8";
        }];
        name: "BadSignatureV";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CannotCancelOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ConsiderationLengthNotEqualToTotalOriginal";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "shortfallAmount";
            type: "uint256";
        }];
        name: "ConsiderationNotMet";
        type: "error";
    }, {
        inputs: readonly [];
        name: "CriteriaNotEnabledForItem";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256[]";
            name: "identifiers";
            type: "uint256[]";
        }, {
            internalType: "uint256[]";
            name: "amounts";
            type: "uint256[]";
        }];
        name: "ERC1155BatchTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InexactFraction";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InsufficientNativeTokensSupplied";
        type: "error";
    }, {
        inputs: readonly [];
        name: "Invalid1155BatchTransferEncoding";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidBasicOrderParameterEncoding";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidCallToConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "conduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduit";
            type: "address";
        }];
        name: "InvalidConduit";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidContractOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "InvalidERC721TransferAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidFulfillmentComponentData";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "InvalidMsgValue";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidNativeOfferItem";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidProof";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "InvalidRestrictedOrder";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSignature";
        type: "error";
    }, {
        inputs: readonly [];
        name: "InvalidSigner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "startTime";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "endTime";
            type: "uint256";
        }];
        name: "InvalidTime";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "fulfillmentIndex";
            type: "uint256";
        }];
        name: "MismatchedFulfillmentOfferAndConsiderationComponents";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "MissingFulfillmentComponentOnAggregation";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingItemAmount";
        type: "error";
    }, {
        inputs: readonly [];
        name: "MissingOriginalConsiderationItems";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "NativeTokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "account";
            type: "address";
        }];
        name: "NoContract";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoReentrantCalls";
        type: "error";
    }, {
        inputs: readonly [];
        name: "NoSpecifiedOrdersAvailable";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferAndConsiderationRequiredOnFulfillment";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OfferCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderAlreadyFilled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "enum Side";
            name: "side";
            type: "uint8";
        }];
        name: "OrderCriteriaResolverOutOfRange";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderIsCancelled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "OrderPartiallyFilled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "PartialFillsNotEnabledForOrder";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "token";
            type: "address";
        }, {
            internalType: "address";
            name: "from";
            type: "address";
        }, {
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "identifier";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "TokenTransferGenericFailure";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "considerationIndex";
            type: "uint256";
        }];
        name: "UnresolvedConsiderationCriteria";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "orderIndex";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "offerIndex";
            type: "uint256";
        }];
        name: "UnresolvedOfferCriteria";
        type: "error";
    }, {
        inputs: readonly [];
        name: "UnusedItemParameters";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "CounterIncremented";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }];
        name: "OrderCancelled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            indexed: true;
            internalType: "address";
            name: "offerer";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "zone";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct SpentItem[]";
            name: "offer";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "enum ItemType";
                name: "itemType";
                type: "uint8";
            }, {
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "recipient";
                type: "address";
            }];
            indexed: false;
            internalType: "struct ReceivedItem[]";
            name: "consideration";
            type: "tuple[]";
        }];
        name: "OrderFulfilled";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }, {
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalConsiderationItems";
                type: "uint256";
            }];
            indexed: false;
            internalType: "struct OrderParameters";
            name: "orderParameters";
            type: "tuple";
        }];
        name: "OrderValidated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "bytes32[]";
            name: "orderHashes";
            type: "bytes32[]";
        }];
        name: "OrdersMatched";
        type: "event";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents[]";
            name: "orders";
            type: "tuple[]";
        }];
        name: "cancel";
        outputs: readonly [{
            internalType: "bool";
            name: "cancelled";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder";
            name: "";
            type: "tuple";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "fulfillAdvancedOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableAdvancedOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "itemIndex";
                type: "uint256";
            }];
            internalType: "struct FulfillmentComponent[][]";
            name: "";
            type: "tuple[][]";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "maximumFulfilled";
            type: "uint256";
        }];
        name: "fulfillAvailableOrders";
        outputs: readonly [{
            internalType: "bool[]";
            name: "";
            type: "bool[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "considerationToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "considerationIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationAmount";
                type: "uint256";
            }, {
                internalType: "address payable";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                internalType: "address";
                name: "offerToken";
                type: "address";
            }, {
                internalType: "uint256";
                name: "offerIdentifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerAmount";
                type: "uint256";
            }, {
                internalType: "enum BasicOrderType";
                name: "basicOrderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "offererConduitKey";
                type: "bytes32";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "totalOriginalAdditionalRecipients";
                type: "uint256";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct AdditionalRecipient[]";
                name: "additionalRecipients";
                type: "tuple[]";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct BasicOrderParameters";
            name: "parameters";
            type: "tuple";
        }];
        name: "fulfillBasicOrder_efficient_6GL6yc";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order";
            name: "";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "fulfillerConduitKey";
            type: "bytes32";
        }];
        name: "fulfillOrder";
        outputs: readonly [{
            internalType: "bool";
            name: "fulfilled";
            type: "bool";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "contractOfferer";
            type: "address";
        }];
        name: "getContractOffererNonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "nonce";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "offerer";
            type: "address";
        }];
        name: "getCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "counter";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }];
                internalType: "struct OfferItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifierOrCriteria";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "startAmount";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ConsiderationItem[]";
                name: "consideration";
                type: "tuple[]";
            }, {
                internalType: "enum OrderType";
                name: "orderType";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "zoneHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "salt";
                type: "uint256";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            internalType: "struct OrderComponents";
            name: "";
            type: "tuple";
        }];
        name: "getOrderHash";
        outputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "orderHash";
            type: "bytes32";
        }];
        name: "getOrderStatus";
        outputs: readonly [{
            internalType: "bool";
            name: "isValidated";
            type: "bool";
        }, {
            internalType: "bool";
            name: "isCancelled";
            type: "bool";
        }, {
            internalType: "uint256";
            name: "totalFilled";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "totalSize";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "incrementCounter";
        outputs: readonly [{
            internalType: "uint256";
            name: "newCounter";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "information";
        outputs: readonly [{
            internalType: "string";
            name: "version";
            type: "string";
        }, {
            internalType: "bytes32";
            name: "domainSeparator";
            type: "bytes32";
        }, {
            internalType: "address";
            name: "conduitController";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "uint120";
                name: "numerator";
                type: "uint120";
            }, {
                internalType: "uint120";
                name: "denominator";
                type: "uint120";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "extraData";
                type: "bytes";
            }];
            internalType: "struct AdvancedOrder[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "index";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "bytes32[]";
                name: "criteriaProof";
                type: "bytes32[]";
            }];
            internalType: "struct CriteriaResolver[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }, {
            internalType: "address";
            name: "recipient";
            type: "address";
        }];
        name: "matchAdvancedOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }, {
            components: readonly [{
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "offerComponents";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[]";
                name: "considerationComponents";
                type: "tuple[]";
            }];
            internalType: "struct Fulfillment[]";
            name: "";
            type: "tuple[]";
        }];
        name: "matchOrders";
        outputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                internalType: "struct ReceivedItem";
                name: "item";
                type: "tuple";
            }, {
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }];
            internalType: "struct Execution[]";
            name: "";
            type: "tuple[]";
        }];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "name";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "pure";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                internalType: "struct OrderParameters";
                name: "parameters";
                type: "tuple";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct Order[]";
            name: "";
            type: "tuple[]";
        }];
        name: "validate";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }], "validate", Chain, TChainOverride>>)
      • <TChainOverride, Options>(...parameters): Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "validate", Chain, TChainOverride>>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends Prettify<UnionOmit<SimulateContractParameters<readonly [{
              inputs: readonly [{
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              inputs: readonly [];
              name: "BadContractSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "BadFraction";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "BadReturnValueFromERC20OnTransfer";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint8";
                  name: "v";
                  type: "uint8";
              }];
              name: "BadSignatureV";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CannotCancelOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [];
              name: "ConsiderationLengthNotEqualToTotalOriginal";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "shortfallAmount";
                  type: "uint256";
              }];
              name: "ConsiderationNotMet";
              type: "error";
          }, {
              inputs: readonly [];
              name: "CriteriaNotEnabledForItem";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256[]";
                  name: "identifiers";
                  type: "uint256[]";
              }, {
                  internalType: "uint256[]";
                  name: "amounts";
                  type: "uint256[]";
              }];
              name: "ERC1155BatchTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InexactFraction";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InsufficientNativeTokensSupplied";
              type: "error";
          }, {
              inputs: readonly [];
              name: "Invalid1155BatchTransferEncoding";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidBasicOrderParameterEncoding";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidCallToConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "conduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduit";
                  type: "address";
              }];
              name: "InvalidConduit";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidContractOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "InvalidERC721TransferAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidFulfillmentComponentData";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "value";
                  type: "uint256";
              }];
              name: "InvalidMsgValue";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidNativeOfferItem";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidProof";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "InvalidRestrictedOrder";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSignature";
              type: "error";
          }, {
              inputs: readonly [];
              name: "InvalidSigner";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "startTime";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "endTime";
                  type: "uint256";
              }];
              name: "InvalidTime";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "fulfillmentIndex";
                  type: "uint256";
              }];
              name: "MismatchedFulfillmentOfferAndConsiderationComponents";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "MissingFulfillmentComponentOnAggregation";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingItemAmount";
              type: "error";
          }, {
              inputs: readonly [];
              name: "MissingOriginalConsiderationItems";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "NativeTokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "account";
                  type: "address";
              }];
              name: "NoContract";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoReentrantCalls";
              type: "error";
          }, {
              inputs: readonly [];
              name: "NoSpecifiedOrdersAvailable";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferAndConsiderationRequiredOnFulfillment";
              type: "error";
          }, {
              inputs: readonly [];
              name: "OfferCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderAlreadyFilled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "enum Side";
                  name: "side";
                  type: "uint8";
              }];
              name: "OrderCriteriaResolverOutOfRange";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderIsCancelled";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "OrderPartiallyFilled";
              type: "error";
          }, {
              inputs: readonly [];
              name: "PartialFillsNotEnabledForOrder";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "token";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "from";
                  type: "address";
              }, {
                  internalType: "address";
                  name: "to";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "identifier";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amount";
                  type: "uint256";
              }];
              name: "TokenTransferGenericFailure";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "considerationIndex";
                  type: "uint256";
              }];
              name: "UnresolvedConsiderationCriteria";
              type: "error";
          }, {
              inputs: readonly [{
                  internalType: "uint256";
                  name: "orderIndex";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "offerIndex";
                  type: "uint256";
              }];
              name: "UnresolvedOfferCriteria";
              type: "error";
          }, {
              inputs: readonly [];
              name: "UnusedItemParameters";
              type: "error";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "CounterIncremented";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }];
              name: "OrderCancelled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }, {
                  indexed: true;
                  internalType: "address";
                  name: "zone";
                  type: "address";
              }, {
                  indexed: false;
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct SpentItem[]";
                  name: "offer";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "enum ItemType";
                      name: "itemType";
                      type: "uint8";
                  }, {
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "recipient";
                      type: "address";
                  }];
                  indexed: false;
                  internalType: "struct ReceivedItem[]";
                  name: "consideration";
                  type: "tuple[]";
              }];
              name: "OrderFulfilled";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }, {
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalConsiderationItems";
                      type: "uint256";
                  }];
                  indexed: false;
                  internalType: "struct OrderParameters";
                  name: "orderParameters";
                  type: "tuple";
              }];
              name: "OrderValidated";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  internalType: "bytes32[]";
                  name: "orderHashes";
                  type: "bytes32[]";
              }];
              name: "OrdersMatched";
              type: "event";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents[]";
                  name: "orders";
                  type: "tuple[]";
              }];
              name: "cancel";
              outputs: readonly [{
                  internalType: "bool";
                  name: "cancelled";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder";
                  name: "";
                  type: "tuple";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "fulfillAdvancedOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableAdvancedOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "itemIndex";
                      type: "uint256";
                  }];
                  internalType: "struct FulfillmentComponent[][]";
                  name: "";
                  type: "tuple[][]";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }, {
                  internalType: "uint256";
                  name: "maximumFulfilled";
                  type: "uint256";
              }];
              name: "fulfillAvailableOrders";
              outputs: readonly [{
                  internalType: "bool[]";
                  name: "";
                  type: "bool[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "considerationToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "considerationIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationAmount";
                      type: "uint256";
                  }, {
                      internalType: "address payable";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "offerToken";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "offerIdentifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerAmount";
                      type: "uint256";
                  }, {
                      internalType: "enum BasicOrderType";
                      name: "basicOrderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "offererConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "totalOriginalAdditionalRecipients";
                      type: "uint256";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct AdditionalRecipient[]";
                      name: "additionalRecipients";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct BasicOrderParameters";
                  name: "parameters";
                  type: "tuple";
              }];
              name: "fulfillBasicOrder_efficient_6GL6yc";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order";
                  name: "";
                  type: "tuple";
              }, {
                  internalType: "bytes32";
                  name: "fulfillerConduitKey";
                  type: "bytes32";
              }];
              name: "fulfillOrder";
              outputs: readonly [{
                  internalType: "bool";
                  name: "fulfilled";
                  type: "bool";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "contractOfferer";
                  type: "address";
              }];
              name: "getContractOffererNonce";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "nonce";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "address";
                  name: "offerer";
                  type: "address";
              }];
              name: "getCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "counter";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }];
                      internalType: "struct OfferItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifierOrCriteria";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "startAmount";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ConsiderationItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }, {
                      internalType: "enum OrderType";
                      name: "orderType";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "zoneHash";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "salt";
                      type: "uint256";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  internalType: "struct OrderComponents";
                  name: "";
                  type: "tuple";
              }];
              name: "getOrderHash";
              outputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  internalType: "bytes32";
                  name: "orderHash";
                  type: "bytes32";
              }];
              name: "getOrderStatus";
              outputs: readonly [{
                  internalType: "bool";
                  name: "isValidated";
                  type: "bool";
              }, {
                  internalType: "bool";
                  name: "isCancelled";
                  type: "bool";
              }, {
                  internalType: "uint256";
                  name: "totalFilled";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "totalSize";
                  type: "uint256";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [];
              name: "incrementCounter";
              outputs: readonly [{
                  internalType: "uint256";
                  name: "newCounter";
                  type: "uint256";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "information";
              outputs: readonly [{
                  internalType: "string";
                  name: "version";
                  type: "string";
              }, {
                  internalType: "bytes32";
                  name: "domainSeparator";
                  type: "bytes32";
              }, {
                  internalType: "address";
                  name: "conduitController";
                  type: "address";
              }];
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "uint120";
                      name: "numerator";
                      type: "uint120";
                  }, {
                      internalType: "uint120";
                      name: "denominator";
                      type: "uint120";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }, {
                      internalType: "bytes";
                      name: "extraData";
                      type: "bytes";
                  }];
                  internalType: "struct AdvancedOrder[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }, {
                      internalType: "uint256";
                      name: "index";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "bytes32[]";
                      name: "criteriaProof";
                      type: "bytes32[]";
                  }];
                  internalType: "struct CriteriaResolver[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  internalType: "address";
                  name: "recipient";
                  type: "address";
              }];
              name: "matchAdvancedOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }, {
                  components: readonly [{
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "offerComponents";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[]";
                      name: "considerationComponents";
                      type: "tuple[]";
                  }];
                  internalType: "struct Fulfillment[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "matchOrders";
              outputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      internalType: "struct ReceivedItem";
                      name: "item";
                      type: "tuple";
                  }, {
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }];
                  internalType: "struct Execution[]";
                  name: "";
                  type: "tuple[]";
              }];
              stateMutability: "payable";
              type: "function";
          }, {
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  internalType: "string";
                  name: "";
                  type: "string";
              }];
              stateMutability: "pure";
              type: "function";
          }, {
              inputs: readonly [{
                  components: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      internalType: "struct OrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }, {
                      internalType: "bytes";
                      name: "signature";
                      type: "bytes";
                  }];
                  internalType: "struct Order[]";
                  name: "";
                  type: "tuple[]";
              }];
              name: "validate";
              outputs: readonly [{
                  internalType: "bool";
                  name: "";
                  type: "bool";
              }];
              stateMutability: "nonpayable";
              type: "function";
          }, {
              stateMutability: "payable";
              type: "receive";
          }], "validate", Chain, TChainOverride>, "address" | "abi" | "args" | "functionName">>

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[]], options?: Options]

        Returns Promise<SimulateContractReturnType<readonly [{
            inputs: readonly [{
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "BadContractSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BadFraction";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "BadReturnValueFromERC20OnTransfer";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint8";
                name: "v";
                type: "uint8";
            }];
            name: "BadSignatureV";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CannotCancelOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ConsiderationLengthNotEqualToTotalOriginal";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "shortfallAmount";
                type: "uint256";
            }];
            name: "ConsiderationNotMet";
            type: "error";
        }, {
            inputs: readonly [];
            name: "CriteriaNotEnabledForItem";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256[]";
                name: "identifiers";
                type: "uint256[]";
            }, {
                internalType: "uint256[]";
                name: "amounts";
                type: "uint256[]";
            }];
            name: "ERC1155BatchTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InexactFraction";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InsufficientNativeTokensSupplied";
            type: "error";
        }, {
            inputs: readonly [];
            name: "Invalid1155BatchTransferEncoding";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidBasicOrderParameterEncoding";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidCallToConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "conduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduit";
                type: "address";
            }];
            name: "InvalidConduit";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidContractOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "InvalidERC721TransferAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidFulfillmentComponentData";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "InvalidMsgValue";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidNativeOfferItem";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidProof";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "InvalidRestrictedOrder";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSignature";
            type: "error";
        }, {
            inputs: readonly [];
            name: "InvalidSigner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "startTime";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "endTime";
                type: "uint256";
            }];
            name: "InvalidTime";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "fulfillmentIndex";
                type: "uint256";
            }];
            name: "MismatchedFulfillmentOfferAndConsiderationComponents";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "MissingFulfillmentComponentOnAggregation";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingItemAmount";
            type: "error";
        }, {
            inputs: readonly [];
            name: "MissingOriginalConsiderationItems";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "NativeTokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "account";
                type: "address";
            }];
            name: "NoContract";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoReentrantCalls";
            type: "error";
        }, {
            inputs: readonly [];
            name: "NoSpecifiedOrdersAvailable";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferAndConsiderationRequiredOnFulfillment";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OfferCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderAlreadyFilled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "enum Side";
                name: "side";
                type: "uint8";
            }];
            name: "OrderCriteriaResolverOutOfRange";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderIsCancelled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "OrderPartiallyFilled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "PartialFillsNotEnabledForOrder";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "token";
                type: "address";
            }, {
                internalType: "address";
                name: "from";
                type: "address";
            }, {
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "identifier";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "TokenTransferGenericFailure";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "considerationIndex";
                type: "uint256";
            }];
            name: "UnresolvedConsiderationCriteria";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "orderIndex";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "offerIndex";
                type: "uint256";
            }];
            name: "UnresolvedOfferCriteria";
            type: "error";
        }, {
            inputs: readonly [];
            name: "UnusedItemParameters";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "CounterIncremented";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }];
            name: "OrderCancelled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                indexed: true;
                internalType: "address";
                name: "offerer";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "zone";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct SpentItem[]";
                name: "offer";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "enum ItemType";
                    name: "itemType";
                    type: "uint8";
                }, {
                    internalType: "address";
                    name: "token";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "recipient";
                    type: "address";
                }];
                indexed: false;
                internalType: "struct ReceivedItem[]";
                name: "consideration";
                type: "tuple[]";
            }];
            name: "OrderFulfilled";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }, {
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalConsiderationItems";
                    type: "uint256";
                }];
                indexed: false;
                internalType: "struct OrderParameters";
                name: "orderParameters";
                type: "tuple";
            }];
            name: "OrderValidated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "bytes32[]";
                name: "orderHashes";
                type: "bytes32[]";
            }];
            name: "OrdersMatched";
            type: "event";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents[]";
                name: "orders";
                type: "tuple[]";
            }];
            name: "cancel";
            outputs: readonly [{
                internalType: "bool";
                name: "cancelled";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder";
                name: "";
                type: "tuple";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "fulfillAdvancedOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableAdvancedOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "itemIndex";
                    type: "uint256";
                }];
                internalType: "struct FulfillmentComponent[][]";
                name: "";
                type: "tuple[][]";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "maximumFulfilled";
                type: "uint256";
            }];
            name: "fulfillAvailableOrders";
            outputs: readonly [{
                internalType: "bool[]";
                name: "";
                type: "bool[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "considerationToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "considerationIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "considerationAmount";
                    type: "uint256";
                }, {
                    internalType: "address payable";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "offerToken";
                    type: "address";
                }, {
                    internalType: "uint256";
                    name: "offerIdentifier";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "offerAmount";
                    type: "uint256";
                }, {
                    internalType: "enum BasicOrderType";
                    name: "basicOrderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "offererConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "bytes32";
                    name: "fulfillerConduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "totalOriginalAdditionalRecipients";
                    type: "uint256";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct AdditionalRecipient[]";
                    name: "additionalRecipients";
                    type: "tuple[]";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct BasicOrderParameters";
                name: "parameters";
                type: "tuple";
            }];
            name: "fulfillBasicOrder_efficient_6GL6yc";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order";
                name: "";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "fulfillerConduitKey";
                type: "bytes32";
            }];
            name: "fulfillOrder";
            outputs: readonly [{
                internalType: "bool";
                name: "fulfilled";
                type: "bool";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "contractOfferer";
                type: "address";
            }];
            name: "getContractOffererNonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "offerer";
                type: "address";
            }];
            name: "getCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "counter";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "address";
                    name: "zone";
                    type: "address";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }];
                    internalType: "struct OfferItem[]";
                    name: "offer";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifierOrCriteria";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "startAmount";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endAmount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ConsiderationItem[]";
                    name: "consideration";
                    type: "tuple[]";
                }, {
                    internalType: "enum OrderType";
                    name: "orderType";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "startTime";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "endTime";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "zoneHash";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "salt";
                    type: "uint256";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }, {
                    internalType: "uint256";
                    name: "counter";
                    type: "uint256";
                }];
                internalType: "struct OrderComponents";
                name: "";
                type: "tuple";
            }];
            name: "getOrderHash";
            outputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "orderHash";
                type: "bytes32";
            }];
            name: "getOrderStatus";
            outputs: readonly [{
                internalType: "bool";
                name: "isValidated";
                type: "bool";
            }, {
                internalType: "bool";
                name: "isCancelled";
                type: "bool";
            }, {
                internalType: "uint256";
                name: "totalFilled";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "totalSize";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "incrementCounter";
            outputs: readonly [{
                internalType: "uint256";
                name: "newCounter";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "information";
            outputs: readonly [{
                internalType: "string";
                name: "version";
                type: "string";
            }, {
                internalType: "bytes32";
                name: "domainSeparator";
                type: "bytes32";
            }, {
                internalType: "address";
                name: "conduitController";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "uint120";
                    name: "numerator";
                    type: "uint120";
                }, {
                    internalType: "uint120";
                    name: "denominator";
                    type: "uint120";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }, {
                    internalType: "bytes";
                    name: "extraData";
                    type: "bytes";
                }];
                internalType: "struct AdvancedOrder[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    internalType: "uint256";
                    name: "orderIndex";
                    type: "uint256";
                }, {
                    internalType: "enum Side";
                    name: "side";
                    type: "uint8";
                }, {
                    internalType: "uint256";
                    name: "index";
                    type: "uint256";
                }, {
                    internalType: "uint256";
                    name: "identifier";
                    type: "uint256";
                }, {
                    internalType: "bytes32[]";
                    name: "criteriaProof";
                    type: "bytes32[]";
                }];
                internalType: "struct CriteriaResolver[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }, {
                internalType: "address";
                name: "recipient";
                type: "address";
            }];
            name: "matchAdvancedOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }, {
                components: readonly [{
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "offerComponents";
                    type: "tuple[]";
                }, {
                    components: readonly [{
                        internalType: "uint256";
                        name: "orderIndex";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "itemIndex";
                        type: "uint256";
                    }];
                    internalType: "struct FulfillmentComponent[]";
                    name: "considerationComponents";
                    type: "tuple[]";
                }];
                internalType: "struct Fulfillment[]";
                name: "";
                type: "tuple[]";
            }];
            name: "matchOrders";
            outputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "enum ItemType";
                        name: "itemType";
                        type: "uint8";
                    }, {
                        internalType: "address";
                        name: "token";
                        type: "address";
                    }, {
                        internalType: "uint256";
                        name: "identifier";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "amount";
                        type: "uint256";
                    }, {
                        internalType: "address payable";
                        name: "recipient";
                        type: "address";
                    }];
                    internalType: "struct ReceivedItem";
                    name: "item";
                    type: "tuple";
                }, {
                    internalType: "address";
                    name: "offerer";
                    type: "address";
                }, {
                    internalType: "bytes32";
                    name: "conduitKey";
                    type: "bytes32";
                }];
                internalType: "struct Execution[]";
                name: "";
                type: "tuple[]";
            }];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "pure";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [{
                    components: readonly [{
                        internalType: "address";
                        name: "offerer";
                        type: "address";
                    }, {
                        internalType: "address";
                        name: "zone";
                        type: "address";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }];
                        internalType: "struct OfferItem[]";
                        name: "offer";
                        type: "tuple[]";
                    }, {
                        components: readonly [{
                            internalType: "enum ItemType";
                            name: "itemType";
                            type: "uint8";
                        }, {
                            internalType: "address";
                            name: "token";
                            type: "address";
                        }, {
                            internalType: "uint256";
                            name: "identifierOrCriteria";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "startAmount";
                            type: "uint256";
                        }, {
                            internalType: "uint256";
                            name: "endAmount";
                            type: "uint256";
                        }, {
                            internalType: "address payable";
                            name: "recipient";
                            type: "address";
                        }];
                        internalType: "struct ConsiderationItem[]";
                        name: "consideration";
                        type: "tuple[]";
                    }, {
                        internalType: "enum OrderType";
                        name: "orderType";
                        type: "uint8";
                    }, {
                        internalType: "uint256";
                        name: "startTime";
                        type: "uint256";
                    }, {
                        internalType: "uint256";
                        name: "endTime";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "zoneHash";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "salt";
                        type: "uint256";
                    }, {
                        internalType: "bytes32";
                        name: "conduitKey";
                        type: "bytes32";
                    }, {
                        internalType: "uint256";
                        name: "totalOriginalConsiderationItems";
                        type: "uint256";
                    }];
                    internalType: "struct OrderParameters";
                    name: "parameters";
                    type: "tuple";
                }, {
                    internalType: "bytes";
                    name: "signature";
                    type: "bytes";
                }];
                internalType: "struct Order[]";
                name: "";
                type: "tuple[]";
            }];
            name: "validate";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "validate", Chain, TChainOverride>>

An instance of SeaportValidatorContract, for offer validation within the Seaport protocol.

write?: {
    cancel: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    fulfillAdvancedOrder: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    fulfillAvailableAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    fulfillAvailableOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    fulfillBasicOrder: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    fulfillBasicOrder_efficient_6GL6yc: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    fulfillOrder: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    incrementCounter: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    matchAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    matchOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
    validate: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
}

State-changing methods of the smart contract. Present only if walletClient is provided.

Type declaration

  • cancel: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "cancel", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              conduitKey: `0x${string}`;
              consideration: readonly {
                  endAmount: bigint;
                  identifierOrCriteria: bigint;
                  itemType: number;
                  recipient: `0x${string}`;
                  startAmount: bigint;
                  token: `0x${string}`;
              }[];
              counter: bigint;
              endTime: bigint;
              offer: readonly {
                  endAmount: bigint;
                  identifierOrCriteria: bigint;
                  itemType: number;
                  startAmount: bigint;
                  token: `0x${string}`;
              }[];
              offerer: `0x${string}`;
              orderType: number;
              salt: bigint;
              startTime: bigint;
              zone: `0x${string}`;
              zoneHash: `0x${string}`;
          }[]], options?: Options]

        Returns Promise<`0x${string}`>

  • fulfillAdvancedOrder: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "fulfillAdvancedOrder", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [{
              denominator: bigint;
              extraData: `0x${string}`;
              numerator: bigint;
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }, readonly {
              criteriaProof: readonly `0x${string}`[];
              identifier: bigint;
              index: bigint;
              orderIndex: bigint;
              side: number;
          }[], `0x${string}`, `0x${string}`], options?: Options]

        Returns Promise<`0x${string}`>

  • fulfillAvailableAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "fulfillAvailableAdvancedOrders", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              denominator: bigint;
              extraData: `0x${string}`;
              numerator: bigint;
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly {
              criteriaProof: readonly `0x${string}`[];
              identifier: bigint;
              index: bigint;
              orderIndex: bigint;
              side: number;
          }[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], `0x${string}`, `0x${string}`, bigint], options?: Options]

        Returns Promise<`0x${string}`>

  • fulfillAvailableOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "fulfillAvailableOrders", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], readonly (readonly {
              itemIndex: bigint;
              orderIndex: bigint;
          }[])[], `0x${string}`, bigint], options?: Options]

        Returns Promise<`0x${string}`>

  • fulfillBasicOrder: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "fulfillBasicOrder", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [{
              additionalRecipients: readonly {
                  amount: bigint;
                  recipient: `0x${string}`;
              }[];
              basicOrderType: number;
              considerationAmount: bigint;
              considerationIdentifier: bigint;
              considerationToken: `0x${string}`;
              endTime: bigint;
              fulfillerConduitKey: `0x${string}`;
              offerAmount: bigint;
              offerIdentifier: bigint;
              offerToken: `0x${string}`;
              offerer: `0x${string}`;
              offererConduitKey: `0x${string}`;
              salt: bigint;
              signature: `0x${string}`;
              startTime: bigint;
              totalOriginalAdditionalRecipients: bigint;
              zone: `0x${string}`;
              zoneHash: `0x${string}`;
          }], options?: Options]

        Returns Promise<`0x${string}`>

  • fulfillBasicOrder_efficient_6GL6yc: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "fulfillBasicOrder_efficient_6GL6yc", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [{
              additionalRecipients: readonly {
                  amount: bigint;
                  recipient: `0x${string}`;
              }[];
              basicOrderType: number;
              considerationAmount: bigint;
              considerationIdentifier: bigint;
              considerationToken: `0x${string}`;
              endTime: bigint;
              fulfillerConduitKey: `0x${string}`;
              offerAmount: bigint;
              offerIdentifier: bigint;
              offerToken: `0x${string}`;
              offerer: `0x${string}`;
              offererConduitKey: `0x${string}`;
              salt: bigint;
              signature: `0x${string}`;
              startTime: bigint;
              totalOriginalAdditionalRecipients: bigint;
              zone: `0x${string}`;
              zoneHash: `0x${string}`;
          }], options?: Options]

        Returns Promise<`0x${string}`>

  • fulfillOrder: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "fulfillOrder", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [{
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }, `0x${string}`], options?: Options]

        Returns Promise<`0x${string}`>

  • incrementCounter: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "incrementCounter", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [options?: Options]

        Returns Promise<`0x${string}`>

  • matchAdvancedOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "matchAdvancedOrders", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              denominator: bigint;
              extraData: `0x${string}`;
              numerator: bigint;
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly {
              criteriaProof: readonly `0x${string}`[];
              identifier: bigint;
              index: bigint;
              orderIndex: bigint;
              side: number;
          }[], readonly {
              considerationComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
              offerComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
          }[], `0x${string}`], options?: Options]

        Returns Promise<`0x${string}`>

  • matchOrders: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "matchOrders", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[], readonly {
              considerationComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
              offerComponents: readonly {
                  itemIndex: bigint;
                  orderIndex: bigint;
              }[];
          }[]], options?: Options]

        Returns Promise<`0x${string}`>

  • validate: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
      • <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
      • Type Parameters

        • TChainOverride extends undefined | Chain

        • Options extends {
              [K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  inputs: readonly [];
                  name: "BadContractSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "BadFraction";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "BadReturnValueFromERC20OnTransfer";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint8";
                      name: "v";
                      type: "uint8";
                  }];
                  name: "BadSignatureV";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CannotCancelOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "ConsiderationLengthNotEqualToTotalOriginal";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "shortfallAmount";
                      type: "uint256";
                  }];
                  name: "ConsiderationNotMet";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "CriteriaNotEnabledForItem";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256[]";
                      name: "identifiers";
                      type: "uint256[]";
                  }, {
                      internalType: "uint256[]";
                      name: "amounts";
                      type: "uint256[]";
                  }];
                  name: "ERC1155BatchTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InexactFraction";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InsufficientNativeTokensSupplied";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "Invalid1155BatchTransferEncoding";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidBasicOrderParameterEncoding";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidCallToConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "conduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduit";
                      type: "address";
                  }];
                  name: "InvalidConduit";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidContractOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "InvalidERC721TransferAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidFulfillmentComponentData";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "value";
                      type: "uint256";
                  }];
                  name: "InvalidMsgValue";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidNativeOfferItem";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidProof";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "InvalidRestrictedOrder";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSignature";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "InvalidSigner";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "startTime";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "endTime";
                      type: "uint256";
                  }];
                  name: "InvalidTime";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "fulfillmentIndex";
                      type: "uint256";
                  }];
                  name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "MissingFulfillmentComponentOnAggregation";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingItemAmount";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "MissingOriginalConsiderationItems";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "NativeTokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "account";
                      type: "address";
                  }];
                  name: "NoContract";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoReentrantCalls";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "NoSpecifiedOrdersAvailable";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferAndConsiderationRequiredOnFulfillment";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "OfferCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderAlreadyFilled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "enum Side";
                      name: "side";
                      type: "uint8";
                  }];
                  name: "OrderCriteriaResolverOutOfRange";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderIsCancelled";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "OrderPartiallyFilled";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "PartialFillsNotEnabledForOrder";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "token";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "from";
                      type: "address";
                  }, {
                      internalType: "address";
                      name: "to";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "identifier";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "amount";
                      type: "uint256";
                  }];
                  name: "TokenTransferGenericFailure";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "considerationIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedConsiderationCriteria";
                  type: "error";
              }, {
                  inputs: readonly [{
                      internalType: "uint256";
                      name: "orderIndex";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "offerIndex";
                      type: "uint256";
                  }];
                  name: "UnresolvedOfferCriteria";
                  type: "error";
              }, {
                  inputs: readonly [];
                  name: "UnusedItemParameters";
                  type: "error";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "CounterIncremented";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }];
                  name: "OrderCancelled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }, {
                      indexed: true;
                      internalType: "address";
                      name: "zone";
                      type: "address";
                  }, {
                      indexed: false;
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct SpentItem[]";
                      name: "offer";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "enum ItemType";
                          name: "itemType";
                          type: "uint8";
                      }, {
                          internalType: "address";
                          name: "token";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "recipient";
                          type: "address";
                      }];
                      indexed: false;
                      internalType: "struct ReceivedItem[]";
                      name: "consideration";
                      type: "tuple[]";
                  }];
                  name: "OrderFulfilled";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }, {
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalConsiderationItems";
                          type: "uint256";
                      }];
                      indexed: false;
                      internalType: "struct OrderParameters";
                      name: "orderParameters";
                      type: "tuple";
                  }];
                  name: "OrderValidated";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      internalType: "bytes32[]";
                      name: "orderHashes";
                      type: "bytes32[]";
                  }];
                  name: "OrdersMatched";
                  type: "event";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents[]";
                      name: "orders";
                      type: "tuple[]";
                  }];
                  name: "cancel";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "cancelled";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder";
                      name: "";
                      type: "tuple";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "fulfillAdvancedOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableAdvancedOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "itemIndex";
                          type: "uint256";
                      }];
                      internalType: "struct FulfillmentComponent[][]";
                      name: "";
                      type: "tuple[][]";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }, {
                      internalType: "uint256";
                      name: "maximumFulfilled";
                      type: "uint256";
                  }];
                  name: "fulfillAvailableOrders";
                  outputs: readonly [{
                      internalType: "bool[]";
                      name: "";
                      type: "bool[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "considerationToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "considerationIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "considerationAmount";
                          type: "uint256";
                      }, {
                          internalType: "address payable";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "offerToken";
                          type: "address";
                      }, {
                          internalType: "uint256";
                          name: "offerIdentifier";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "offerAmount";
                          type: "uint256";
                      }, {
                          internalType: "enum BasicOrderType";
                          name: "basicOrderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "offererConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "bytes32";
                          name: "fulfillerConduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "totalOriginalAdditionalRecipients";
                          type: "uint256";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct AdditionalRecipient[]";
                          name: "additionalRecipients";
                          type: "tuple[]";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct BasicOrderParameters";
                      name: "parameters";
                      type: "tuple";
                  }];
                  name: "fulfillBasicOrder_efficient_6GL6yc";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order";
                      name: "";
                      type: "tuple";
                  }, {
                      internalType: "bytes32";
                      name: "fulfillerConduitKey";
                      type: "bytes32";
                  }];
                  name: "fulfillOrder";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "fulfilled";
                      type: "bool";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "contractOfferer";
                      type: "address";
                  }];
                  name: "getContractOffererNonce";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "nonce";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "address";
                      name: "offerer";
                      type: "address";
                  }];
                  name: "getCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "counter";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "address";
                          name: "zone";
                          type: "address";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }];
                          internalType: "struct OfferItem[]";
                          name: "offer";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifierOrCriteria";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "startAmount";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endAmount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ConsiderationItem[]";
                          name: "consideration";
                          type: "tuple[]";
                      }, {
                          internalType: "enum OrderType";
                          name: "orderType";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "startTime";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "endTime";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "zoneHash";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "salt";
                          type: "uint256";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }, {
                          internalType: "uint256";
                          name: "counter";
                          type: "uint256";
                      }];
                      internalType: "struct OrderComponents";
                      name: "";
                      type: "tuple";
                  }];
                  name: "getOrderHash";
                  outputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      internalType: "bytes32";
                      name: "orderHash";
                      type: "bytes32";
                  }];
                  name: "getOrderStatus";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "isValidated";
                      type: "bool";
                  }, {
                      internalType: "bool";
                      name: "isCancelled";
                      type: "bool";
                  }, {
                      internalType: "uint256";
                      name: "totalFilled";
                      type: "uint256";
                  }, {
                      internalType: "uint256";
                      name: "totalSize";
                      type: "uint256";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "incrementCounter";
                  outputs: readonly [{
                      internalType: "uint256";
                      name: "newCounter";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "information";
                  outputs: readonly [{
                      internalType: "string";
                      name: "version";
                      type: "string";
                  }, {
                      internalType: "bytes32";
                      name: "domainSeparator";
                      type: "bytes32";
                  }, {
                      internalType: "address";
                      name: "conduitController";
                      type: "address";
                  }];
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "uint120";
                          name: "numerator";
                          type: "uint120";
                      }, {
                          internalType: "uint120";
                          name: "denominator";
                          type: "uint120";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }, {
                          internalType: "bytes";
                          name: "extraData";
                          type: "bytes";
                      }];
                      internalType: "struct AdvancedOrder[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          internalType: "uint256";
                          name: "orderIndex";
                          type: "uint256";
                      }, {
                          internalType: "enum Side";
                          name: "side";
                          type: "uint8";
                      }, {
                          internalType: "uint256";
                          name: "index";
                          type: "uint256";
                      }, {
                          internalType: "uint256";
                          name: "identifier";
                          type: "uint256";
                      }, {
                          internalType: "bytes32[]";
                          name: "criteriaProof";
                          type: "bytes32[]";
                      }];
                      internalType: "struct CriteriaResolver[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      internalType: "address";
                      name: "recipient";
                      type: "address";
                  }];
                  name: "matchAdvancedOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }, {
                      components: readonly [{
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "offerComponents";
                          type: "tuple[]";
                      }, {
                          components: readonly [{
                              internalType: "uint256";
                              name: "orderIndex";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "itemIndex";
                              type: "uint256";
                          }];
                          internalType: "struct FulfillmentComponent[]";
                          name: "considerationComponents";
                          type: "tuple[]";
                      }];
                      internalType: "struct Fulfillment[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "matchOrders";
                  outputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "enum ItemType";
                              name: "itemType";
                              type: "uint8";
                          }, {
                              internalType: "address";
                              name: "token";
                              type: "address";
                          }, {
                              internalType: "uint256";
                              name: "identifier";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "amount";
                              type: "uint256";
                          }, {
                              internalType: "address payable";
                              name: "recipient";
                              type: "address";
                          }];
                          internalType: "struct ReceivedItem";
                          name: "item";
                          type: "tuple";
                      }, {
                          internalType: "address";
                          name: "offerer";
                          type: "address";
                      }, {
                          internalType: "bytes32";
                          name: "conduitKey";
                          type: "bytes32";
                      }];
                      internalType: "struct Execution[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  stateMutability: "payable";
                  type: "function";
              }, {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{
                      internalType: "string";
                      name: "";
                      type: "string";
                  }];
                  stateMutability: "pure";
                  type: "function";
              }, {
                  inputs: readonly [{
                      components: readonly [{
                          components: readonly [{
                              internalType: "address";
                              name: "offerer";
                              type: "address";
                          }, {
                              internalType: "address";
                              name: "zone";
                              type: "address";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }];
                              internalType: "struct OfferItem[]";
                              name: "offer";
                              type: "tuple[]";
                          }, {
                              components: readonly [{
                                  internalType: "enum ItemType";
                                  name: "itemType";
                                  type: "uint8";
                              }, {
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              }, {
                                  internalType: "uint256";
                                  name: "identifierOrCriteria";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "startAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "uint256";
                                  name: "endAmount";
                                  type: "uint256";
                              }, {
                                  internalType: "address payable";
                                  name: "recipient";
                                  type: "address";
                              }];
                              internalType: "struct ConsiderationItem[]";
                              name: "consideration";
                              type: "tuple[]";
                          }, {
                              internalType: "enum OrderType";
                              name: "orderType";
                              type: "uint8";
                          }, {
                              internalType: "uint256";
                              name: "startTime";
                              type: "uint256";
                          }, {
                              internalType: "uint256";
                              name: "endTime";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "zoneHash";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "salt";
                              type: "uint256";
                          }, {
                              internalType: "bytes32";
                              name: "conduitKey";
                              type: "bytes32";
                          }, {
                              internalType: "uint256";
                              name: "totalOriginalConsiderationItems";
                              type: "uint256";
                          }];
                          internalType: "struct OrderParameters";
                          name: "parameters";
                          type: "tuple";
                      }, {
                          internalType: "bytes";
                          name: "signature";
                          type: "bytes";
                      }];
                      internalType: "struct Order[]";
                      name: "";
                      type: "tuple[]";
                  }];
                  name: "validate";
                  outputs: readonly [{
                      internalType: "bool";
                      name: "";
                      type: "bool";
                  }];
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  stateMutability: "payable";
                  type: "receive";
              }], "validate", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
          }

        Parameters

        • Rest ...parameters: [args: readonly [readonly {
              parameters: {
                  conduitKey: `0x${string}`;
                  consideration: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      recipient: `0x${string}`;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  endTime: bigint;
                  offer: readonly {
                      endAmount: bigint;
                      identifierOrCriteria: bigint;
                      itemType: number;
                      startAmount: bigint;
                      token: `0x${string}`;
                  }[];
                  offerer: `0x${string}`;
                  orderType: number;
                  salt: bigint;
                  startTime: bigint;
                  totalOriginalConsiderationItems: bigint;
                  zone: `0x${string}`;
                  zoneHash: `0x${string}`;
              };
              signature: `0x${string}`;
          }[]], options?: Options]

        Returns Promise<`0x${string}`>

Generated using TypeDoc