{
    "_format": "hh-sol-artifact-1",
    "contractName": "WTTPForwarder",
    "sourceName": "contracts/extensions/WTTPForwarder.sol",
    "abi": [
        {
            "inputs": [],
            "name": "EmptyBaseURL",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "uint16",
                    "name": "code",
                    "type": "uint16"
                }
            ],
            "name": "InvalidRedirect",
            "type": "error"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "baseURL",
                    "type": "string"
                },
                {
                    "indexed": false,
                    "internalType": "uint16",
                    "name": "redirectCode",
                    "type": "uint16"
                }
            ],
            "name": "RedirectConfigUpdated",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "ALLOWED_METHODS",
            "outputs": [
                {
                    "internalType": "uint16",
                    "name": "",
                    "type": "uint16"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "string",
                                    "name": "path",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "ifModifiedSince",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "ifNoneMatch",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADRequest",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "int256",
                                    "name": "start",
                                    "type": "int256"
                                },
                                {
                                    "internalType": "int256",
                                    "name": "end",
                                    "type": "int256"
                                }
                            ],
                            "internalType": "struct Range",
                            "name": "rangeChunks",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct LOCATERequest",
                    "name": "getRequest",
                    "type": "tuple"
                }
            ],
            "name": "GET",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "dataPoints",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalChunks",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct ResourceResponse",
                            "name": "resource",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct LOCATEResponse",
                    "name": "getResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "string",
                            "name": "path",
                            "type": "string"
                        },
                        {
                            "internalType": "uint256",
                            "name": "ifModifiedSince",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "ifNoneMatch",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct HEADRequest",
                    "name": "headRequest",
                    "type": "tuple"
                }
            ],
            "name": "HEAD",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint16",
                            "name": "status",
                            "type": "uint16"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bool",
                                            "name": "immutableFlag",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "enum CachePreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CacheControl",
                                    "name": "cache",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "methods",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "bytes32[]",
                                            "name": "origins",
                                            "type": "bytes32[]"
                                        },
                                        {
                                            "internalType": "enum CORSPreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CORSPolicy",
                                    "name": "cors",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "code",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "location",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct Redirect",
                                    "name": "redirect",
                                    "type": "tuple"
                                }
                            ],
                            "internalType": "struct HeaderInfo",
                            "name": "headerInfo",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes2",
                                            "name": "mimeType",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "charset",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "encoding",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "language",
                                            "type": "bytes2"
                                        }
                                    ],
                                    "internalType": "struct ResourceProperties",
                                    "name": "properties",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "size",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "version",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "lastModified",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "header",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct ResourceMetadata",
                            "name": "metadata",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "etag",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct HEADResponse",
                    "name": "head",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "string",
                    "name": "",
                    "type": "string"
                }
            ],
            "name": "OPTIONS",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint16",
                            "name": "status",
                            "type": "uint16"
                        },
                        {
                            "internalType": "uint16",
                            "name": "allow",
                            "type": "uint16"
                        }
                    ],
                    "internalType": "struct OPTIONSResponse",
                    "name": "optionsResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "pure",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "baseURL",
            "outputs": [
                {
                    "internalType": "string",
                    "name": "",
                    "type": "string"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "redirectCode",
            "outputs": [
                {
                    "internalType": "uint16",
                    "name": "",
                    "type": "uint16"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x",
    "deployedBytecode": "0x",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
