{
    "_format": "hh-sol-artifact-1",
    "contractName": "Seaport",
    "sourceName": "contracts/mock/Seaport.sol",
    "abi": [
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "offerer",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "zone",
                            "type": "address"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifierOrCriteria",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endAmount",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.OfferItem[]",
                            "name": "offer",
                            "type": "tuple[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifierOrCriteria",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "recipient",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct Seaport.ConsiderationItem[]",
                            "name": "consideration",
                            "type": "tuple[]"
                        },
                        {
                            "internalType": "enum Seaport.OrderType",
                            "name": "orderType",
                            "type": "uint8"
                        },
                        {
                            "internalType": "uint256",
                            "name": "startTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "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 Seaport.OrderComponents[]",
                    "name": "orders",
                    "type": "tuple[]"
                }
            ],
            "name": "cancel",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "cancelled",
                    "type": "bool"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "address",
                                    "name": "offerer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "zone",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct Seaport.OfferItem[]",
                                    "name": "offer",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address payable",
                                            "name": "recipient",
                                            "type": "address"
                                        }
                                    ],
                                    "internalType": "struct Seaport.ConsiderationItem[]",
                                    "name": "consideration",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "enum Seaport.OrderType",
                                    "name": "orderType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "zoneHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "conduitKey",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalOriginalConsiderationItems",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.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 Seaport.AdvancedOrder",
                    "name": "advancedOrder",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "orderIndex",
                            "type": "uint256"
                        },
                        {
                            "internalType": "enum Seaport.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 Seaport.CriteriaResolver[]",
                    "name": "criteriaResolvers",
                    "type": "tuple[]"
                },
                {
                    "internalType": "bytes32",
                    "name": "fulfillerConduitKey",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                }
            ],
            "name": "fulfillAdvancedOrder",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "fulfilled",
                    "type": "bool"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "address",
                                    "name": "offerer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "zone",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct Seaport.OfferItem[]",
                                    "name": "offer",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address payable",
                                            "name": "recipient",
                                            "type": "address"
                                        }
                                    ],
                                    "internalType": "struct Seaport.ConsiderationItem[]",
                                    "name": "consideration",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "enum Seaport.OrderType",
                                    "name": "orderType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "zoneHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "conduitKey",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalOriginalConsiderationItems",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.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 Seaport.AdvancedOrder[]",
                    "name": "advancedOrders",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "orderIndex",
                            "type": "uint256"
                        },
                        {
                            "internalType": "enum Seaport.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 Seaport.CriteriaResolver[]",
                    "name": "criteriaResolvers",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "orderIndex",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "itemIndex",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Seaport.FulfillmentComponent[][]",
                    "name": "offerFulfillments",
                    "type": "tuple[][]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "orderIndex",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "itemIndex",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Seaport.FulfillmentComponent[][]",
                    "name": "considerationFulfillments",
                    "type": "tuple[][]"
                },
                {
                    "internalType": "bytes32",
                    "name": "fulfillerConduitKey",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "maximumFulfilled",
                    "type": "uint256"
                }
            ],
            "name": "fulfillAvailableAdvancedOrders",
            "outputs": [
                {
                    "internalType": "bool[]",
                    "name": "availableOrders",
                    "type": "bool[]"
                },
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifier",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "recipient",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct Seaport.ReceivedItem",
                            "name": "item",
                            "type": "tuple"
                        },
                        {
                            "internalType": "address",
                            "name": "offerer",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "conduitKey",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct Seaport.Execution[]",
                    "name": "executions",
                    "type": "tuple[]"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "address",
                                    "name": "offerer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "zone",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct Seaport.OfferItem[]",
                                    "name": "offer",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address payable",
                                            "name": "recipient",
                                            "type": "address"
                                        }
                                    ],
                                    "internalType": "struct Seaport.ConsiderationItem[]",
                                    "name": "consideration",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "enum Seaport.OrderType",
                                    "name": "orderType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "zoneHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "conduitKey",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalOriginalConsiderationItems",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.OrderParameters",
                            "name": "parameters",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes",
                            "name": "signature",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct Seaport.Order[]",
                    "name": "orders",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "orderIndex",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "itemIndex",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Seaport.FulfillmentComponent[][]",
                    "name": "offerFulfillments",
                    "type": "tuple[][]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "orderIndex",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "itemIndex",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct Seaport.FulfillmentComponent[][]",
                    "name": "considerationFulfillments",
                    "type": "tuple[][]"
                },
                {
                    "internalType": "bytes32",
                    "name": "fulfillerConduitKey",
                    "type": "bytes32"
                },
                {
                    "internalType": "uint256",
                    "name": "maximumFulfilled",
                    "type": "uint256"
                }
            ],
            "name": "fulfillAvailableOrders",
            "outputs": [
                {
                    "internalType": "bool[]",
                    "name": "availableOrders",
                    "type": "bool[]"
                },
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifier",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "recipient",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct Seaport.ReceivedItem",
                            "name": "item",
                            "type": "tuple"
                        },
                        {
                            "internalType": "address",
                            "name": "offerer",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "conduitKey",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct Seaport.Execution[]",
                    "name": "executions",
                    "type": "tuple[]"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "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 Seaport.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": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "recipient",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct Seaport.AdditionalRecipient[]",
                            "name": "additionalRecipients",
                            "type": "tuple[]"
                        },
                        {
                            "internalType": "bytes",
                            "name": "signature",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct Seaport.BasicOrderParameters",
                    "name": "parameters",
                    "type": "tuple"
                }
            ],
            "name": "fulfillBasicOrder",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "fulfilled",
                    "type": "bool"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "address",
                                    "name": "offerer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "zone",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct Seaport.OfferItem[]",
                                    "name": "offer",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address payable",
                                            "name": "recipient",
                                            "type": "address"
                                        }
                                    ],
                                    "internalType": "struct Seaport.ConsiderationItem[]",
                                    "name": "consideration",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "enum Seaport.OrderType",
                                    "name": "orderType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "zoneHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "conduitKey",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalOriginalConsiderationItems",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.OrderParameters",
                            "name": "parameters",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes",
                            "name": "signature",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct Seaport.Order",
                    "name": "order",
                    "type": "tuple"
                },
                {
                    "internalType": "bytes32",
                    "name": "fulfillerConduitKey",
                    "type": "bytes32"
                }
            ],
            "name": "fulfillOrder",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "fulfilled",
                    "type": "bool"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "offerer",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "zone",
                            "type": "address"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifierOrCriteria",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endAmount",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.OfferItem[]",
                            "name": "offer",
                            "type": "tuple[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifierOrCriteria",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "recipient",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct Seaport.ConsiderationItem[]",
                            "name": "consideration",
                            "type": "tuple[]"
                        },
                        {
                            "internalType": "enum Seaport.OrderType",
                            "name": "orderType",
                            "type": "uint8"
                        },
                        {
                            "internalType": "uint256",
                            "name": "startTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "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 Seaport.OrderComponents",
                    "name": "order",
                    "type": "tuple"
                }
            ],
            "name": "getOrderHash",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "orderHash",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "incrementCounter",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "newCounter",
                    "type": "uint256"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "address",
                                    "name": "offerer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "zone",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct Seaport.OfferItem[]",
                                    "name": "offer",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address payable",
                                            "name": "recipient",
                                            "type": "address"
                                        }
                                    ],
                                    "internalType": "struct Seaport.ConsiderationItem[]",
                                    "name": "consideration",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "enum Seaport.OrderType",
                                    "name": "orderType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "zoneHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "conduitKey",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalOriginalConsiderationItems",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.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 Seaport.AdvancedOrder[]",
                    "name": "orders",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "orderIndex",
                            "type": "uint256"
                        },
                        {
                            "internalType": "enum Seaport.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 Seaport.CriteriaResolver[]",
                    "name": "criteriaResolvers",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint256",
                                    "name": "orderIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "itemIndex",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.FulfillmentComponent[]",
                            "name": "offerComponents",
                            "type": "tuple[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256",
                                    "name": "orderIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "itemIndex",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.FulfillmentComponent[]",
                            "name": "considerationComponents",
                            "type": "tuple[]"
                        }
                    ],
                    "internalType": "struct Seaport.Fulfillment[]",
                    "name": "fulfillments",
                    "type": "tuple[]"
                }
            ],
            "name": "matchAdvancedOrders",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifier",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "recipient",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct Seaport.ReceivedItem",
                            "name": "item",
                            "type": "tuple"
                        },
                        {
                            "internalType": "address",
                            "name": "offerer",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "conduitKey",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct Seaport.Execution[]",
                    "name": "executions",
                    "type": "tuple[]"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "address",
                                    "name": "offerer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "zone",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct Seaport.OfferItem[]",
                                    "name": "offer",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "enum Seaport.ItemType",
                                            "name": "itemType",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "token",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "identifierOrCriteria",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "startAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "endAmount",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address payable",
                                            "name": "recipient",
                                            "type": "address"
                                        }
                                    ],
                                    "internalType": "struct Seaport.ConsiderationItem[]",
                                    "name": "consideration",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "enum Seaport.OrderType",
                                    "name": "orderType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "startTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "endTime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "zoneHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "salt",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "conduitKey",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalOriginalConsiderationItems",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.OrderParameters",
                            "name": "parameters",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes",
                            "name": "signature",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct Seaport.Order[]",
                    "name": "orders",
                    "type": "tuple[]"
                },
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint256",
                                    "name": "orderIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "itemIndex",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.FulfillmentComponent[]",
                            "name": "offerComponents",
                            "type": "tuple[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256",
                                    "name": "orderIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "itemIndex",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Seaport.FulfillmentComponent[]",
                            "name": "considerationComponents",
                            "type": "tuple[]"
                        }
                    ],
                    "internalType": "struct Seaport.Fulfillment[]",
                    "name": "fulfillments",
                    "type": "tuple[]"
                }
            ],
            "name": "matchOrders",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "enum Seaport.ItemType",
                                    "name": "itemType",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "identifier",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "recipient",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct Seaport.ReceivedItem",
                            "name": "item",
                            "type": "tuple"
                        },
                        {
                            "internalType": "address",
                            "name": "offerer",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "conduitKey",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct Seaport.Execution[]",
                    "name": "executions",
                    "type": "tuple[]"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "methodIds",
            "outputs": [
                {
                    "internalType": "bytes4[]",
                    "name": "ids",
                    "type": "bytes4[]"
                }
            ],
            "stateMutability": "pure",
            "type": "function"
        }
    ],
    "linkReferences": {},
    "deployedLinkReferences": {}
}
