{
    "schemaVersion": "2.0.0",
    "contractName": "LibCoordinatorRichErrors",
    "compilerOutput": {
        "abi": [],
        "devdoc": {
            "methods": {}
        },
        "evm": {
            "bytecode": {
                "linkReferences": {},
                "object": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582017e189f758f33b4af31eebee77809321debcbc68aa839237233568ddd771e83b64736f6c63430005110032",
                "opcodes": "PUSH1 0x55 PUSH1 0x23 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x16 JUMPI INVALID JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 OR 0xE1 DUP10 0xF7 PC RETURN EXTCODESIZE 0x4A RETURN 0x1E 0xEB 0xEE PUSH24 0x809321DEBCBC68AA839237233568DDD771E83B64736F6C63 NUMBER STOP SDIV GT STOP ORIGIN ",
                "sourceMap": "606:1609:9:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24"
            },
            "deployedBytecode": {
                "linkReferences": {},
                "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582017e189f758f33b4af31eebee77809321debcbc68aa839237233568ddd771e83b64736f6c63430005110032",
                "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 OR 0xE1 DUP10 0xF7 PC RETURN EXTCODESIZE 0x4A RETURN 0x1E 0xEB 0xEE PUSH24 0x809321DEBCBC68AA839237233568DDD771E83B64736F6C63 NUMBER STOP SDIV GT STOP ORIGIN ",
                "sourceMap": "606:1609:9:-;;;;;;;;"
            }
        }
    },
    "sourceTreeHashHex": "0x98ee1d9f3a306335ae70228614a5f71e4f3b48c23d0817f86c11336ee59aa4e0",
    "sources": {
        "./LibCoordinatorRichErrors.sol": {
            "id": 9,
            "content": "/*\n\n  Copyright 2019 ZeroEx Intl.\n\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License.\n\n*/\n\npragma solidity ^0.5.9;\n\n\nlibrary LibCoordinatorRichErrors {\n    enum SignatureErrorCodes {\n        INVALID_LENGTH,\n        UNSUPPORTED,\n        ILLEGAL,\n        INVALID\n    }\n\n    // bytes4(keccak256(\"SignatureError(uint8,bytes32,bytes)\"))\n    bytes4 internal constant SIGNATURE_ERROR_SELECTOR =\n        0x779c5223;\n\n    // bytes4(keccak256(\"InvalidOriginError(address)\"))\n    bytes4 internal constant INVALID_ORIGIN_ERROR_SELECTOR =\n        0xa458d7ff;\n\n    // bytes4(keccak256(\"InvalidApprovalSignatureError(bytes32,address)\"))\n    bytes4 internal constant INVALID_APPROVAL_SIGNATURE_ERROR_SELECTOR =\n        0xd789b640;\n\n    // solhint-disable func-name-mixedcase\n    function SignatureError(\n        SignatureErrorCodes errorCode,\n        bytes32 hash,\n        bytes memory signature\n    )\n        internal\n        pure\n        returns (bytes memory)\n    {\n        return abi.encodeWithSelector(\n            SIGNATURE_ERROR_SELECTOR,\n            errorCode,\n            hash,\n            signature\n        );\n    }\n\n    function InvalidOriginError(\n        address expectedOrigin\n    )\n        internal\n        pure\n        returns (bytes memory)\n    {\n        return abi.encodeWithSelector(\n            INVALID_ORIGIN_ERROR_SELECTOR,\n            expectedOrigin\n        );\n    }\n\n    function InvalidApprovalSignatureError(\n        bytes32 transactionHash,\n        address approverAddress\n    )\n        internal\n        pure\n        returns (bytes memory)\n    {\n        return abi.encodeWithSelector(\n            INVALID_APPROVAL_SIGNATURE_ERROR_SELECTOR,\n            transactionHash,\n            approverAddress\n        );\n    }\n}\n"
        }
    },
    "sourceCodes": {
        "./LibCoordinatorRichErrors.sol": "/*\n\n  Copyright 2019 ZeroEx Intl.\n\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License.\n\n*/\n\npragma solidity ^0.5.9;\n\n\nlibrary LibCoordinatorRichErrors {\n    enum SignatureErrorCodes {\n        INVALID_LENGTH,\n        UNSUPPORTED,\n        ILLEGAL,\n        INVALID\n    }\n\n    // bytes4(keccak256(\"SignatureError(uint8,bytes32,bytes)\"))\n    bytes4 internal constant SIGNATURE_ERROR_SELECTOR =\n        0x779c5223;\n\n    // bytes4(keccak256(\"InvalidOriginError(address)\"))\n    bytes4 internal constant INVALID_ORIGIN_ERROR_SELECTOR =\n        0xa458d7ff;\n\n    // bytes4(keccak256(\"InvalidApprovalSignatureError(bytes32,address)\"))\n    bytes4 internal constant INVALID_APPROVAL_SIGNATURE_ERROR_SELECTOR =\n        0xd789b640;\n\n    // solhint-disable func-name-mixedcase\n    function SignatureError(\n        SignatureErrorCodes errorCode,\n        bytes32 hash,\n        bytes memory signature\n    )\n        internal\n        pure\n        returns (bytes memory)\n    {\n        return abi.encodeWithSelector(\n            SIGNATURE_ERROR_SELECTOR,\n            errorCode,\n            hash,\n            signature\n        );\n    }\n\n    function InvalidOriginError(\n        address expectedOrigin\n    )\n        internal\n        pure\n        returns (bytes memory)\n    {\n        return abi.encodeWithSelector(\n            INVALID_ORIGIN_ERROR_SELECTOR,\n            expectedOrigin\n        );\n    }\n\n    function InvalidApprovalSignatureError(\n        bytes32 transactionHash,\n        address approverAddress\n    )\n        internal\n        pure\n        returns (bytes memory)\n    {\n        return abi.encodeWithSelector(\n            INVALID_APPROVAL_SIGNATURE_ERROR_SELECTOR,\n            transactionHash,\n            approverAddress\n        );\n    }\n}\n"
    },
    "compiler": {
        "name": "solc",
        "version": "0.5.17+commit.d19bba13",
        "settings": {
            "remappings": [
                "@0x/contracts-exchange-libs=/home/runner/work/protocol/protocol/node_modules/@0x/contracts-exchange-libs",
                "@0x/contracts-utils=/home/runner/work/protocol/protocol/contracts/coordinator/node_modules/@0x/contracts-utils",
                "@0x/contracts-exchange=/home/runner/work/protocol/protocol/contracts/coordinator/node_modules/@0x/contracts-exchange"
            ],
            "optimizer": {
                "enabled": true,
                "runs": 1000000,
                "details": {
                    "yul": true,
                    "deduplicate": true,
                    "cse": true,
                    "constantOptimizer": true
                }
            },
            "outputSelection": {
                "*": {
                    "*": [
                        "abi",
                        "devdoc",
                        "evm.bytecode.object",
                        "evm.bytecode.sourceMap",
                        "evm.deployedBytecode.object",
                        "evm.deployedBytecode.sourceMap"
                    ]
                }
            },
            "evmVersion": "istanbul"
        }
    },
    "chains": {}
}
