28389 lines
1.1 MiB
28389 lines
1.1 MiB
{
|
|
"contractName": "MockInterface",
|
|
"abi": [
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "response",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "givenAnyReturn",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "response",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "givenAnyReturnBool",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "response",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "givenAnyReturnUint",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "response",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "givenAnyReturnAddress",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [],
|
|
"name": "givenAnyRevert",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "message",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "givenAnyRevertWithMessage",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [],
|
|
"name": "givenAnyRunOutOfGas",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "givenMethodReturn",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "givenMethodReturnBool",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "givenMethodReturnUint",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "givenMethodReturnAddress",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "givenMethodRevert",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "message",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "givenMethodRevertWithMessage",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "givenMethodRunOutOfGas",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "givenCalldataReturn",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "givenCalldataReturnBool",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "givenCalldataReturnUint",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "response",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "givenCalldataReturnAddress",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "givenCalldataRevert",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"name": "message",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "givenCalldataRevertWithMessage",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "givenCalldataRunOutOfGas",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [],
|
|
"name": "invocationCount",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "method",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "invocationCountForMethod",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [
|
|
{
|
|
"name": "calldata",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "invocationCountForCalldata",
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"inputs": [],
|
|
"name": "reset",
|
|
"outputs": [],
|
|
"payable": false,
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x",
|
|
"deployedBytecode": "0x",
|
|
"sourceMap": "",
|
|
"deployedSourceMap": "",
|
|
"source": "pragma solidity ^0.4.23;\n\ninterface MockInterface {\n\t/**\n\t * @dev After calling this method, the mock will return `response` when it is called\n\t * with any calldata that is not mocked more specifically below\n\t * (e.g. using givenMethodReturn).\n\t * @param response ABI encoded response that will be returned if method is invoked\n\t */\n\tfunction givenAnyReturn(bytes response) external;\n\tfunction givenAnyReturnBool(bool response) external;\n\tfunction givenAnyReturnUint(uint response) external;\n\tfunction givenAnyReturnAddress(address response) external;\n\n\tfunction givenAnyRevert() external;\n\tfunction givenAnyRevertWithMessage(string message) external;\n\tfunction givenAnyRunOutOfGas() external;\n\n\t/**\n\t * @dev After calling this method, the mock will return `response` when the given\n\t * methodId is called regardless of arguments. If the methodId and arguments\n\t * are mocked more specifically (using `givenMethodAndArguments`) the latter\n\t * will take precedence.\n\t * @param method ABI encoded methodId. It is valid to pass full calldata (including arguments). The mock will extract the methodId from it\n\t * @param response ABI encoded response that will be returned if method is invoked\n\t */\n\tfunction givenMethodReturn(bytes method, bytes response) external;\n\tfunction givenMethodReturnBool(bytes method, bool response) external;\n\tfunction givenMethodReturnUint(bytes method, uint response) external;\n\tfunction givenMethodReturnAddress(bytes method, address response) external;\n\n\tfunction givenMethodRevert(bytes method) external;\n\tfunction givenMethodRevertWithMessage(bytes method, string message) external;\n\tfunction givenMethodRunOutOfGas(bytes method) external;\n\n\t/**\n\t * @dev After calling this method, the mock will return `response` when the given\n\t * methodId is called with matching arguments. These exact calldataMocks will take\n\t * precedence over all other calldataMocks.\n\t * @param calldata ABI encoded calldata (methodId and arguments)\n\t * @param response ABI encoded response that will be returned if contract is invoked with calldata\n\t */\n\tfunction givenCalldataReturn(bytes calldata, bytes response) external;\n\tfunction givenCalldataReturnBool(bytes calldata, bool response) external;\n\tfunction givenCalldataReturnUint(bytes calldata, uint response) external;\n\tfunction givenCalldataReturnAddress(bytes calldata, address response) external;\n\n\tfunction givenCalldataRevert(bytes calldata) external;\n\tfunction givenCalldataRevertWithMessage(bytes calldata, string message) external;\n\tfunction givenCalldataRunOutOfGas(bytes calldata) external;\n\n\t/**\n\t * @dev Returns the number of times anything has been called on this mock since last reset\n\t */\n\tfunction invocationCount() external returns (uint);\n\n\t/**\n\t * @dev Returns the number of times the given method has been called on this mock since last reset\n\t * @param method ABI encoded methodId. It is valid to pass full calldata (including arguments). The mock will extract the methodId from it\n\t */\n\tfunction invocationCountForMethod(bytes method) external returns (uint);\n\n\t/**\n\t * @dev Returns the number of times this mock has been called with the exact calldata since last reset.\n\t * @param calldata ABI encoded calldata (methodId and arguments)\n\t */\n\tfunction invocationCountForCalldata(bytes calldata) external returns (uint);\n\n\t/**\n\t * @dev Resets all mocked methods and invocation counts.\n\t */\n\t function reset() external;\n}\n\n/**\n * Implementation of the MockInterface.\n */\ncontract MockContract is MockInterface {\n\tenum MockType { Return, Revert, OutOfGas }\n\t\n\tbytes32 public constant MOCKS_LIST_START = hex\"01\";\n\tbytes public constant MOCKS_LIST_END = \"0xff\";\n\tbytes32 public constant MOCKS_LIST_END_HASH = keccak256(MOCKS_LIST_END);\n\tbytes4 public constant SENTINEL_ANY_MOCKS = hex\"01\";\n\n\t// A linked list allows easy iteration and inclusion checks\n\tmapping(bytes32 => bytes) calldataMocks;\n\tmapping(bytes => MockType) calldataMockTypes;\n\tmapping(bytes => bytes) calldataExpectations;\n\tmapping(bytes => string) calldataRevertMessage;\n\tmapping(bytes32 => uint) calldataInvocations;\n\n\tmapping(bytes4 => bytes4) methodIdMocks;\n\tmapping(bytes4 => MockType) methodIdMockTypes;\n\tmapping(bytes4 => bytes) methodIdExpectations;\n\tmapping(bytes4 => string) methodIdRevertMessages;\n\tmapping(bytes32 => uint) methodIdInvocations;\n\n\tMockType fallbackMockType;\n\tbytes fallbackExpectation;\n\tstring fallbackRevertMessage;\n\tuint invocations;\n\tuint resetCount;\n\n\tconstructor() public {\n\t\tcalldataMocks[MOCKS_LIST_START] = MOCKS_LIST_END;\n\t\tmethodIdMocks[SENTINEL_ANY_MOCKS] = SENTINEL_ANY_MOCKS;\n\t}\n\n\tfunction trackCalldataMock(bytes memory call) private {\n\t\tbytes32 callHash = keccak256(call);\n\t\tif (calldataMocks[callHash].length == 0) {\n\t\t\tcalldataMocks[callHash] = calldataMocks[MOCKS_LIST_START];\n\t\t\tcalldataMocks[MOCKS_LIST_START] = call;\n\t\t}\n\t}\n\n\tfunction trackMethodIdMock(bytes4 methodId) private {\n\t\tif (methodIdMocks[methodId] == 0x0) {\n\t\t\tmethodIdMocks[methodId] = methodIdMocks[SENTINEL_ANY_MOCKS];\n\t\t\tmethodIdMocks[SENTINEL_ANY_MOCKS] = methodId;\n\t\t}\n\t}\n\n\tfunction _givenAnyReturn(bytes response) internal {\n\t\tfallbackMockType = MockType.Return;\n\t\tfallbackExpectation = response;\n\t}\n\n\tfunction givenAnyReturn(bytes response) external {\n\t\t_givenAnyReturn(response);\n\t}\n\n\tfunction givenAnyReturnBool(bool response) external {\n\t\tuint flag = response ? 1 : 0;\n\t\t_givenAnyReturn(uintToBytes(flag));\n\t}\n\n\tfunction givenAnyReturnUint(uint response) external {\n\t\t_givenAnyReturn(uintToBytes(response));\t\n\t}\n\n\tfunction givenAnyReturnAddress(address response) external {\n\t\t_givenAnyReturn(addressToBytes(response));\n\t}\n\n\tfunction givenAnyRevert() external {\n\t\tfallbackMockType = MockType.Revert;\n\t\tfallbackRevertMessage = \"\";\n\t}\n\n\tfunction givenAnyRevertWithMessage(string message) external {\n\t\tfallbackMockType = MockType.Revert;\n\t\tfallbackRevertMessage = message;\n\t}\n\n\tfunction givenAnyRunOutOfGas() external {\n\t\tfallbackMockType = MockType.OutOfGas;\n\t}\n\n\tfunction _givenCalldataReturn(bytes call, bytes response) private {\n\t\tcalldataMockTypes[call] = MockType.Return;\n\t\tcalldataExpectations[call] = response;\n\t\ttrackCalldataMock(call);\n\t}\n\n\tfunction givenCalldataReturn(bytes call, bytes response) external {\n\t\t_givenCalldataReturn(call, response);\n\t}\n\n\tfunction givenCalldataReturnBool(bytes call, bool response) external {\n\t\tuint flag = response ? 1 : 0;\n\t\t_givenMethodReturn(call, uintToBytes(flag));\n\t}\n\n\tfunction givenCalldataReturnUint(bytes call, uint response) external {\n\t\t_givenMethodReturn(call, uintToBytes(response));\n\t}\n\n\tfunction givenCalldataReturnAddress(bytes call, address response) external {\n\t\t_givenMethodReturn(call, addressToBytes(response));\n\t}\n\n\tfunction _givenMethodReturn(bytes call, bytes response) private {\n\t\tbytes4 method = bytesToBytes4(call);\n\t\tmethodIdMockTypes[method] = MockType.Return;\n\t\tmethodIdExpectations[method] = response;\n\t\ttrackMethodIdMock(method);\t\t\n\t}\n\n\tfunction givenMethodReturn(bytes call, bytes response) external {\n\t\t_givenMethodReturn(call, response);\n\t}\n\n\tfunction givenMethodReturnBool(bytes call, bool response) external {\n\t\tuint flag = response ? 1 : 0;\n\t\t_givenMethodReturn(call, uintToBytes(flag));\n\t}\n\n\tfunction givenMethodReturnUint(bytes call, uint response) external {\n\t\t_givenMethodReturn(call, uintToBytes(response));\n\t}\n\n\tfunction givenMethodReturnAddress(bytes call, address response) external {\n\t\t_givenMethodReturn(call, addressToBytes(response));\n\t}\n\n\tfunction givenCalldataRevert(bytes call) external {\n\t\tcalldataMockTypes[call] = MockType.Revert;\n\t\tcalldataRevertMessage[call] = \"\";\n\t\ttrackCalldataMock(call);\n\t}\n\n\tfunction givenMethodRevert(bytes call) external {\n\t\tbytes4 method = bytesToBytes4(call);\n\t\tmethodIdMockTypes[method] = MockType.Revert;\n\t\ttrackMethodIdMock(method);\t\t\n\t}\n\n\tfunction givenCalldataRevertWithMessage(bytes call, string message) external {\n\t\tcalldataMockTypes[call] = MockType.Revert;\n\t\tcalldataRevertMessage[call] = message;\n\t\ttrackCalldataMock(call);\n\t}\n\n\tfunction givenMethodRevertWithMessage(bytes call, string message) external {\n\t\tbytes4 method = bytesToBytes4(call);\n\t\tmethodIdMockTypes[method] = MockType.Revert;\n\t\tmethodIdRevertMessages[method] = message;\n\t\ttrackMethodIdMock(method);\t\t\n\t}\n\n\tfunction givenCalldataRunOutOfGas(bytes call) external {\n\t\tcalldataMockTypes[call] = MockType.OutOfGas;\n\t\ttrackCalldataMock(call);\n\t}\n\n\tfunction givenMethodRunOutOfGas(bytes call) external {\n\t\tbytes4 method = bytesToBytes4(call);\n\t\tmethodIdMockTypes[method] = MockType.OutOfGas;\n\t\ttrackMethodIdMock(method);\t\n\t}\n\n\tfunction invocationCount() external returns (uint) {\n\t\treturn invocations;\n\t}\n\n\tfunction invocationCountForMethod(bytes call) external returns (uint) {\n\t\tbytes4 method = bytesToBytes4(call);\n\t\treturn methodIdInvocations[keccak256(abi.encodePacked(resetCount, method))];\n\t}\n\n\tfunction invocationCountForCalldata(bytes call) external returns (uint) {\n\t\treturn calldataInvocations[keccak256(abi.encodePacked(resetCount, call))];\n\t}\n\n\tfunction reset() external {\n\t\t// Reset all exact calldataMocks\n\t\tbytes memory nextMock = calldataMocks[MOCKS_LIST_START];\n\t\tbytes32 mockHash = keccak256(nextMock);\n\t\t// We cannot compary bytes\n\t\twhile(mockHash != MOCKS_LIST_END_HASH) {\n\t\t\t// Reset all mock maps\n\t\t\tcalldataMockTypes[nextMock] = MockType.Return;\n\t\t\tcalldataExpectations[nextMock] = hex\"\";\n\t\t\tcalldataRevertMessage[nextMock] = \"\";\n\t\t\t// Set next mock to remove\n\t\t\tnextMock = calldataMocks[mockHash];\n\t\t\t// Remove from linked list\n\t\t\tcalldataMocks[mockHash] = \"\";\n\t\t\t// Update mock hash\n\t\t\tmockHash = keccak256(nextMock);\n\t\t}\n\t\t// Clear list\n\t\tcalldataMocks[MOCKS_LIST_START] = MOCKS_LIST_END;\n\n\t\t// Reset all any calldataMocks\n\t\tbytes4 nextAnyMock = methodIdMocks[SENTINEL_ANY_MOCKS];\n\t\twhile(nextAnyMock != SENTINEL_ANY_MOCKS) {\n\t\t\tbytes4 currentAnyMock = nextAnyMock;\n\t\t\tmethodIdMockTypes[currentAnyMock] = MockType.Return;\n\t\t\tmethodIdExpectations[currentAnyMock] = hex\"\";\n\t\t\tmethodIdRevertMessages[currentAnyMock] = \"\";\n\t\t\tnextAnyMock = methodIdMocks[currentAnyMock];\n\t\t\t// Remove from linked list\n\t\t\tmethodIdMocks[currentAnyMock] = 0x0;\n\t\t}\n\t\t// Clear list\n\t\tmethodIdMocks[SENTINEL_ANY_MOCKS] = SENTINEL_ANY_MOCKS;\n\n\t\tfallbackExpectation = \"\";\n\t\tfallbackMockType = MockType.Return;\n\t\tinvocations = 0;\n\t\tresetCount += 1;\n\t}\n\n\tfunction useAllGas() private {\n\t\twhile(true) {\n\t\t\tbool s;\n\t\t\tassembly {\n\t\t\t\t//expensive call to EC multiply contract\n\t\t\t\ts := call(sub(gas, 2000), 6, 0, 0x0, 0xc0, 0x0, 0x60)\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction bytesToBytes4(bytes b) private pure returns (bytes4) {\n \t\tbytes4 out;\n \t\tfor (uint i = 0; i < 4; i++) {\n \t\tout |= bytes4(b[i] & 0xFF) >> (i * 8);\n \t\t}\n \t\treturn out;\n\t}\n\n\tfunction addressToBytes(address a) private pure returns (bytes b){\n \t\tassembly {\n \tlet m := mload(0x40)\n \tmstore(add(m, 20), xor(0x140000000000000000000000000000000000000000, a))\n \tmstore(0x40, add(m, 52))\n \tb := m\n \t\t}\n\t}\n\n\tfunction uintToBytes(uint256 x) private pure returns (bytes b) {\n \tb = new bytes(32);\n \tassembly { mstore(add(b, 32), x) }\n\t}\n\n\tfunction() payable external {\n\t\tbytes4 methodId;\n\t\tassembly {\n\t\t\tmethodId := calldataload(0)\n\t\t}\n\n\t\t// First, check exact matching overrides\n\t\tif (calldataMockTypes[msg.data] == MockType.Revert) {\n\t\t\trevert(calldataRevertMessage[msg.data]);\n\t\t}\n\t\tif (calldataMockTypes[msg.data] == MockType.OutOfGas) {\n\t\t\tuseAllGas();\n\t\t}\n\t\tbytes memory result = calldataExpectations[msg.data];\n\n\t\t// Then check method Id overrides\n\t\tif (result.length == 0) {\n\t\t\tif (methodIdMockTypes[methodId] == MockType.Revert) {\n\t\t\t\trevert(methodIdRevertMessages[methodId]);\n\t\t\t}\n\t\t\tif (methodIdMockTypes[methodId] == MockType.OutOfGas) {\n\t\t\t\tuseAllGas();\n\t\t\t}\n\t\t\tresult = methodIdExpectations[methodId];\n\t\t}\n\n\t\t// Last, use the fallback override\n\t\tif (result.length == 0) {\n\t\t\tif (fallbackMockType == MockType.Revert) {\n\t\t\t\trevert(fallbackRevertMessage);\n\t\t\t}\n\t\t\tif (fallbackMockType == MockType.OutOfGas) {\n\t\t\t\tuseAllGas();\n\t\t\t}\n\t\t\tresult = fallbackExpectation;\n\t\t}\n\n\t\t// Record invocation\n\t\tinvocations += 1;\n\t\tmethodIdInvocations[keccak256(abi.encodePacked(resetCount, methodId))] += 1;\n\t\tcalldataInvocations[keccak256(abi.encodePacked(resetCount, msg.data))] += 1;\n\n\t\tassembly {\n\t\t\treturn(add(0x20, result), mload(result))\n\t\t}\n\t}\n}\n",
|
|
"sourcePath": "@gnosis.pm/mock-contract/contracts/MockContract.sol",
|
|
"ast": {
|
|
"absolutePath": "@gnosis.pm/mock-contract/contracts/MockContract.sol",
|
|
"exportedSymbols": {
|
|
"MockContract": [
|
|
4000
|
|
],
|
|
"MockInterface": [
|
|
3021
|
|
]
|
|
},
|
|
"id": 4001,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 2877,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.4",
|
|
".23"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "0:24:25"
|
|
},
|
|
{
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "interface",
|
|
"documentation": null,
|
|
"fullyImplemented": false,
|
|
"id": 3021,
|
|
"linearizedBaseContracts": [
|
|
3021
|
|
],
|
|
"name": "MockInterface",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev After calling this method, the mock will return `response` when it is called\nwith any calldata that is not mocked more specifically below\n(e.g. using givenMethodReturn).\n@param response ABI encoded response that will be returned if method is invoked",
|
|
"id": 2882,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2880,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2879,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2882,
|
|
"src": "358:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2878,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "358:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "357:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2881,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "382:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "334:49:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2887,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2885,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2884,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2887,
|
|
"src": "413:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2883,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "413:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "412:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2886,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "436:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "385:52:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2892,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2890,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2889,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2892,
|
|
"src": "467:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2888,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "467:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "466:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2891,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "490:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "439:52:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2897,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2895,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2894,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2897,
|
|
"src": "524:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2893,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "524:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "523:18:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2896,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "550:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "493:58:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2900,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2898,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "577:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2899,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "588:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "554:35:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2905,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2903,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2902,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2905,
|
|
"src": "626:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2901,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "626:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "625:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2904,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "650:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "591:60:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2908,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2906,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "681:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2907,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "692:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "653:40:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev After calling this method, the mock will return `response` when the given\nmethodId is called regardless of arguments. If the methodId and arguments\nare mocked more specifically (using `givenMethodAndArguments`) the latter\nwill take precedence.\n@param method ABI encoded methodId. It is valid to pass full calldata (including arguments). The mock will extract the methodId from it\n@param response ABI encoded response that will be returned if method is invoked",
|
|
"id": 2915,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2913,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2910,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2915,
|
|
"src": "1222:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2909,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1222:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2912,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2915,
|
|
"src": "1236:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2911,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1236:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1221:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2914,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1260:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1195:66:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2922,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2920,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2917,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2922,
|
|
"src": "1294:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2916,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1294:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2919,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2922,
|
|
"src": "1308:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2918,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1308:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1293:29:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2921,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1331:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1263:69:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2929,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2927,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2924,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2929,
|
|
"src": "1365:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2923,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1365:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2926,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2929,
|
|
"src": "1379:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2925,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1379:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1364:29:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2928,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1402:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1334:69:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2936,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2934,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2931,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2936,
|
|
"src": "1439:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2930,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1439:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2933,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2936,
|
|
"src": "1453:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2932,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1453:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1438:32:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2935,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1479:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1405:75:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2941,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2939,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2938,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2941,
|
|
"src": "1510:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2937,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1510:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1509:14:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2940,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1532:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1483:50:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2948,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2946,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2943,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2948,
|
|
"src": "1573:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2942,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1573:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2945,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2948,
|
|
"src": "1587:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2944,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1587:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1572:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2947,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1611:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1535:77:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2953,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2951,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2950,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2953,
|
|
"src": "1646:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2949,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1646:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1645:14:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2952,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1668:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1614:55:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev After calling this method, the mock will return `response` when the given\nmethodId is called with matching arguments. These exact calldataMocks will take\nprecedence over all other calldataMocks.\n@param calldata ABI encoded calldata (methodId and arguments)\n@param response ABI encoded response that will be returned if contract is invoked with calldata",
|
|
"id": 2960,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2958,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2955,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2960,
|
|
"src": "2089:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2954,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2089:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2957,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2960,
|
|
"src": "2105:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2956,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2105:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2088:32:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2959,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2129:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2060:70:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2967,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2965,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2962,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2967,
|
|
"src": "2165:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2961,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2165:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2964,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2967,
|
|
"src": "2181:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2963,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2181:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2164:31:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2966,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2204:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2132:73:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2974,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2972,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2969,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2974,
|
|
"src": "2240:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2968,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2240:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2971,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2974,
|
|
"src": "2256:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2970,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2256:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2239:31:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2973,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2279:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2207:73:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2981,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2979,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2976,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2981,
|
|
"src": "2318:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2975,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2318:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2978,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2981,
|
|
"src": "2334:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2977,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2334:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2317:34:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2980,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2360:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2282:79:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2986,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2984,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2983,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2986,
|
|
"src": "2393:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2982,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2393:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2392:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2985,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2417:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2364:54:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2993,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2991,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2988,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2993,
|
|
"src": "2460:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2987,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2460:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2990,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2993,
|
|
"src": "2476:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2989,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2476:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2459:32:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2992,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2500:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2420:81:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2998,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2996,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2995,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2998,
|
|
"src": "2537:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2994,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2537:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2536:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2997,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2561:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2503:59:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Returns the number of times anything has been called on this mock since last reset",
|
|
"id": 3003,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCount",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2999,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2691:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3002,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3001,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3003,
|
|
"src": "2712:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3000,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2712:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2711:6:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2667:51:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Returns the number of times the given method has been called on this mock since last reset\n@param method ABI encoded methodId. It is valid to pass full calldata (including arguments). The mock will extract the methodId from it",
|
|
"id": 3010,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForMethod",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3006,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3005,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3010,
|
|
"src": "3005:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3004,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3005:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3004:14:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3009,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3008,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3010,
|
|
"src": "3037:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3007,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3037:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3036:6:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2971:72:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Returns the number of times this mock has been called with the exact calldata since last reset.\n@param calldata ABI encoded calldata (methodId and arguments)",
|
|
"id": 3017,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForCalldata",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3013,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3012,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3017,
|
|
"src": "3263:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3011,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3263:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3262:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3016,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3015,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3017,
|
|
"src": "3297:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3014,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3297:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3296:6:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "3227:76:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Resets all mocked methods and invocation counts.",
|
|
"id": 3020,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "reset",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3018,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3389:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3019,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3400:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "3375:26:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 4001,
|
|
"src": "26:3377:25"
|
|
},
|
|
{
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 3022,
|
|
"name": "MockInterface",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3021,
|
|
"src": "3478:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_MockInterface_$3021",
|
|
"typeString": "contract MockInterface"
|
|
}
|
|
},
|
|
"id": 3023,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "3478:13:25"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
3021
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": "Implementation of the MockInterface.",
|
|
"fullyImplemented": true,
|
|
"id": 4000,
|
|
"linearizedBaseContracts": [
|
|
4000,
|
|
3021
|
|
],
|
|
"name": "MockContract",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"canonicalName": "MockContract.MockType",
|
|
"id": 3027,
|
|
"members": [
|
|
{
|
|
"id": 3024,
|
|
"name": "Return",
|
|
"nodeType": "EnumValue",
|
|
"src": "3511:6:25"
|
|
},
|
|
{
|
|
"id": 3025,
|
|
"name": "Revert",
|
|
"nodeType": "EnumValue",
|
|
"src": "3519:6:25"
|
|
},
|
|
{
|
|
"id": 3026,
|
|
"name": "OutOfGas",
|
|
"nodeType": "EnumValue",
|
|
"src": "3527:8:25"
|
|
}
|
|
],
|
|
"name": "MockType",
|
|
"nodeType": "EnumDefinition",
|
|
"src": "3495:42:25"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3030,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3541:50:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3028,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3541:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "01",
|
|
"id": 3029,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3584:7:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2",
|
|
"typeString": "literal_string \"\u0001\""
|
|
},
|
|
"value": "\u0001"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3033,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3594:45:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3031,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3594:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30786666",
|
|
"id": 3032,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3633:6:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_420daffad4b177bce28bead5f76f7bc97ef63c3aae74c496db8ce6aafe9e6513",
|
|
"typeString": "literal_string \"0xff\""
|
|
},
|
|
"value": "0xff"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3038,
|
|
"name": "MOCKS_LIST_END_HASH",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3642:71:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3034,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3642:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3036,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3033,
|
|
"src": "3698:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3035,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "3688:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3037,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3688:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3041,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3716:51:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3039,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3716:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "01",
|
|
"id": 3040,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3760:7:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2",
|
|
"typeString": "literal_string \"\u0001\""
|
|
},
|
|
"value": "\u0001"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3045,
|
|
"name": "calldataMocks",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3832:39:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes)"
|
|
},
|
|
"typeName": {
|
|
"id": 3044,
|
|
"keyType": {
|
|
"id": 3042,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3840:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3832:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes)"
|
|
},
|
|
"valueType": {
|
|
"id": 3043,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3851:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3049,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3874:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes => enum MockContract.MockType)"
|
|
},
|
|
"typeName": {
|
|
"id": 3048,
|
|
"keyType": {
|
|
"id": 3046,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3882:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3874:26:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes => enum MockContract.MockType)"
|
|
},
|
|
"valueType": {
|
|
"contractScope": null,
|
|
"id": 3047,
|
|
"name": "MockType",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3027,
|
|
"src": "3891:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3053,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3921:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes => bytes)"
|
|
},
|
|
"typeName": {
|
|
"id": 3052,
|
|
"keyType": {
|
|
"id": 3050,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3929:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3921:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes => bytes)"
|
|
},
|
|
"valueType": {
|
|
"id": 3051,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3938:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3057,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3968:46:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes => string)"
|
|
},
|
|
"typeName": {
|
|
"id": 3056,
|
|
"keyType": {
|
|
"id": 3054,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3976:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3968:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes => string)"
|
|
},
|
|
"valueType": {
|
|
"id": 3055,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3985:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3061,
|
|
"name": "calldataInvocations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4017:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3060,
|
|
"keyType": {
|
|
"id": 3058,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4025:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4017:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 3059,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4036:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3065,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4065:39:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
},
|
|
"typeName": {
|
|
"id": 3064,
|
|
"keyType": {
|
|
"id": 3062,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4073:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4065:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
},
|
|
"valueType": {
|
|
"id": 3063,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4083:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3069,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4107:45:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
},
|
|
"typeName": {
|
|
"id": 3068,
|
|
"keyType": {
|
|
"id": 3066,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4115:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4107:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
},
|
|
"valueType": {
|
|
"contractScope": null,
|
|
"id": 3067,
|
|
"name": "MockType",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3027,
|
|
"src": "4125:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3073,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4155:45:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes)"
|
|
},
|
|
"typeName": {
|
|
"id": 3072,
|
|
"keyType": {
|
|
"id": 3070,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4163:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4155:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes)"
|
|
},
|
|
"valueType": {
|
|
"id": 3071,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4173:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3077,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4203:48:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string)"
|
|
},
|
|
"typeName": {
|
|
"id": 3076,
|
|
"keyType": {
|
|
"id": 3074,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4211:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4203:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string)"
|
|
},
|
|
"valueType": {
|
|
"id": 3075,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4221:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3081,
|
|
"name": "methodIdInvocations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4254:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3080,
|
|
"keyType": {
|
|
"id": 3078,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4262:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4254:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 3079,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4273:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3083,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4302:25:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3082,
|
|
"name": "MockType",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3027,
|
|
"src": "4302:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3085,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4330:25:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3084,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4330:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3087,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4358:28:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3086,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4358:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3089,
|
|
"name": "invocations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4389:16:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3088,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4389:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3091,
|
|
"name": "resetCount",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4408:15:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3090,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4408:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3106,
|
|
"nodeType": "Block",
|
|
"src": "4448:114:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3098,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3094,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4452:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3096,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3095,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "4466:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4452:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3097,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3033,
|
|
"src": "4486:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "4452:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3099,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4452:48:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3104,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3100,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4504:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3102,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3101,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4518:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4504:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3103,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4540:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "4504:54:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3105,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4504:54:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3107,
|
|
"implemented": true,
|
|
"isConstructor": true,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3092,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4438:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3093,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4448:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "4427:135:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3140,
|
|
"nodeType": "Block",
|
|
"src": "4619:196:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3113
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3113,
|
|
"name": "callHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3141,
|
|
"src": "4623:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3112,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4623:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3117,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3115,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3109,
|
|
"src": "4652:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3114,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "4642:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3116,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4642:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "4623:34:25"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3123,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3118,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4665:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3120,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3119,
|
|
"name": "callHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3113,
|
|
"src": "4679:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4665:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3121,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4665:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3122,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4699:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "4665:35:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3139,
|
|
"nodeType": "IfStatement",
|
|
"src": "4661:151:25",
|
|
"trueBody": {
|
|
"id": 3138,
|
|
"nodeType": "Block",
|
|
"src": "4702:110:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3130,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3124,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4707:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3126,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3125,
|
|
"name": "callHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3113,
|
|
"src": "4721:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4707:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3127,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4733:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3129,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3128,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "4747:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4733:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "4707:57:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3131,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4707:57:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3136,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3132,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4769:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3134,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3133,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "4783:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4769:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3135,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3109,
|
|
"src": "4803:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "4769:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3137,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4769:38:25"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3141,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3110,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3109,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3141,
|
|
"src": "4592:17:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3108,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4592:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4591:19:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3111,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4619:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "4565:250:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3167,
|
|
"nodeType": "Block",
|
|
"src": "4870:161:25",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 3150,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3146,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4878:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3148,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3147,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3143,
|
|
"src": "4892:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4878:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307830",
|
|
"id": 3149,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4905:3:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0x0"
|
|
},
|
|
"src": "4878:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3166,
|
|
"nodeType": "IfStatement",
|
|
"src": "4874:154:25",
|
|
"trueBody": {
|
|
"id": 3165,
|
|
"nodeType": "Block",
|
|
"src": "4910:118:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3157,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3151,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4915:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3153,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3152,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3143,
|
|
"src": "4929:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4915:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3154,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4941:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3156,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3155,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4955:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4941:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "4915:59:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3158,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4915:59:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3163,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3159,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4979:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3161,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3160,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4993:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4979:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3162,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3143,
|
|
"src": "5015:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "4979:44:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3164,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4979:44:25"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3168,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3144,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3143,
|
|
"name": "methodId",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3168,
|
|
"src": "4845:15:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3142,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4845:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4844:17:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3145,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4870:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "4818:213:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3182,
|
|
"nodeType": "Block",
|
|
"src": "5084:76:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3176,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3173,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5088:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3174,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5107:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3175,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5107:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5088:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3177,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5088:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3180,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3178,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3085,
|
|
"src": "5126:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3179,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3170,
|
|
"src": "5148:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "5126:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3181,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5126:30:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3183,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3171,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3170,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3183,
|
|
"src": "5059:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3169,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5059:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5058:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3172,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5084:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5034:126:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3192,
|
|
"nodeType": "Block",
|
|
"src": "5212:33:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3189,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3185,
|
|
"src": "5232:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3188,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5216:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3190,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5216:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3191,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5216:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3193,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3186,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3185,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3193,
|
|
"src": "5187:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3184,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5187:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5186:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3187,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5212:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5163:82:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2882,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3211,
|
|
"nodeType": "Block",
|
|
"src": "5300:74:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3199
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3199,
|
|
"name": "flag",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3212,
|
|
"src": "5304:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3198,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5304:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3204,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3200,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3195,
|
|
"src": "5316:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3202,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5331:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"id": 3203,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "5316:16:25",
|
|
"trueExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3201,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5327:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "5304:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3207,
|
|
"name": "flag",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3199,
|
|
"src": "5364:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3206,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "5352:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3208,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5352:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3205,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5336:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3209,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5336:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3210,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5336:34:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3212,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3196,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3195,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3212,
|
|
"src": "5276:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3194,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5276:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5275:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3197,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5300:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5248:126:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2887,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3223,
|
|
"nodeType": "Block",
|
|
"src": "5429:47:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3219,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3214,
|
|
"src": "5461:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3218,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "5449:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3220,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5449:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3217,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5433:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3221,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5433:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3222,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5433:38:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3224,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3215,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3214,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3224,
|
|
"src": "5405:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3213,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5405:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5404:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3216,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5429:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5377:99:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2892,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3235,
|
|
"nodeType": "Block",
|
|
"src": "5537:49:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3231,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3226,
|
|
"src": "5572:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3230,
|
|
"name": "addressToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3844,
|
|
"src": "5557:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (address) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3232,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5557:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3229,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5541:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3233,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5541:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3234,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5541:41:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3236,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3227,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3226,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3236,
|
|
"src": "5510:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3225,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5510:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5509:18:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3228,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5537:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5479:107:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2897,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3248,
|
|
"nodeType": "Block",
|
|
"src": "5624:72:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3242,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3239,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5628:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3240,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5647:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3241,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5647:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5628:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3243,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5628:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3246,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3244,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3087,
|
|
"src": "5666:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3245,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5690:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "5666:26:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3247,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5666:26:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3249,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3237,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5612:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3238,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5624:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5589:107:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2900,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3263,
|
|
"nodeType": "Block",
|
|
"src": "5759:77:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3257,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3254,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5763:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3255,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5782:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3256,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5782:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5763:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3258,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5763:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3261,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3259,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3087,
|
|
"src": "5801:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3260,
|
|
"name": "message",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3251,
|
|
"src": "5825:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string calldata"
|
|
}
|
|
},
|
|
"src": "5801:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3262,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5801:31:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3264,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3252,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3251,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3264,
|
|
"src": "5734:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3250,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5734:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5733:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3253,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5759:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5699:137:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2905,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3272,
|
|
"nodeType": "Block",
|
|
"src": "5879:44:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3270,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3267,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5883:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3268,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5902:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3269,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5902:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5883:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3271,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5883:36:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3273,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3265,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5867:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3266,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5879:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5839:84:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2908,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3297,
|
|
"nodeType": "Block",
|
|
"src": "5993:117:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3285,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3280,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "5997:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3282,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3281,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3275,
|
|
"src": "6015:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5997:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3283,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "6023:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3284,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "6023:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5997:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3286,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5997:41:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3291,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3287,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3053,
|
|
"src": "6042:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes memory => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3289,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3288,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3275,
|
|
"src": "6063:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "6042:26:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3290,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3277,
|
|
"src": "6071:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "6042:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3292,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6042:37:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3294,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3275,
|
|
"src": "6101:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3293,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "6083:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3295,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6083:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3296,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6083:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3298,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "_givenCalldataReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3278,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3275,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3298,
|
|
"src": "5956:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3274,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5956:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3277,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3298,
|
|
"src": "5968:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3276,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5968:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5955:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3279,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5993:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5926:184:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3310,
|
|
"nodeType": "Block",
|
|
"src": "6180:44:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3306,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3300,
|
|
"src": "6205:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3307,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3302,
|
|
"src": "6211:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3305,
|
|
"name": "_givenCalldataReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3298,
|
|
"src": "6184:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3308,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6184:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3309,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6184:36:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3311,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3303,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3300,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3311,
|
|
"src": "6142:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3299,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6142:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3302,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3311,
|
|
"src": "6154:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3301,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6154:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6141:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3304,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6180:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6113:111:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2960,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3332,
|
|
"nodeType": "Block",
|
|
"src": "6296:83:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3319
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3319,
|
|
"name": "flag",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3333,
|
|
"src": "6300:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3318,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6300:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3324,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3320,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3315,
|
|
"src": "6312:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3322,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "6327:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"id": 3323,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "6312:16:25",
|
|
"trueExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3321,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "6323:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "6300:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3326,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3313,
|
|
"src": "6351:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3328,
|
|
"name": "flag",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3319,
|
|
"src": "6369:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3327,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "6357:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3329,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6357:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3325,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6332:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3330,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6332:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3331,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6332:43:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3333,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3316,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3313,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3333,
|
|
"src": "6260:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3312,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6260:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3315,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3333,
|
|
"src": "6272:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3314,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6272:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6259:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3317,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6296:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6227:152:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2967,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3347,
|
|
"nodeType": "Block",
|
|
"src": "6451:55:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3341,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3335,
|
|
"src": "6474:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3343,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3337,
|
|
"src": "6492:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3342,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "6480:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3344,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6480:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3340,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6455:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3345,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6455:47:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3346,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6455:47:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3348,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3338,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3335,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3348,
|
|
"src": "6415:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3334,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6415:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3337,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3348,
|
|
"src": "6427:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3336,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6427:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6414:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3339,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6451:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6382:124:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2974,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3362,
|
|
"nodeType": "Block",
|
|
"src": "6584:58:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3356,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3350,
|
|
"src": "6607:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3358,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3352,
|
|
"src": "6628:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3357,
|
|
"name": "addressToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3844,
|
|
"src": "6613:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (address) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3359,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6613:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3355,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6588:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3360,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6588:50:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3361,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6588:50:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3363,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3353,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3350,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3363,
|
|
"src": "6545:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3349,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6545:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3352,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3363,
|
|
"src": "6557:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3351,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6557:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6544:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3354,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6584:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6509:133:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2981,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3393,
|
|
"nodeType": "Block",
|
|
"src": "6709:164:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3371
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3371,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3394,
|
|
"src": "6713:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3370,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6713:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3375,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3373,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3365,
|
|
"src": "6743:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3372,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "6729:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3374,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6729:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "6713:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3381,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3376,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "6752:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3378,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3377,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3371,
|
|
"src": "6770:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "6752:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3379,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "6780:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3380,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "6780:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "6752:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3382,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6752:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3387,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3383,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3073,
|
|
"src": "6799:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3385,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3384,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3371,
|
|
"src": "6820:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "6799:28:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3386,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3367,
|
|
"src": "6830:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "6799:39:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3388,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6799:39:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3390,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3371,
|
|
"src": "6860:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3389,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "6842:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3391,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6842:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3392,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6842:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3394,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3368,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3365,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3394,
|
|
"src": "6673:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3364,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6673:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3367,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3394,
|
|
"src": "6685:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3366,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6685:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6672:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3369,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6709:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6645:228:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3406,
|
|
"nodeType": "Block",
|
|
"src": "6940:42:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3402,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3396,
|
|
"src": "6963:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3403,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3398,
|
|
"src": "6969:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3401,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6944:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3404,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6944:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3405,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6944:34:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3407,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3399,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3396,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3407,
|
|
"src": "6903:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3395,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6903:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3398,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3407,
|
|
"src": "6915:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3397,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6915:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6902:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3400,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6940:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6876:106:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2915,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3428,
|
|
"nodeType": "Block",
|
|
"src": "7052:83:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3415
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3415,
|
|
"name": "flag",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3429,
|
|
"src": "7056:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3414,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7056:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3420,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3416,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3411,
|
|
"src": "7068:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3418,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "7083:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"id": 3419,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "7068:16:25",
|
|
"trueExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3417,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "7079:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "7056:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3422,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3409,
|
|
"src": "7107:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3424,
|
|
"name": "flag",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3415,
|
|
"src": "7125:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3423,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "7113:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3425,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7113:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3421,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "7088:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3426,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7088:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3427,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7088:43:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3429,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3412,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3409,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3429,
|
|
"src": "7016:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3408,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7016:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3411,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3429,
|
|
"src": "7028:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3410,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7028:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7015:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3413,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7052:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6985:150:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2922,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3443,
|
|
"nodeType": "Block",
|
|
"src": "7205:55:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3437,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3431,
|
|
"src": "7228:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3439,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3433,
|
|
"src": "7246:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3438,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "7234:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3440,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7234:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3436,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "7209:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3441,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7209:47:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3442,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7209:47:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3444,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3434,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3431,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3444,
|
|
"src": "7169:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3430,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7169:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3433,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3444,
|
|
"src": "7181:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3432,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7181:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7168:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3435,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7205:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7138:122:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2929,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3458,
|
|
"nodeType": "Block",
|
|
"src": "7336:58:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3452,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3446,
|
|
"src": "7359:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3454,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3448,
|
|
"src": "7380:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3453,
|
|
"name": "addressToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3844,
|
|
"src": "7365:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (address) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3455,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7365:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3451,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "7340:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3456,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7340:50:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3457,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7340:50:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3459,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3449,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3446,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3459,
|
|
"src": "7297:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3445,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7297:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3448,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3459,
|
|
"src": "7309:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3447,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7309:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7296:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3450,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7336:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7263:131:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2936,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3481,
|
|
"nodeType": "Block",
|
|
"src": "7447:112:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3469,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3464,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "7451:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3466,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3465,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3461,
|
|
"src": "7469:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7451:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3467,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "7477:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3468,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "7477:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "7451:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3470,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7451:41:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3475,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3471,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "7496:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3473,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3472,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3461,
|
|
"src": "7518:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7496:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3474,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "7526:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "7496:32:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3476,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7496:32:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3478,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3461,
|
|
"src": "7550:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3477,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "7532:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3479,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7532:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3480,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7532:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3482,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3462,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3461,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3482,
|
|
"src": "7426:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3460,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7426:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7425:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3463,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7447:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7397:162:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2986,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3504,
|
|
"nodeType": "Block",
|
|
"src": "7610:121:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3488
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3488,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3505,
|
|
"src": "7614:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3487,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7614:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3492,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3490,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3484,
|
|
"src": "7644:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3489,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "7630:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3491,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7630:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "7614:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3498,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3493,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "7653:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3495,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3494,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3488,
|
|
"src": "7671:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7653:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3496,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "7681:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3497,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "7681:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "7653:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3499,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7653:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3501,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3488,
|
|
"src": "7718:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3500,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "7700:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3502,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7700:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3503,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7700:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3505,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3485,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3484,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3505,
|
|
"src": "7589:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3483,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7589:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7588:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3486,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7610:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7562:169:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2941,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3529,
|
|
"nodeType": "Block",
|
|
"src": "7811:117:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3517,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3512,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "7815:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3514,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3513,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3507,
|
|
"src": "7833:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7815:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3515,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "7841:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3516,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "7841:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "7815:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3518,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7815:41:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3523,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3519,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "7860:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3521,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3520,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3507,
|
|
"src": "7882:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7860:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3522,
|
|
"name": "message",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3509,
|
|
"src": "7890:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string calldata"
|
|
}
|
|
},
|
|
"src": "7860:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3524,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7860:37:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3526,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3507,
|
|
"src": "7919:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3525,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "7901:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3527,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7901:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3528,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7901:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3530,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3510,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3507,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3530,
|
|
"src": "7774:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3506,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7774:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3509,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3530,
|
|
"src": "7786:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3508,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7786:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7773:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3511,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7811:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7734:194:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2993,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3560,
|
|
"nodeType": "Block",
|
|
"src": "8006:165:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3538
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3538,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3561,
|
|
"src": "8010:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3537,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8010:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3542,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3540,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3532,
|
|
"src": "8040:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3539,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "8026:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3541,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8026:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8010:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3548,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3543,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "8049:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3545,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3544,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3538,
|
|
"src": "8067:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8049:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3546,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "8077:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3547,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8077:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "8049:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3549,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8049:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3554,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3550,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3077,
|
|
"src": "8096:22:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3552,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3551,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3538,
|
|
"src": "8119:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8096:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3553,
|
|
"name": "message",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3534,
|
|
"src": "8129:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string calldata"
|
|
}
|
|
},
|
|
"src": "8096:40:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3555,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8096:40:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3557,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3538,
|
|
"src": "8158:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3556,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "8140:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3558,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8140:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3559,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8140:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3561,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3535,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3532,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3561,
|
|
"src": "7969:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3531,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7969:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3534,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3561,
|
|
"src": "7981:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3533,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7981:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7968:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3536,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8006:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7931:240:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2948,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3577,
|
|
"nodeType": "Block",
|
|
"src": "8229:78:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3571,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3566,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "8233:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3568,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3567,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3563,
|
|
"src": "8251:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8233:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3569,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "8259:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3570,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8259:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "8233:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3572,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8233:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3574,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3563,
|
|
"src": "8298:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3573,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "8280:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3575,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8280:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3576,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8280:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3578,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3564,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3563,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3578,
|
|
"src": "8208:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3562,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8208:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8207:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3565,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8229:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8174:133:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2998,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3600,
|
|
"nodeType": "Block",
|
|
"src": "8363:122:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3584
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3584,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3601,
|
|
"src": "8367:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3583,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8367:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3588,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3586,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3580,
|
|
"src": "8397:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3585,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "8383:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8383:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8367:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3594,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3589,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "8406:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3591,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3590,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3584,
|
|
"src": "8424:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8406:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3592,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "8434:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8434:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "8406:45:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3595,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8406:45:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3597,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3584,
|
|
"src": "8473:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3596,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "8455:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3598,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8455:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3599,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8455:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3601,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3581,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3580,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3601,
|
|
"src": "8342:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3579,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8342:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8341:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3582,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8363:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8310:175:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2953,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3608,
|
|
"nodeType": "Block",
|
|
"src": "8539:26:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3606,
|
|
"name": "invocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3089,
|
|
"src": "8550:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3605,
|
|
"id": 3607,
|
|
"nodeType": "Return",
|
|
"src": "8543:18:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3609,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCount",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3602,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8512:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3605,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3604,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3609,
|
|
"src": "8533:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3603,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8533:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8532:6:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8488:77:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3003,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3632,
|
|
"nodeType": "Block",
|
|
"src": "8638:122:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3617
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3617,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3633,
|
|
"src": "8642:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3616,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8642:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3621,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3619,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3611,
|
|
"src": "8672:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3618,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "8658:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3620,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8658:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8642:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3622,
|
|
"name": "methodIdInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3081,
|
|
"src": "8688:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3630,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3626,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "8735:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3627,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3617,
|
|
"src": "8747:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3624,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "8718:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3625,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8718:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8718:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3623,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "8708:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8708:47:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8688:68:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3615,
|
|
"id": 3631,
|
|
"nodeType": "Return",
|
|
"src": "8681:75:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3633,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForMethod",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3612,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3611,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3633,
|
|
"src": "8602:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3610,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8602:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8601:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3615,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3614,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3633,
|
|
"src": "8632:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3613,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8632:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8631:6:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8568:192:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3010,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3650,
|
|
"nodeType": "Block",
|
|
"src": "8835:81:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3640,
|
|
"name": "calldataInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3061,
|
|
"src": "8846:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3648,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3644,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "8893:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3645,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3635,
|
|
"src": "8905:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3642,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "8876:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3643,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8876:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3646,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8876:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3641,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "8866:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3647,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8866:45:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8846:66:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3639,
|
|
"id": 3649,
|
|
"nodeType": "Return",
|
|
"src": "8839:73:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3651,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForCalldata",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3636,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3635,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3651,
|
|
"src": "8799:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3634,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8799:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8798:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3639,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3638,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3651,
|
|
"src": "8829:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3637,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8829:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8828:6:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8763:153:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3017,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3783,
|
|
"nodeType": "Block",
|
|
"src": "8945:1265:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3655
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3655,
|
|
"name": "nextMock",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "8984:21:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3654,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8984:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3659,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3656,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9008:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3658,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3657,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "9022:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9008:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8984:55:25"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3661
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3661,
|
|
"name": "mockHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "9043:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3660,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9043:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3665,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3663,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9072:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3662,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "9062:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9062:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "9043:38:25"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3706,
|
|
"nodeType": "Block",
|
|
"src": "9153:355:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3674,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3669,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "9184:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3671,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3670,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9202:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9184:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3672,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "9214:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "9214:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "9184:45:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3675,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9184:45:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3680,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3676,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3053,
|
|
"src": "9234:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes memory => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3678,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3677,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9255:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9234:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3679,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9267:5:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9234:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3681,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9234:38:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3686,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3682,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "9277:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3684,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3683,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9299:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9277:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3685,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9311:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9277:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3687,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9277:36:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3692,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3688,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9348:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3689,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9359:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3691,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3690,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9373:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9359:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "9348:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3693,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9348:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3698,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3694,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9417:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3696,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3695,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9431:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9417:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3697,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9443:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9417:28:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3699,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9417:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3704,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3700,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9473:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3702,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9494:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3701,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "9484:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3703,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9484:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "9473:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 3705,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9473:30:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"id": 3668,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3666,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9120:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3667,
|
|
"name": "MOCKS_LIST_END_HASH",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3038,
|
|
"src": "9132:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "9120:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 3707,
|
|
"nodeType": "WhileStatement",
|
|
"src": "9114:394:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3712,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3708,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9527:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3710,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3709,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "9541:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9527:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3711,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3033,
|
|
"src": "9561:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "9527:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3713,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9527:48:25"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3715
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3715,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "9613:18:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3714,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9613:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3719,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3716,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "9634:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3718,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3717,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "9648:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9634:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "9613:54:25"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3758,
|
|
"nodeType": "Block",
|
|
"src": "9712:316:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3724
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3724,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "9717:21:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3723,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9717:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3726,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"id": 3725,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3715,
|
|
"src": "9741:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "9717:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3732,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3727,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "9757:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3729,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3728,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9775:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9757:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3730,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "9793:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3731,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "9793:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "9757:51:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3733,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9757:51:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3738,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3734,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3073,
|
|
"src": "9813:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3736,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3735,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9834:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9813:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3737,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9852:5:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9813:44:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3739,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9813:44:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3744,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3740,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3077,
|
|
"src": "9862:22:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3742,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3741,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9885:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9862:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3743,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9903:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9862:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3745,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9862:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3750,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3746,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3715,
|
|
"src": "9910:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3747,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "9924:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3749,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3748,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9938:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9924:29:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "9910:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3751,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9910:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3756,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3752,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "9988:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3754,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3753,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "10002:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9988:29:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307830",
|
|
"id": 3755,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10020:3:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0x0"
|
|
},
|
|
"src": "9988:35:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3757,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9988:35:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 3722,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3720,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3715,
|
|
"src": "9677:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3721,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "9692:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "9677:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 3759,
|
|
"nodeType": "WhileStatement",
|
|
"src": "9671:357:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3764,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3760,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "10047:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3762,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3761,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "10061:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "10047:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3763,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "10083:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "10047:54:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3765,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10047:54:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3768,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3766,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3085,
|
|
"src": "10106:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3767,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10128:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "10106:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3769,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10106:24:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3770,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "10134:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3771,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "10153:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3772,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "10153:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "10134:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3774,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10134:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3777,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3775,
|
|
"name": "invocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3089,
|
|
"src": "10172:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3776,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10186:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "10172:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3778,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10172:15:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3781,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3779,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "10191:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3780,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10205:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "10191:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3782,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10191:15:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3784,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "reset",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3652,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8933:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3653,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8945:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8919:1291:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3020,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3794,
|
|
"nodeType": "Block",
|
|
"src": "10242:157:25",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"id": 3792,
|
|
"nodeType": "Block",
|
|
"src": "10258:138:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3789,
|
|
"name": "s",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3795,
|
|
"src": "10263:6:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3788,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10263:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3790,
|
|
"initialValue": null,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "10263:6:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"s": {
|
|
"declaration": 3789,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10334:1:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3791,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n s := call(sub(gas(), 2000), 6, 0, 0x0, 0xc0, 0x0, 0x60)\n}",
|
|
"src": "10274:122:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 3787,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10252:4:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"id": 3793,
|
|
"nodeType": "WhileStatement",
|
|
"src": "10246:150:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3795,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "useAllGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3785,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "10231:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3786,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "10242:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10213:186:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3834,
|
|
"nodeType": "Block",
|
|
"src": "10464:122:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3803,
|
|
"name": "out",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10470:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3802,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10470:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3804,
|
|
"initialValue": null,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "10470:10:25"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3830,
|
|
"nodeType": "Block",
|
|
"src": "10515:52:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3828,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3815,
|
|
"name": "out",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3803,
|
|
"src": "10523:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "|=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 3827,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
},
|
|
"id": 3821,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3817,
|
|
"name": "b",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3797,
|
|
"src": "10537:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3819,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3818,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10539:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "10537:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30784646",
|
|
"id": 3820,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10544:4:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_255_by_1",
|
|
"typeString": "int_const 255"
|
|
},
|
|
"value": "0xFF"
|
|
},
|
|
"src": "10537:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
],
|
|
"id": 3816,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "10530:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes4_$",
|
|
"typeString": "type(bytes4)"
|
|
},
|
|
"typeName": "bytes4"
|
|
},
|
|
"id": 3822,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10530:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">>",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"components": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3825,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3823,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10554:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "*",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "38",
|
|
"id": 3824,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10558:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_8_by_1",
|
|
"typeString": "int_const 8"
|
|
},
|
|
"value": "8"
|
|
},
|
|
"src": "10554:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"id": 3826,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "10553:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "10530:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "10523:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3829,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10523:37:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3811,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3809,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10503:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "34",
|
|
"id": 3810,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10507:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_4_by_1",
|
|
"typeString": "int_const 4"
|
|
},
|
|
"value": "4"
|
|
},
|
|
"src": "10503:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 3831,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
3806
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3806,
|
|
"name": "i",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10491:6:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3805,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10491:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3808,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3807,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10500:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "10491:10:25"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3813,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "10510:3:25",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3812,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10510:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3814,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10510:3:25"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "10486:81:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3832,
|
|
"name": "out",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3803,
|
|
"src": "10579:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3801,
|
|
"id": 3833,
|
|
"nodeType": "Return",
|
|
"src": "10572:10:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3835,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3798,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3797,
|
|
"name": "b",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10425:7:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3796,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10425:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10424:9:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3801,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3800,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10456:6:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3799,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10456:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10455:8:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10402:184:25",
|
|
"stateMutability": "pure",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3843,
|
|
"nodeType": "Block",
|
|
"src": "10654:189:25",
|
|
"statements": [
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"b": {
|
|
"declaration": 3840,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10827:1:25",
|
|
"valueSize": 1
|
|
}
|
|
},
|
|
{
|
|
"a": {
|
|
"declaration": 3837,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10780:1:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3842,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n let m := mload(0x40)\n mstore(add(m, 20), xor(0x140000000000000000000000000000000000000000, a))\n mstore(0x40, add(m, 52))\n b := m\n}",
|
|
"src": "10661:182:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3844,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "addressToBytes",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3838,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3837,
|
|
"name": "a",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3844,
|
|
"src": "10613:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3836,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10613:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10612:11:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3841,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3840,
|
|
"name": "b",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3844,
|
|
"src": "10646:7:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3839,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10646:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10645:9:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10589:254:25",
|
|
"stateMutability": "pure",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3859,
|
|
"nodeType": "Block",
|
|
"src": "10909:68:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3856,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3851,
|
|
"name": "b",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3849,
|
|
"src": "10916:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "3332",
|
|
"id": 3854,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10930:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_32_by_1",
|
|
"typeString": "int_const 32"
|
|
},
|
|
"value": "32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_32_by_1",
|
|
"typeString": "int_const 32"
|
|
}
|
|
],
|
|
"id": 3853,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "10920:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
},
|
|
"typeName": {
|
|
"id": 3852,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10924:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"id": 3855,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10920:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "10916:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3857,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10916:17:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"x": {
|
|
"declaration": 3846,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10970:1:25",
|
|
"valueSize": 1
|
|
}
|
|
},
|
|
{
|
|
"b": {
|
|
"declaration": 3849,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10962:1:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3858,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n mstore(add(b, 32), x)\n}",
|
|
"src": "10940:37:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3860,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "uintToBytes",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3847,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3846,
|
|
"name": "x",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3860,
|
|
"src": "10867:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3845,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10867:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10866:11:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3850,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3849,
|
|
"name": "b",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3860,
|
|
"src": "10900:7:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3848,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10900:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10899:9:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10846:131:25",
|
|
"stateMutability": "pure",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3998,
|
|
"nodeType": "Block",
|
|
"src": "11008:1178:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3864,
|
|
"name": "methodId",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3999,
|
|
"src": "11012:15:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3863,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11012:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3865,
|
|
"initialValue": null,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "11012:15:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"methodId": {
|
|
"declaration": 3864,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "11045:8:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3866,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n methodId := calldataload(0)\n}",
|
|
"src": "11031:94:25"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3873,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3867,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "11127:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3870,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3868,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11145:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3869,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11145:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11127:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3871,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11158:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3872,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11158:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11127:46:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3882,
|
|
"nodeType": "IfStatement",
|
|
"src": "11123:101:25",
|
|
"trueBody": {
|
|
"id": 3881,
|
|
"nodeType": "Block",
|
|
"src": "11175:49:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3875,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "11187:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3878,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3876,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11209:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3877,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11209:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11187:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
],
|
|
"id": 3874,
|
|
"name": "revert",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4020,
|
|
4021
|
|
],
|
|
"referencedDeclaration": 4021,
|
|
"src": "11180:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 3879,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11180:39:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3880,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11180:39:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3889,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3883,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "11231:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3886,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3884,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11249:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3885,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11249:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11231:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3887,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11262:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3888,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11262:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11231:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3894,
|
|
"nodeType": "IfStatement",
|
|
"src": "11227:75:25",
|
|
"trueBody": {
|
|
"id": 3893,
|
|
"nodeType": "Block",
|
|
"src": "11281:21:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 3890,
|
|
"name": "useAllGas",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3795,
|
|
"src": "11286:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3891,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11286:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3892,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11286:11:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"assignments": [
|
|
3896
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3896,
|
|
"name": "result",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3999,
|
|
"src": "11305:19:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3895,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11305:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3901,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3897,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3053,
|
|
"src": "11327:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes memory => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3900,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3898,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11348:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3899,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11348:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11327:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "11305:52:25"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3905,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3902,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11402:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3903,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11402:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3904,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11419:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "11402:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3938,
|
|
"nodeType": "IfStatement",
|
|
"src": "11398:262:25",
|
|
"trueBody": {
|
|
"id": 3937,
|
|
"nodeType": "Block",
|
|
"src": "11422:238:25",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3911,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3906,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "11431:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3908,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3907,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11449:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11431:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3909,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11462:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3910,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11462:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11431:46:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3919,
|
|
"nodeType": "IfStatement",
|
|
"src": "11427:104:25",
|
|
"trueBody": {
|
|
"id": 3918,
|
|
"nodeType": "Block",
|
|
"src": "11479:52:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3913,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3077,
|
|
"src": "11492:22:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3915,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3914,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11515:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11492:32:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
],
|
|
"id": 3912,
|
|
"name": "revert",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4020,
|
|
4021
|
|
],
|
|
"referencedDeclaration": 4021,
|
|
"src": "11485:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 3916,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11485:40:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3917,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11485:40:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3925,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3920,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "11539:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3922,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3921,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11557:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11539:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3923,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11570:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3924,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11570:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11539:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3930,
|
|
"nodeType": "IfStatement",
|
|
"src": "11535:77:25",
|
|
"trueBody": {
|
|
"id": 3929,
|
|
"nodeType": "Block",
|
|
"src": "11589:23:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 3926,
|
|
"name": "useAllGas",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3795,
|
|
"src": "11595:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3927,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11595:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3928,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11595:11:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3935,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3931,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11616:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3932,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3073,
|
|
"src": "11625:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3934,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3933,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11646:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11625:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "11616:39:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3936,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11616:39:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3942,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3939,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11705:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3940,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11705:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3941,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11722:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "11705:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3967,
|
|
"nodeType": "IfStatement",
|
|
"src": "11701:218:25",
|
|
"trueBody": {
|
|
"id": 3966,
|
|
"nodeType": "Block",
|
|
"src": "11725:194:25",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3946,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3943,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "11734:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3944,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11754:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3945,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11754:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11734:35:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3952,
|
|
"nodeType": "IfStatement",
|
|
"src": "11730:82:25",
|
|
"trueBody": {
|
|
"id": 3951,
|
|
"nodeType": "Block",
|
|
"src": "11771:41:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3948,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3087,
|
|
"src": "11784:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
],
|
|
"id": 3947,
|
|
"name": "revert",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4020,
|
|
4021
|
|
],
|
|
"referencedDeclaration": 4021,
|
|
"src": "11777:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 3949,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11777:29:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3950,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11777:29:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3956,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3953,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "11820:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3954,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11840:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3955,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11840:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11820:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3961,
|
|
"nodeType": "IfStatement",
|
|
"src": "11816:66:25",
|
|
"trueBody": {
|
|
"id": 3960,
|
|
"nodeType": "Block",
|
|
"src": "11859:23:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 3957,
|
|
"name": "useAllGas",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3795,
|
|
"src": "11865:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3958,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11865:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3959,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11865:11:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3964,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3962,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11886:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3963,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3085,
|
|
"src": "11895:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "11886:28:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3965,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11886:28:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3970,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3968,
|
|
"name": "invocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3089,
|
|
"src": "11946:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3969,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11961:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "11946:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3971,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11946:16:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3982,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3972,
|
|
"name": "methodIdInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3081,
|
|
"src": "11966:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3980,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3976,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "12013:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3977,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "12025:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3974,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "11996:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3975,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11996:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3978,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11996:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3973,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "11986:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3979,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11986:49:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11966:70:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3981,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "12040:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "11966:75:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3983,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11966:75:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3995,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3984,
|
|
"name": "calldataInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3061,
|
|
"src": "12045:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3993,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3988,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "12092:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3989,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "12104:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3990,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "12104:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3986,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "12075:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3987,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "12075:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3991,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12075:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3985,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "12065:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3992,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12065:49:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "12045:70:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3994,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "12119:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "12045:75:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3996,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12045:75:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"result": {
|
|
"declaration": 3896,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "12156:6:25",
|
|
"valueSize": 1
|
|
}
|
|
},
|
|
{
|
|
"result": {
|
|
"declaration": 3896,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "12171:6:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3997,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n return(add(0x20, result), mload(result))\n}",
|
|
"src": "12125:61:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3999,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3861,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "10988:2:25"
|
|
},
|
|
"payable": true,
|
|
"returnParameters": {
|
|
"id": 3862,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "11008:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10980:1206:25",
|
|
"stateMutability": "payable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 4001,
|
|
"src": "3453:8735:25"
|
|
}
|
|
],
|
|
"src": "0:12189:25"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "@gnosis.pm/mock-contract/contracts/MockContract.sol",
|
|
"exportedSymbols": {
|
|
"MockContract": [
|
|
4000
|
|
],
|
|
"MockInterface": [
|
|
3021
|
|
]
|
|
},
|
|
"id": 4001,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 2877,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.4",
|
|
".23"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "0:24:25"
|
|
},
|
|
{
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "interface",
|
|
"documentation": null,
|
|
"fullyImplemented": false,
|
|
"id": 3021,
|
|
"linearizedBaseContracts": [
|
|
3021
|
|
],
|
|
"name": "MockInterface",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev After calling this method, the mock will return `response` when it is called\nwith any calldata that is not mocked more specifically below\n(e.g. using givenMethodReturn).\n@param response ABI encoded response that will be returned if method is invoked",
|
|
"id": 2882,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2880,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2879,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2882,
|
|
"src": "358:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2878,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "358:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "357:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2881,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "382:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "334:49:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2887,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2885,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2884,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2887,
|
|
"src": "413:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2883,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "413:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "412:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2886,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "436:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "385:52:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2892,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2890,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2889,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2892,
|
|
"src": "467:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2888,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "467:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "466:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2891,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "490:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "439:52:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2897,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2895,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2894,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2897,
|
|
"src": "524:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2893,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "524:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "523:18:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2896,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "550:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "493:58:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2900,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2898,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "577:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2899,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "588:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "554:35:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2905,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2903,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2902,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2905,
|
|
"src": "626:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2901,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "626:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "625:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2904,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "650:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "591:60:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2908,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2906,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "681:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2907,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "692:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "653:40:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev After calling this method, the mock will return `response` when the given\nmethodId is called regardless of arguments. If the methodId and arguments\nare mocked more specifically (using `givenMethodAndArguments`) the latter\nwill take precedence.\n@param method ABI encoded methodId. It is valid to pass full calldata (including arguments). The mock will extract the methodId from it\n@param response ABI encoded response that will be returned if method is invoked",
|
|
"id": 2915,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2913,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2910,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2915,
|
|
"src": "1222:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2909,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1222:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2912,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2915,
|
|
"src": "1236:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2911,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1236:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1221:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2914,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1260:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1195:66:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2922,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2920,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2917,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2922,
|
|
"src": "1294:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2916,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1294:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2919,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2922,
|
|
"src": "1308:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2918,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1308:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1293:29:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2921,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1331:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1263:69:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2929,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2927,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2924,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2929,
|
|
"src": "1365:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2923,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1365:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2926,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2929,
|
|
"src": "1379:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2925,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1379:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1364:29:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2928,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1402:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1334:69:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2936,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2934,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2931,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2936,
|
|
"src": "1439:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2930,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1439:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2933,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2936,
|
|
"src": "1453:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2932,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1453:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1438:32:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2935,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1479:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1405:75:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2941,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2939,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2938,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2941,
|
|
"src": "1510:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2937,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1510:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1509:14:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2940,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1532:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1483:50:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2948,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2946,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2943,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2948,
|
|
"src": "1573:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2942,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1573:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2945,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2948,
|
|
"src": "1587:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2944,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1587:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1572:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2947,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1611:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1535:77:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2953,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2951,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2950,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2953,
|
|
"src": "1646:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2949,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1646:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1645:14:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2952,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1668:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "1614:55:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev After calling this method, the mock will return `response` when the given\nmethodId is called with matching arguments. These exact calldataMocks will take\nprecedence over all other calldataMocks.\n@param calldata ABI encoded calldata (methodId and arguments)\n@param response ABI encoded response that will be returned if contract is invoked with calldata",
|
|
"id": 2960,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2958,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2955,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2960,
|
|
"src": "2089:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2954,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2089:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2957,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2960,
|
|
"src": "2105:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2956,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2105:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2088:32:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2959,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2129:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2060:70:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2967,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2965,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2962,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2967,
|
|
"src": "2165:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2961,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2165:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2964,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2967,
|
|
"src": "2181:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2963,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2181:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2164:31:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2966,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2204:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2132:73:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2974,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2972,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2969,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2974,
|
|
"src": "2240:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2968,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2240:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2971,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2974,
|
|
"src": "2256:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2970,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2256:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2239:31:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2973,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2279:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2207:73:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2981,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2979,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2976,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2981,
|
|
"src": "2318:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2975,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2318:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2978,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2981,
|
|
"src": "2334:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2977,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2334:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2317:34:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2980,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2360:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2282:79:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2986,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2984,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2983,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2986,
|
|
"src": "2393:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2982,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2393:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2392:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2985,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2417:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2364:54:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2993,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2991,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2988,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2993,
|
|
"src": "2460:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2987,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2460:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2990,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2993,
|
|
"src": "2476:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2989,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2476:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2459:32:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2992,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2500:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2420:81:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": null,
|
|
"id": 2998,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2996,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2995,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 2998,
|
|
"src": "2537:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 2994,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2537:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2536:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 2997,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2561:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2503:59:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Returns the number of times anything has been called on this mock since last reset",
|
|
"id": 3003,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCount",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 2999,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2691:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3002,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3001,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3003,
|
|
"src": "2712:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3000,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2712:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2711:6:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2667:51:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Returns the number of times the given method has been called on this mock since last reset\n@param method ABI encoded methodId. It is valid to pass full calldata (including arguments). The mock will extract the methodId from it",
|
|
"id": 3010,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForMethod",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3006,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3005,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3010,
|
|
"src": "3005:12:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3004,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3005:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3004:14:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3009,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3008,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3010,
|
|
"src": "3037:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3007,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3037:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3036:6:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "2971:72:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Returns the number of times this mock has been called with the exact calldata since last reset.\n@param calldata ABI encoded calldata (methodId and arguments)",
|
|
"id": 3017,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForCalldata",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3013,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3012,
|
|
"name": "calldata",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3017,
|
|
"src": "3263:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3011,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3263:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3262:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3016,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3015,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3017,
|
|
"src": "3297:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3014,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3297:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3296:6:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "3227:76:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": null,
|
|
"documentation": "@dev Resets all mocked methods and invocation counts.",
|
|
"id": 3020,
|
|
"implemented": false,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "reset",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3018,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3389:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3019,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3400:0:25"
|
|
},
|
|
"scope": 3021,
|
|
"src": "3375:26:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 4001,
|
|
"src": "26:3377:25"
|
|
},
|
|
{
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 3022,
|
|
"name": "MockInterface",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3021,
|
|
"src": "3478:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_MockInterface_$3021",
|
|
"typeString": "contract MockInterface"
|
|
}
|
|
},
|
|
"id": 3023,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "3478:13:25"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
3021
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": "Implementation of the MockInterface.",
|
|
"fullyImplemented": true,
|
|
"id": 4000,
|
|
"linearizedBaseContracts": [
|
|
4000,
|
|
3021
|
|
],
|
|
"name": "MockContract",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"canonicalName": "MockContract.MockType",
|
|
"id": 3027,
|
|
"members": [
|
|
{
|
|
"id": 3024,
|
|
"name": "Return",
|
|
"nodeType": "EnumValue",
|
|
"src": "3511:6:25"
|
|
},
|
|
{
|
|
"id": 3025,
|
|
"name": "Revert",
|
|
"nodeType": "EnumValue",
|
|
"src": "3519:6:25"
|
|
},
|
|
{
|
|
"id": 3026,
|
|
"name": "OutOfGas",
|
|
"nodeType": "EnumValue",
|
|
"src": "3527:8:25"
|
|
}
|
|
],
|
|
"name": "MockType",
|
|
"nodeType": "EnumDefinition",
|
|
"src": "3495:42:25"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3030,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3541:50:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3028,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3541:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "01",
|
|
"id": 3029,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3584:7:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2",
|
|
"typeString": "literal_string \"\u0001\""
|
|
},
|
|
"value": "\u0001"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3033,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3594:45:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3031,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3594:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30786666",
|
|
"id": 3032,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3633:6:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_420daffad4b177bce28bead5f76f7bc97ef63c3aae74c496db8ce6aafe9e6513",
|
|
"typeString": "literal_string \"0xff\""
|
|
},
|
|
"value": "0xff"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3038,
|
|
"name": "MOCKS_LIST_END_HASH",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3642:71:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3034,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3642:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3036,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3033,
|
|
"src": "3698:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3035,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "3688:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3037,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3688:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 3041,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3716:51:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3039,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3716:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "01",
|
|
"id": 3040,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3760:7:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2",
|
|
"typeString": "literal_string \"\u0001\""
|
|
},
|
|
"value": "\u0001"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3045,
|
|
"name": "calldataMocks",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3832:39:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes)"
|
|
},
|
|
"typeName": {
|
|
"id": 3044,
|
|
"keyType": {
|
|
"id": 3042,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3840:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3832:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes)"
|
|
},
|
|
"valueType": {
|
|
"id": 3043,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3851:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3049,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3874:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes => enum MockContract.MockType)"
|
|
},
|
|
"typeName": {
|
|
"id": 3048,
|
|
"keyType": {
|
|
"id": 3046,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3882:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3874:26:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes => enum MockContract.MockType)"
|
|
},
|
|
"valueType": {
|
|
"contractScope": null,
|
|
"id": 3047,
|
|
"name": "MockType",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3027,
|
|
"src": "3891:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3053,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3921:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes => bytes)"
|
|
},
|
|
"typeName": {
|
|
"id": 3052,
|
|
"keyType": {
|
|
"id": 3050,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3929:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3921:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes => bytes)"
|
|
},
|
|
"valueType": {
|
|
"id": 3051,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3938:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3057,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "3968:46:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes => string)"
|
|
},
|
|
"typeName": {
|
|
"id": 3056,
|
|
"keyType": {
|
|
"id": 3054,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3976:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "3968:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes => string)"
|
|
},
|
|
"valueType": {
|
|
"id": 3055,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3985:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3061,
|
|
"name": "calldataInvocations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4017:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3060,
|
|
"keyType": {
|
|
"id": 3058,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4025:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4017:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 3059,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4036:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3065,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4065:39:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
},
|
|
"typeName": {
|
|
"id": 3064,
|
|
"keyType": {
|
|
"id": 3062,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4073:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4065:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
},
|
|
"valueType": {
|
|
"id": 3063,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4083:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3069,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4107:45:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
},
|
|
"typeName": {
|
|
"id": 3068,
|
|
"keyType": {
|
|
"id": 3066,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4115:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4107:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
},
|
|
"valueType": {
|
|
"contractScope": null,
|
|
"id": 3067,
|
|
"name": "MockType",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3027,
|
|
"src": "4125:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3073,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4155:45:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes)"
|
|
},
|
|
"typeName": {
|
|
"id": 3072,
|
|
"keyType": {
|
|
"id": 3070,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4163:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4155:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes)"
|
|
},
|
|
"valueType": {
|
|
"id": 3071,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4173:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3077,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4203:48:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string)"
|
|
},
|
|
"typeName": {
|
|
"id": 3076,
|
|
"keyType": {
|
|
"id": 3074,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4211:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4203:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string)"
|
|
},
|
|
"valueType": {
|
|
"id": 3075,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4221:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3081,
|
|
"name": "methodIdInvocations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4254:44:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3080,
|
|
"keyType": {
|
|
"id": 3078,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4262:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "4254:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 3079,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4273:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3083,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4302:25:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3082,
|
|
"name": "MockType",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3027,
|
|
"src": "4302:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3085,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4330:25:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3084,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4330:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3087,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4358:28:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3086,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4358:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3089,
|
|
"name": "invocations",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4389:16:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3088,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4389:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3091,
|
|
"name": "resetCount",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 4000,
|
|
"src": "4408:15:25",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3090,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4408:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3106,
|
|
"nodeType": "Block",
|
|
"src": "4448:114:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3098,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3094,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4452:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3096,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3095,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "4466:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4452:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3097,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3033,
|
|
"src": "4486:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "4452:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3099,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4452:48:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3104,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3100,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4504:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3102,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3101,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4518:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4504:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3103,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4540:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "4504:54:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3105,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4504:54:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3107,
|
|
"implemented": true,
|
|
"isConstructor": true,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3092,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4438:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3093,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4448:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "4427:135:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3140,
|
|
"nodeType": "Block",
|
|
"src": "4619:196:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3113
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3113,
|
|
"name": "callHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3141,
|
|
"src": "4623:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3112,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4623:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3117,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3115,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3109,
|
|
"src": "4652:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3114,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "4642:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3116,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4642:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "4623:34:25"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3123,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3118,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4665:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3120,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3119,
|
|
"name": "callHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3113,
|
|
"src": "4679:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4665:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3121,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4665:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3122,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4699:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "4665:35:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3139,
|
|
"nodeType": "IfStatement",
|
|
"src": "4661:151:25",
|
|
"trueBody": {
|
|
"id": 3138,
|
|
"nodeType": "Block",
|
|
"src": "4702:110:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3130,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3124,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4707:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3126,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3125,
|
|
"name": "callHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3113,
|
|
"src": "4721:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4707:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3127,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4733:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3129,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3128,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "4747:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4733:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "4707:57:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3131,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4707:57:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3136,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3132,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "4769:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3134,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3133,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "4783:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4769:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3135,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3109,
|
|
"src": "4803:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "4769:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3137,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4769:38:25"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3141,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3110,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3109,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3141,
|
|
"src": "4592:17:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3108,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4592:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4591:19:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3111,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4619:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "4565:250:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3167,
|
|
"nodeType": "Block",
|
|
"src": "4870:161:25",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 3150,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3146,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4878:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3148,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3147,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3143,
|
|
"src": "4892:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4878:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307830",
|
|
"id": 3149,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4905:3:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0x0"
|
|
},
|
|
"src": "4878:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3166,
|
|
"nodeType": "IfStatement",
|
|
"src": "4874:154:25",
|
|
"trueBody": {
|
|
"id": 3165,
|
|
"nodeType": "Block",
|
|
"src": "4910:118:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3157,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3151,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4915:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3153,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3152,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3143,
|
|
"src": "4929:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4915:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3154,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4941:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3156,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3155,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4955:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4941:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "4915:59:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3158,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4915:59:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3163,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3159,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "4979:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3161,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3160,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "4993:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4979:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3162,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3143,
|
|
"src": "5015:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "4979:44:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3164,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4979:44:25"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3168,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3144,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3143,
|
|
"name": "methodId",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3168,
|
|
"src": "4845:15:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3142,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4845:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4844:17:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3145,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4870:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "4818:213:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3182,
|
|
"nodeType": "Block",
|
|
"src": "5084:76:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3176,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3173,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5088:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3174,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5107:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3175,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5107:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5088:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3177,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5088:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3180,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3178,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3085,
|
|
"src": "5126:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3179,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3170,
|
|
"src": "5148:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "5126:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3181,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5126:30:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3183,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3171,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3170,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3183,
|
|
"src": "5059:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3169,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5059:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5058:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3172,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5084:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5034:126:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3192,
|
|
"nodeType": "Block",
|
|
"src": "5212:33:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3189,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3185,
|
|
"src": "5232:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3188,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5216:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3190,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5216:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3191,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5216:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3193,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3186,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3185,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3193,
|
|
"src": "5187:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3184,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5187:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5186:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3187,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5212:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5163:82:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2882,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3211,
|
|
"nodeType": "Block",
|
|
"src": "5300:74:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3199
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3199,
|
|
"name": "flag",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3212,
|
|
"src": "5304:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3198,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5304:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3204,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3200,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3195,
|
|
"src": "5316:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3202,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5331:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"id": 3203,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "5316:16:25",
|
|
"trueExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3201,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5327:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "5304:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3207,
|
|
"name": "flag",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3199,
|
|
"src": "5364:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3206,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "5352:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3208,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5352:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3205,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5336:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3209,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5336:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3210,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5336:34:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3212,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3196,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3195,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3212,
|
|
"src": "5276:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3194,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5276:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5275:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3197,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5300:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5248:126:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2887,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3223,
|
|
"nodeType": "Block",
|
|
"src": "5429:47:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3219,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3214,
|
|
"src": "5461:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3218,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "5449:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3220,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5449:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3217,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5433:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3221,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5433:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3222,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5433:38:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3224,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3215,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3214,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3224,
|
|
"src": "5405:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3213,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5405:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5404:15:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3216,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5429:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5377:99:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2892,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3235,
|
|
"nodeType": "Block",
|
|
"src": "5537:49:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3231,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3226,
|
|
"src": "5572:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3230,
|
|
"name": "addressToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3844,
|
|
"src": "5557:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (address) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3232,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5557:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3229,
|
|
"name": "_givenAnyReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3183,
|
|
"src": "5541:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3233,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5541:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3234,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5541:41:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3236,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3227,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3226,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3236,
|
|
"src": "5510:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3225,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5510:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5509:18:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3228,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5537:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5479:107:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2897,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3248,
|
|
"nodeType": "Block",
|
|
"src": "5624:72:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3242,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3239,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5628:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3240,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5647:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3241,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5647:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5628:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3243,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5628:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3246,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3244,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3087,
|
|
"src": "5666:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3245,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5690:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "5666:26:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3247,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5666:26:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3249,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3237,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5612:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3238,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5624:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5589:107:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2900,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3263,
|
|
"nodeType": "Block",
|
|
"src": "5759:77:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3257,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3254,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5763:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3255,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5782:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3256,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5782:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5763:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3258,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5763:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3261,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3259,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3087,
|
|
"src": "5801:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3260,
|
|
"name": "message",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3251,
|
|
"src": "5825:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string calldata"
|
|
}
|
|
},
|
|
"src": "5801:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3262,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5801:31:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3264,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3252,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3251,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3264,
|
|
"src": "5734:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3250,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5734:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5733:16:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3253,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5759:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5699:137:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2905,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3272,
|
|
"nodeType": "Block",
|
|
"src": "5879:44:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3270,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3267,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "5883:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3268,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "5902:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3269,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5902:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5883:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3271,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5883:36:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3273,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenAnyRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3265,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5867:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3266,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5879:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5839:84:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2908,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3297,
|
|
"nodeType": "Block",
|
|
"src": "5993:117:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3285,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3280,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "5997:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3282,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3281,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3275,
|
|
"src": "6015:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5997:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3283,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "6023:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3284,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "6023:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "5997:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3286,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5997:41:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3291,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3287,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3053,
|
|
"src": "6042:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes memory => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3289,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3288,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3275,
|
|
"src": "6063:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "6042:26:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3290,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3277,
|
|
"src": "6071:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "6042:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3292,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6042:37:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3294,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3275,
|
|
"src": "6101:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3293,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "6083:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3295,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6083:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3296,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6083:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3298,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "_givenCalldataReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3278,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3275,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3298,
|
|
"src": "5956:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3274,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5956:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3277,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3298,
|
|
"src": "5968:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3276,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5968:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5955:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3279,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5993:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "5926:184:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3310,
|
|
"nodeType": "Block",
|
|
"src": "6180:44:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3306,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3300,
|
|
"src": "6205:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3307,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3302,
|
|
"src": "6211:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3305,
|
|
"name": "_givenCalldataReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3298,
|
|
"src": "6184:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3308,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6184:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3309,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6184:36:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3311,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3303,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3300,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3311,
|
|
"src": "6142:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3299,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6142:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3302,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3311,
|
|
"src": "6154:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3301,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6154:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6141:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3304,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6180:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6113:111:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2960,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3332,
|
|
"nodeType": "Block",
|
|
"src": "6296:83:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3319
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3319,
|
|
"name": "flag",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3333,
|
|
"src": "6300:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3318,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6300:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3324,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3320,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3315,
|
|
"src": "6312:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3322,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "6327:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"id": 3323,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "6312:16:25",
|
|
"trueExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3321,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "6323:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "6300:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3326,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3313,
|
|
"src": "6351:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3328,
|
|
"name": "flag",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3319,
|
|
"src": "6369:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3327,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "6357:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3329,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6357:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3325,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6332:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3330,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6332:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3331,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6332:43:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3333,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3316,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3313,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3333,
|
|
"src": "6260:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3312,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6260:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3315,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3333,
|
|
"src": "6272:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3314,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6272:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6259:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3317,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6296:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6227:152:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2967,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3347,
|
|
"nodeType": "Block",
|
|
"src": "6451:55:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3341,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3335,
|
|
"src": "6474:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3343,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3337,
|
|
"src": "6492:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3342,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "6480:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3344,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6480:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3340,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6455:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3345,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6455:47:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3346,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6455:47:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3348,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3338,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3335,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3348,
|
|
"src": "6415:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3334,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6415:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3337,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3348,
|
|
"src": "6427:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3336,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6427:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6414:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3339,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6451:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6382:124:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2974,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3362,
|
|
"nodeType": "Block",
|
|
"src": "6584:58:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3356,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3350,
|
|
"src": "6607:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3358,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3352,
|
|
"src": "6628:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3357,
|
|
"name": "addressToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3844,
|
|
"src": "6613:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (address) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3359,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6613:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3355,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6588:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3360,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6588:50:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3361,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6588:50:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3363,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3353,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3350,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3363,
|
|
"src": "6545:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3349,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6545:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3352,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3363,
|
|
"src": "6557:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3351,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6557:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6544:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3354,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6584:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6509:133:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2981,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3393,
|
|
"nodeType": "Block",
|
|
"src": "6709:164:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3371
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3371,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3394,
|
|
"src": "6713:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3370,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6713:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3375,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3373,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3365,
|
|
"src": "6743:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3372,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "6729:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3374,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6729:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "6713:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3381,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3376,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "6752:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3378,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3377,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3371,
|
|
"src": "6770:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "6752:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3379,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "6780:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3380,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "6780:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "6752:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3382,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6752:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3387,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3383,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3073,
|
|
"src": "6799:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3385,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3384,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3371,
|
|
"src": "6820:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "6799:28:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3386,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3367,
|
|
"src": "6830:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "6799:39:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3388,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6799:39:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3390,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3371,
|
|
"src": "6860:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3389,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "6842:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3391,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6842:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3392,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6842:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3394,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3368,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3365,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3394,
|
|
"src": "6673:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3364,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6673:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3367,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3394,
|
|
"src": "6685:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3366,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6685:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6672:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3369,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6709:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6645:228:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3406,
|
|
"nodeType": "Block",
|
|
"src": "6940:42:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3402,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3396,
|
|
"src": "6963:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3403,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3398,
|
|
"src": "6969:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3401,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "6944:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3404,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6944:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3405,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6944:34:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3407,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturn",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3399,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3396,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3407,
|
|
"src": "6903:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3395,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6903:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3398,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3407,
|
|
"src": "6915:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3397,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6915:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6902:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3400,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6940:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6876:106:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2915,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3428,
|
|
"nodeType": "Block",
|
|
"src": "7052:83:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3415
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3415,
|
|
"name": "flag",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3429,
|
|
"src": "7056:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3414,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7056:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3420,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3416,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3411,
|
|
"src": "7068:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3418,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "7083:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"id": 3419,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "7068:16:25",
|
|
"trueExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3417,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "7079:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "7056:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3422,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3409,
|
|
"src": "7107:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3424,
|
|
"name": "flag",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3415,
|
|
"src": "7125:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3423,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "7113:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3425,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7113:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3421,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "7088:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3426,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7088:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3427,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7088:43:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3429,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnBool",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3412,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3409,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3429,
|
|
"src": "7016:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3408,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7016:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3411,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3429,
|
|
"src": "7028:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3410,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7028:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7015:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3413,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7052:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "6985:150:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2922,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3443,
|
|
"nodeType": "Block",
|
|
"src": "7205:55:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3437,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3431,
|
|
"src": "7228:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3439,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3433,
|
|
"src": "7246:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3438,
|
|
"name": "uintToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3860,
|
|
"src": "7234:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3440,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7234:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3436,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "7209:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3441,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7209:47:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3442,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7209:47:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3444,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnUint",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3434,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3431,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3444,
|
|
"src": "7169:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3430,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7169:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3433,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3444,
|
|
"src": "7181:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3432,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7181:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7168:27:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3435,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7205:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7138:122:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2929,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3458,
|
|
"nodeType": "Block",
|
|
"src": "7336:58:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3452,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3446,
|
|
"src": "7359:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3454,
|
|
"name": "response",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3448,
|
|
"src": "7380:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3453,
|
|
"name": "addressToBytes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3844,
|
|
"src": "7365:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function (address) pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3455,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7365:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3451,
|
|
"name": "_givenMethodReturn",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3394,
|
|
"src": "7340:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory,bytes memory)"
|
|
}
|
|
},
|
|
"id": 3456,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7340:50:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3457,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7340:50:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3459,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodReturnAddress",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3449,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3446,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3459,
|
|
"src": "7297:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3445,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7297:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3448,
|
|
"name": "response",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3459,
|
|
"src": "7309:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3447,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7309:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7296:30:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3450,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7336:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7263:131:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2936,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3481,
|
|
"nodeType": "Block",
|
|
"src": "7447:112:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3469,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3464,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "7451:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3466,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3465,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3461,
|
|
"src": "7469:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7451:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3467,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "7477:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3468,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "7477:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "7451:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3470,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7451:41:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3475,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3471,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "7496:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3473,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3472,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3461,
|
|
"src": "7518:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7496:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3474,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "7526:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "7496:32:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3476,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7496:32:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3478,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3461,
|
|
"src": "7550:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3477,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "7532:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3479,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7532:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3480,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7532:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3482,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3462,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3461,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3482,
|
|
"src": "7426:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3460,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7426:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7425:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3463,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7447:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7397:162:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2986,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3504,
|
|
"nodeType": "Block",
|
|
"src": "7610:121:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3488
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3488,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3505,
|
|
"src": "7614:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3487,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7614:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3492,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3490,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3484,
|
|
"src": "7644:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3489,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "7630:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3491,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7630:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "7614:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3498,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3493,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "7653:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3495,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3494,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3488,
|
|
"src": "7671:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7653:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3496,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "7681:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3497,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "7681:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "7653:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3499,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7653:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3501,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3488,
|
|
"src": "7718:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3500,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "7700:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3502,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7700:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3503,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7700:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3505,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevert",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3485,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3484,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3505,
|
|
"src": "7589:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3483,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7589:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7588:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3486,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7610:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7562:169:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2941,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3529,
|
|
"nodeType": "Block",
|
|
"src": "7811:117:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3517,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3512,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "7815:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3514,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3513,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3507,
|
|
"src": "7833:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7815:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3515,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "7841:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3516,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "7841:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "7815:41:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3518,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7815:41:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3523,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3519,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "7860:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3521,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3520,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3507,
|
|
"src": "7882:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "7860:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3522,
|
|
"name": "message",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3509,
|
|
"src": "7890:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string calldata"
|
|
}
|
|
},
|
|
"src": "7860:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3524,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7860:37:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3526,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3507,
|
|
"src": "7919:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3525,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "7901:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3527,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7901:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3528,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "7901:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3530,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3510,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3507,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3530,
|
|
"src": "7774:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3506,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7774:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3509,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3530,
|
|
"src": "7786:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3508,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7786:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7773:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3511,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "7811:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7734:194:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2993,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3560,
|
|
"nodeType": "Block",
|
|
"src": "8006:165:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3538
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3538,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3561,
|
|
"src": "8010:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3537,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8010:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3542,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3540,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3532,
|
|
"src": "8040:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3539,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "8026:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3541,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8026:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8010:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3548,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3543,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "8049:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3545,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3544,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3538,
|
|
"src": "8067:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8049:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3546,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "8077:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3547,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8077:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "8049:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3549,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8049:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3554,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3550,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3077,
|
|
"src": "8096:22:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3552,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3551,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3538,
|
|
"src": "8119:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8096:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3553,
|
|
"name": "message",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3534,
|
|
"src": "8129:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string calldata"
|
|
}
|
|
},
|
|
"src": "8096:40:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3555,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8096:40:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3557,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3538,
|
|
"src": "8158:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3556,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "8140:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3558,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8140:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3559,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8140:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3561,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRevertWithMessage",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3535,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3532,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3561,
|
|
"src": "7969:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3531,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7969:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3534,
|
|
"name": "message",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3561,
|
|
"src": "7981:14:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_calldata_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3533,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7981:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7968:28:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3536,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8006:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "7931:240:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2948,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3577,
|
|
"nodeType": "Block",
|
|
"src": "8229:78:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3571,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3566,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "8233:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3568,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3567,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3563,
|
|
"src": "8251:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8233:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3569,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "8259:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3570,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8259:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "8233:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3572,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8233:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3574,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3563,
|
|
"src": "8298:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3573,
|
|
"name": "trackCalldataMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3141,
|
|
"src": "8280:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3575,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8280:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3576,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8280:23:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3578,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenCalldataRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3564,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3563,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3578,
|
|
"src": "8208:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3562,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8208:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8207:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3565,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8229:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8174:133:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2998,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3600,
|
|
"nodeType": "Block",
|
|
"src": "8363:122:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3584
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3584,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3601,
|
|
"src": "8367:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3583,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8367:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3588,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3586,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3580,
|
|
"src": "8397:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3585,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "8383:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8383:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8367:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3594,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3589,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "8406:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3591,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3590,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3584,
|
|
"src": "8424:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8406:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3592,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "8434:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8434:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "8406:45:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3595,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8406:45:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3597,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3584,
|
|
"src": "8473:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"id": 3596,
|
|
"name": "trackMethodIdMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3168,
|
|
"src": "8455:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
|
|
"typeString": "function (bytes4)"
|
|
}
|
|
},
|
|
"id": 3598,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8455:25:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3599,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8455:25:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3601,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "givenMethodRunOutOfGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3581,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3580,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3601,
|
|
"src": "8342:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3579,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8342:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8341:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3582,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8363:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8310:175:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 2953,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3608,
|
|
"nodeType": "Block",
|
|
"src": "8539:26:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3606,
|
|
"name": "invocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3089,
|
|
"src": "8550:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3605,
|
|
"id": 3607,
|
|
"nodeType": "Return",
|
|
"src": "8543:18:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3609,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCount",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3602,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8512:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3605,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3604,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3609,
|
|
"src": "8533:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3603,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8533:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8532:6:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8488:77:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3003,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3632,
|
|
"nodeType": "Block",
|
|
"src": "8638:122:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3617
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3617,
|
|
"name": "method",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3633,
|
|
"src": "8642:13:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3616,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8642:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3621,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3619,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3611,
|
|
"src": "8672:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 3618,
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3835,
|
|
"src": "8658:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 3620,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8658:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8642:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3622,
|
|
"name": "methodIdInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3081,
|
|
"src": "8688:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3630,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3626,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "8735:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3627,
|
|
"name": "method",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3617,
|
|
"src": "8747:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3624,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "8718:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3625,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8718:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8718:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3623,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "8708:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8708:47:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8688:68:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3615,
|
|
"id": 3631,
|
|
"nodeType": "Return",
|
|
"src": "8681:75:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3633,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForMethod",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3612,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3611,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3633,
|
|
"src": "8602:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3610,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8602:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8601:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3615,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3614,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3633,
|
|
"src": "8632:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3613,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8632:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8631:6:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8568:192:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3010,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3650,
|
|
"nodeType": "Block",
|
|
"src": "8835:81:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3640,
|
|
"name": "calldataInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3061,
|
|
"src": "8846:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3648,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3644,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "8893:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3645,
|
|
"name": "call",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3635,
|
|
"src": "8905:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3642,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "8876:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3643,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "8876:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3646,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8876:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3641,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "8866:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3647,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8866:45:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "8846:66:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3639,
|
|
"id": 3649,
|
|
"nodeType": "Return",
|
|
"src": "8839:73:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3651,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "invocationCountForCalldata",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3636,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3635,
|
|
"name": "call",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3651,
|
|
"src": "8799:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3634,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8799:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8798:12:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3639,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3638,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3651,
|
|
"src": "8829:4:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3637,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8829:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8828:6:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8763:153:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3017,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3783,
|
|
"nodeType": "Block",
|
|
"src": "8945:1265:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3655
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3655,
|
|
"name": "nextMock",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "8984:21:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3654,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8984:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3659,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3656,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9008:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3658,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3657,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "9022:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9008:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "8984:55:25"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3661
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3661,
|
|
"name": "mockHash",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "9043:16:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3660,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9043:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3665,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3663,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9072:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3662,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "9062:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9062:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "9043:38:25"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3706,
|
|
"nodeType": "Block",
|
|
"src": "9153:355:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3674,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3669,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "9184:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3671,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3670,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9202:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9184:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3672,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "9214:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "9214:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "9184:45:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3675,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9184:45:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3680,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3676,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3053,
|
|
"src": "9234:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes memory => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3678,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3677,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9255:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9234:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3679,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9267:5:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9234:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3681,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9234:38:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3686,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3682,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "9277:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3684,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3683,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9299:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9277:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3685,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9311:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9277:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3687,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9277:36:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3692,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3688,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9348:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3689,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9359:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3691,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3690,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9373:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9359:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "9348:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3693,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9348:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3698,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3694,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9417:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3696,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3695,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9431:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9417:23:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3697,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9443:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9417:28:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3699,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9417:28:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3704,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3700,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9473:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3702,
|
|
"name": "nextMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3655,
|
|
"src": "9494:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3701,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "9484:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3703,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9484:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "9473:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 3705,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9473:30:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"id": 3668,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3666,
|
|
"name": "mockHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3661,
|
|
"src": "9120:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3667,
|
|
"name": "MOCKS_LIST_END_HASH",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3038,
|
|
"src": "9132:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "9120:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 3707,
|
|
"nodeType": "WhileStatement",
|
|
"src": "9114:394:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3712,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3708,
|
|
"name": "calldataMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3045,
|
|
"src": "9527:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes32 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3710,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3709,
|
|
"name": "MOCKS_LIST_START",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "9541:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9527:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3711,
|
|
"name": "MOCKS_LIST_END",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3033,
|
|
"src": "9561:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "9527:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3713,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9527:48:25"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3715
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3715,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "9613:18:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3714,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9613:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3719,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3716,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "9634:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3718,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3717,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "9648:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9634:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "9613:54:25"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3758,
|
|
"nodeType": "Block",
|
|
"src": "9712:316:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3724
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3724,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3784,
|
|
"src": "9717:21:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3723,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9717:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3726,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"id": 3725,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3715,
|
|
"src": "9741:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "9717:35:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3732,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3727,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "9757:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3729,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3728,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9775:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9757:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3730,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "9793:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3731,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "9793:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "9757:51:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3733,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9757:51:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3738,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3734,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3073,
|
|
"src": "9813:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3736,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3735,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9834:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9813:36:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3737,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9852:5:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9813:44:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3739,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9813:44:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3744,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3740,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3077,
|
|
"src": "9862:22:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3742,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3741,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9885:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9862:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3743,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9903:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "9862:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 3745,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9862:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3750,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3746,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3715,
|
|
"src": "9910:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3747,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "9924:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3749,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3748,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "9938:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9924:29:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "9910:43:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3751,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9910:43:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3756,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3752,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "9988:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3754,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3753,
|
|
"name": "currentAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3724,
|
|
"src": "10002:14:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9988:29:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307830",
|
|
"id": 3755,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10020:3:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0x0"
|
|
},
|
|
"src": "9988:35:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3757,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9988:35:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 3722,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3720,
|
|
"name": "nextAnyMock",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3715,
|
|
"src": "9677:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3721,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "9692:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "9677:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 3759,
|
|
"nodeType": "WhileStatement",
|
|
"src": "9671:357:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3764,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3760,
|
|
"name": "methodIdMocks",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3065,
|
|
"src": "10047:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes4_$",
|
|
"typeString": "mapping(bytes4 => bytes4)"
|
|
}
|
|
},
|
|
"id": 3762,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3761,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "10061:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "10047:33:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3763,
|
|
"name": "SENTINEL_ANY_MOCKS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3041,
|
|
"src": "10083:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "10047:54:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3765,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10047:54:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3768,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3766,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3085,
|
|
"src": "10106:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "",
|
|
"id": 3767,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10128:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"src": "10106:24:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"id": 3769,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10106:24:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3770,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "10134:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3771,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "10153:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3772,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Return",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "10153:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "10134:34:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"id": 3774,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10134:34:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3777,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3775,
|
|
"name": "invocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3089,
|
|
"src": "10172:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3776,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10186:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "10172:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3778,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10172:15:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3781,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3779,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "10191:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3780,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10205:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "10191:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3782,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10191:15:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3784,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "reset",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3652,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8933:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3653,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8945:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "8919:1291:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": 3020,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3794,
|
|
"nodeType": "Block",
|
|
"src": "10242:157:25",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"id": 3792,
|
|
"nodeType": "Block",
|
|
"src": "10258:138:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3789,
|
|
"name": "s",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3795,
|
|
"src": "10263:6:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3788,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10263:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3790,
|
|
"initialValue": null,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "10263:6:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"s": {
|
|
"declaration": 3789,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10334:1:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3791,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n s := call(sub(gas(), 2000), 6, 0, 0x0, 0xc0, 0x0, 0x60)\n}",
|
|
"src": "10274:122:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 3787,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10252:4:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"id": 3793,
|
|
"nodeType": "WhileStatement",
|
|
"src": "10246:150:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3795,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "useAllGas",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3785,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "10231:2:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3786,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "10242:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10213:186:25",
|
|
"stateMutability": "nonpayable",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3834,
|
|
"nodeType": "Block",
|
|
"src": "10464:122:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3803,
|
|
"name": "out",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10470:10:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3802,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10470:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3804,
|
|
"initialValue": null,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "10470:10:25"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3830,
|
|
"nodeType": "Block",
|
|
"src": "10515:52:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3828,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3815,
|
|
"name": "out",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3803,
|
|
"src": "10523:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "|=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 3827,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
},
|
|
"id": 3821,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3817,
|
|
"name": "b",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3797,
|
|
"src": "10537:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3819,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3818,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10539:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "10537:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30784646",
|
|
"id": 3820,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10544:4:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_255_by_1",
|
|
"typeString": "int_const 255"
|
|
},
|
|
"value": "0xFF"
|
|
},
|
|
"src": "10537:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes1",
|
|
"typeString": "bytes1"
|
|
}
|
|
],
|
|
"id": 3816,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "10530:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes4_$",
|
|
"typeString": "type(bytes4)"
|
|
},
|
|
"typeName": "bytes4"
|
|
},
|
|
"id": 3822,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10530:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">>",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"components": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3825,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3823,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10554:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "*",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "38",
|
|
"id": 3824,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10558:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_8_by_1",
|
|
"typeString": "int_const 8"
|
|
},
|
|
"value": "8"
|
|
},
|
|
"src": "10554:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"id": 3826,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "10553:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "10530:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "10523:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 3829,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10523:37:25"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3811,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3809,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10503:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "34",
|
|
"id": 3810,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10507:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_4_by_1",
|
|
"typeString": "int_const 4"
|
|
},
|
|
"value": "4"
|
|
},
|
|
"src": "10503:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 3831,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
3806
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3806,
|
|
"name": "i",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10491:6:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3805,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10491:4:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3808,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3807,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10500:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "10491:10:25"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3813,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "10510:3:25",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3812,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3806,
|
|
"src": "10510:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3814,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10510:3:25"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "10486:81:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3832,
|
|
"name": "out",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3803,
|
|
"src": "10579:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3801,
|
|
"id": 3833,
|
|
"nodeType": "Return",
|
|
"src": "10572:10:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3835,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "bytesToBytes4",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3798,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3797,
|
|
"name": "b",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10425:7:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3796,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10425:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10424:9:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3801,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3800,
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3835,
|
|
"src": "10456:6:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3799,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10456:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10455:8:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10402:184:25",
|
|
"stateMutability": "pure",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3843,
|
|
"nodeType": "Block",
|
|
"src": "10654:189:25",
|
|
"statements": [
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"b": {
|
|
"declaration": 3840,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10827:1:25",
|
|
"valueSize": 1
|
|
}
|
|
},
|
|
{
|
|
"a": {
|
|
"declaration": 3837,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10780:1:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3842,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n let m := mload(0x40)\n mstore(add(m, 20), xor(0x140000000000000000000000000000000000000000, a))\n mstore(0x40, add(m, 52))\n b := m\n}",
|
|
"src": "10661:182:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3844,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "addressToBytes",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3838,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3837,
|
|
"name": "a",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3844,
|
|
"src": "10613:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3836,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10613:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10612:11:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3841,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3840,
|
|
"name": "b",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3844,
|
|
"src": "10646:7:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3839,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10646:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10645:9:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10589:254:25",
|
|
"stateMutability": "pure",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3859,
|
|
"nodeType": "Block",
|
|
"src": "10909:68:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3856,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3851,
|
|
"name": "b",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3849,
|
|
"src": "10916:1:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "3332",
|
|
"id": 3854,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10930:2:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_32_by_1",
|
|
"typeString": "int_const 32"
|
|
},
|
|
"value": "32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_32_by_1",
|
|
"typeString": "int_const 32"
|
|
}
|
|
],
|
|
"id": 3853,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "10920:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
|
|
"typeString": "function (uint256) pure returns (bytes memory)"
|
|
},
|
|
"typeName": {
|
|
"id": 3852,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10924:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
}
|
|
},
|
|
"id": 3855,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10920:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "10916:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3857,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10916:17:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"x": {
|
|
"declaration": 3846,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10970:1:25",
|
|
"valueSize": 1
|
|
}
|
|
},
|
|
{
|
|
"b": {
|
|
"declaration": 3849,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "10962:1:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3858,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n mstore(add(b, 32), x)\n}",
|
|
"src": "10940:37:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3860,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": true,
|
|
"modifiers": [],
|
|
"name": "uintToBytes",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3847,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3846,
|
|
"name": "x",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3860,
|
|
"src": "10867:9:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3845,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10867:7:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10866:11:25"
|
|
},
|
|
"payable": false,
|
|
"returnParameters": {
|
|
"id": 3850,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3849,
|
|
"name": "b",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3860,
|
|
"src": "10900:7:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3848,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10900:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10899:9:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10846:131:25",
|
|
"stateMutability": "pure",
|
|
"superFunction": null,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3998,
|
|
"nodeType": "Block",
|
|
"src": "11008:1178:25",
|
|
"statements": [
|
|
{
|
|
"assignments": [],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3864,
|
|
"name": "methodId",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3999,
|
|
"src": "11012:15:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 3863,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11012:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3865,
|
|
"initialValue": null,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "11012:15:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"methodId": {
|
|
"declaration": 3864,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "11045:8:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3866,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n methodId := calldataload(0)\n}",
|
|
"src": "11031:94:25"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3873,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3867,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "11127:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3870,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3868,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11145:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3869,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11145:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11127:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3871,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11158:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3872,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11158:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11127:46:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3882,
|
|
"nodeType": "IfStatement",
|
|
"src": "11123:101:25",
|
|
"trueBody": {
|
|
"id": 3881,
|
|
"nodeType": "Block",
|
|
"src": "11175:49:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3875,
|
|
"name": "calldataRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3057,
|
|
"src": "11187:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes memory => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3878,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3876,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11209:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3877,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11209:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11187:31:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
],
|
|
"id": 3874,
|
|
"name": "revert",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4020,
|
|
4021
|
|
],
|
|
"referencedDeclaration": 4021,
|
|
"src": "11180:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 3879,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11180:39:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3880,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11180:39:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3889,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3883,
|
|
"name": "calldataMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3049,
|
|
"src": "11231:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes memory => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3886,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3884,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11249:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3885,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11249:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11231:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3887,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11262:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3888,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11262:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11231:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3894,
|
|
"nodeType": "IfStatement",
|
|
"src": "11227:75:25",
|
|
"trueBody": {
|
|
"id": 3893,
|
|
"nodeType": "Block",
|
|
"src": "11281:21:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 3890,
|
|
"name": "useAllGas",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3795,
|
|
"src": "11286:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3891,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11286:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3892,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11286:11:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"assignments": [
|
|
3896
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3896,
|
|
"name": "result",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 3999,
|
|
"src": "11305:19:25",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 3895,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11305:5:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3901,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3897,
|
|
"name": "calldataExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3053,
|
|
"src": "11327:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes_memory_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes memory => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3900,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3898,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "11348:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3899,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11348:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11327:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "11305:52:25"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3905,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3902,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11402:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3903,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11402:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3904,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11419:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "11402:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3938,
|
|
"nodeType": "IfStatement",
|
|
"src": "11398:262:25",
|
|
"trueBody": {
|
|
"id": 3937,
|
|
"nodeType": "Block",
|
|
"src": "11422:238:25",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3911,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3906,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "11431:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3908,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3907,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11449:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11431:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3909,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11462:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3910,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11462:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11431:46:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3919,
|
|
"nodeType": "IfStatement",
|
|
"src": "11427:104:25",
|
|
"trueBody": {
|
|
"id": 3918,
|
|
"nodeType": "Block",
|
|
"src": "11479:52:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3913,
|
|
"name": "methodIdRevertMessages",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3077,
|
|
"src": "11492:22:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_string_storage_$",
|
|
"typeString": "mapping(bytes4 => string storage ref)"
|
|
}
|
|
},
|
|
"id": 3915,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3914,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11515:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11492:32:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
],
|
|
"id": 3912,
|
|
"name": "revert",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4020,
|
|
4021
|
|
],
|
|
"referencedDeclaration": 4021,
|
|
"src": "11485:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 3916,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11485:40:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3917,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11485:40:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3925,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3920,
|
|
"name": "methodIdMockTypes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "11539:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_enum$_MockType_$3027_$",
|
|
"typeString": "mapping(bytes4 => enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3922,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3921,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11557:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11539:27:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3923,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11570:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3924,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11570:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11539:48:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3930,
|
|
"nodeType": "IfStatement",
|
|
"src": "11535:77:25",
|
|
"trueBody": {
|
|
"id": 3929,
|
|
"nodeType": "Block",
|
|
"src": "11589:23:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 3926,
|
|
"name": "useAllGas",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3795,
|
|
"src": "11595:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3927,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11595:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3928,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11595:11:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3935,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3931,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11616:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3932,
|
|
"name": "methodIdExpectations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3073,
|
|
"src": "11625:20:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bytes_storage_$",
|
|
"typeString": "mapping(bytes4 => bytes storage ref)"
|
|
}
|
|
},
|
|
"id": 3934,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3933,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "11646:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11625:30:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "11616:39:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3936,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11616:39:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3942,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3939,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11705:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3940,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11705:13:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3941,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11722:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "11705:18:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3967,
|
|
"nodeType": "IfStatement",
|
|
"src": "11701:218:25",
|
|
"trueBody": {
|
|
"id": 3966,
|
|
"nodeType": "Block",
|
|
"src": "11725:194:25",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3946,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3943,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "11734:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3944,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11754:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3945,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "Revert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11754:15:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11734:35:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3952,
|
|
"nodeType": "IfStatement",
|
|
"src": "11730:82:25",
|
|
"trueBody": {
|
|
"id": 3951,
|
|
"nodeType": "Block",
|
|
"src": "11771:41:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3948,
|
|
"name": "fallbackRevertMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3087,
|
|
"src": "11784:21:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
],
|
|
"id": 3947,
|
|
"name": "revert",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4020,
|
|
4021
|
|
],
|
|
"referencedDeclaration": 4021,
|
|
"src": "11777:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 3949,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11777:29:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3950,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11777:29:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
},
|
|
"id": 3956,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3953,
|
|
"name": "fallbackMockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3083,
|
|
"src": "11820:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3954,
|
|
"name": "MockType",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3027,
|
|
"src": "11840:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_MockType_$3027_$",
|
|
"typeString": "type(enum MockContract.MockType)"
|
|
}
|
|
},
|
|
"id": 3955,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "OutOfGas",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11840:17:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_MockType_$3027",
|
|
"typeString": "enum MockContract.MockType"
|
|
}
|
|
},
|
|
"src": "11820:37:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": null,
|
|
"id": 3961,
|
|
"nodeType": "IfStatement",
|
|
"src": "11816:66:25",
|
|
"trueBody": {
|
|
"id": 3960,
|
|
"nodeType": "Block",
|
|
"src": "11859:23:25",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 3957,
|
|
"name": "useAllGas",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3795,
|
|
"src": "11865:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3958,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11865:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3959,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11865:11:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3964,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3962,
|
|
"name": "result",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3896,
|
|
"src": "11886:6:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3963,
|
|
"name": "fallbackExpectation",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3085,
|
|
"src": "11895:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage",
|
|
"typeString": "bytes storage ref"
|
|
}
|
|
},
|
|
"src": "11886:28:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 3965,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11886:28:25"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3970,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3968,
|
|
"name": "invocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3089,
|
|
"src": "11946:11:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3969,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11961:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "11946:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3971,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11946:16:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3982,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3972,
|
|
"name": "methodIdInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3081,
|
|
"src": "11966:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3980,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3976,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "12013:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3977,
|
|
"name": "methodId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3864,
|
|
"src": "12025:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3974,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "11996:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3975,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "11996:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3978,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11996:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3973,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "11986:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3979,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11986:49:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11966:70:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3981,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "12040:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "11966:75:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3983,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11966:75:25"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3995,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3984,
|
|
"name": "calldataInvocations",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3061,
|
|
"src": "12045:19:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3993,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3988,
|
|
"name": "resetCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3091,
|
|
"src": "12092:10:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3989,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4015,
|
|
"src": "12104:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 3990,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "data",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "12104:8:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3986,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4002,
|
|
"src": "12075:3:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 3987,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "12075:16:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 3991,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12075:38:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 3985,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4009,
|
|
"src": "12065:9:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
|
|
"typeString": "function () pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3992,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12065:49:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "12045:70:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3994,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "12119:1:25",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "12045:75:25",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3996,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12045:75:25"
|
|
},
|
|
{
|
|
"externalReferences": [
|
|
{
|
|
"result": {
|
|
"declaration": 3896,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "12156:6:25",
|
|
"valueSize": 1
|
|
}
|
|
},
|
|
{
|
|
"result": {
|
|
"declaration": 3896,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "12171:6:25",
|
|
"valueSize": 1
|
|
}
|
|
}
|
|
],
|
|
"id": 3997,
|
|
"nodeType": "InlineAssembly",
|
|
"operations": "{\n return(add(0x20, result), mload(result))\n}",
|
|
"src": "12125:61:25"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 3999,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"isDeclaredConst": false,
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 3861,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "10988:2:25"
|
|
},
|
|
"payable": true,
|
|
"returnParameters": {
|
|
"id": 3862,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "11008:0:25"
|
|
},
|
|
"scope": 4000,
|
|
"src": "10980:1206:25",
|
|
"stateMutability": "payable",
|
|
"superFunction": null,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 4001,
|
|
"src": "3453:8735:25"
|
|
}
|
|
],
|
|
"src": "0:12189:25"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "2.0.0",
|
|
"updatedAt": "2018-10-05T14:25:58.953Z"
|
|
} |