UNPKG

@realitio/realitio-contracts

Version:

Collection of smart contracts for the Realitio fact verification platform

738 lines 27.3 kB
{ "contractName": "ExplodingCallbackClient", "abi": [ { "constant": false, "inputs": [ { "name": "question_id", "type": "bytes32" }, { "name": "question_answer", "type": "bytes32" } ], "name": "__realitycheck_callback", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5060d28061001f6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631d7dbb43146044575b600080fd5b348015604f57600080fd5b50607e600480360381019080803560001916906020019092919080356000191690602001909291905050506080565b005b6000600102905060016000806101000a81548160ff021916908315150217905550600080fd00a165627a7a7230582085d3b839831e38b2765f16513e4765fb77283e919eb8a434996ae3538bb73d030029", "deployedBytecode": "0x608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631d7dbb43146044575b600080fd5b348015604f57600080fd5b50607e600480360381019080803560001916906020019092919080356000191690602001909291905050506080565b005b6000600102905060016000806101000a81548160ff021916908315150217905550600080fd00a165627a7a7230582085d3b839831e38b2765f16513e4765fb77283e919eb8a434996ae3538bb73d030029", "sourceMap": "26:334:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:334:5;;;;;;;", "deployedSourceMap": "26:334:5:-;;;;;;;;;;;;;;;;;;;;;;;;157:200;;8:9:-1;5:2;;;30:1;27;20:12;5:2;157:200:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;304:3;286:21;;;;328:4;317:8;;:15;;;;;;;;;;;;;;;;;;342:8;;", "source": "pragma solidity ^0.4.25;\n\ncontract ExplodingCallbackClient {\n\n // Just write some state to avoid warnings that this could be pure\n bool impurity;\n\n function __realitycheck_callback(bytes32 question_id, bytes32 question_answer) \n public {\n question_id == 0x0;\n question_answer = 0x0;\n impurity = true;\n revert();\n }\n\n}\n", "sourcePath": "/home/ed/working/realitio-contracts/truffle/contracts/ExplodingCallbackClient.sol", "ast": { "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/ExplodingCallbackClient.sol", "exportedSymbols": { "ExplodingCallbackClient": [ 1160 ] }, "id": 1161, "nodeType": "SourceUnit", "nodes": [ { "id": 1134, "literals": [ "solidity", "^", "0.4", ".25" ], "nodeType": "PragmaDirective", "src": "0:24:5" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1160, "linearizedBaseContracts": [ 1160 ], "name": "ExplodingCallbackClient", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1136, "name": "impurity", "nodeType": "VariableDeclaration", "scope": 1160, "src": "137:13:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1135, "name": "bool", "nodeType": "ElementaryTypeName", "src": "137:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "body": { "id": 1158, "nodeType": "Block", "src": "248:109:5", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1143, "name": "question_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1138, "src": "258:11:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "307830", "id": 1144, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "273:3:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0x0" }, "src": "258:18:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1146, "nodeType": "ExpressionStatement", "src": "258:18:5" }, { "expression": { "argumentTypes": null, "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1147, "name": "question_answer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1140, "src": "286:15:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "307830", "id": 1148, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "304:3:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0x0" }, "src": "286:21:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 1150, "nodeType": "ExpressionStatement", "src": "286:21:5" }, { "expression": { "argumentTypes": null, "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1151, "name": "impurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1136, "src": "317:8:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "328:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "317:15:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1154, "nodeType": "ExpressionStatement", "src": "317:15:5" }, { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 1155, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ 9708, 9709 ], "referencedDeclaration": 9708, "src": "342:6:5", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "342:8:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1157, "nodeType": "ExpressionStatement", "src": "342:8:5" } ] }, "documentation": null, "id": 1159, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "__realitycheck_callback", "nodeType": "FunctionDefinition", "parameters": { "id": 1141, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1138, "name": "question_id", "nodeType": "VariableDeclaration", "scope": 1159, "src": "190:19:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 1137, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "190:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1140, "name": "question_answer", "nodeType": "VariableDeclaration", "scope": 1159, "src": "211:23:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 1139, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "211:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "189:46:5" }, "payable": false, "returnParameters": { "id": 1142, "nodeType": "ParameterList", "parameters": [], "src": "248:0:5" }, "scope": 1160, "src": "157:200:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 1161, "src": "26:334:5" } ], "src": "0:361:5" }, "legacyAST": { "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/ExplodingCallbackClient.sol", "exportedSymbols": { "ExplodingCallbackClient": [ 1160 ] }, "id": 1161, "nodeType": "SourceUnit", "nodes": [ { "id": 1134, "literals": [ "solidity", "^", "0.4", ".25" ], "nodeType": "PragmaDirective", "src": "0:24:5" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1160, "linearizedBaseContracts": [ 1160 ], "name": "ExplodingCallbackClient", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1136, "name": "impurity", "nodeType": "VariableDeclaration", "scope": 1160, "src": "137:13:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1135, "name": "bool", "nodeType": "ElementaryTypeName", "src": "137:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "body": { "id": 1158, "nodeType": "Block", "src": "248:109:5", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1143, "name": "question_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1138, "src": "258:11:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "307830", "id": 1144, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "273:3:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0x0" }, "src": "258:18:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1146, "nodeType": "ExpressionStatement", "src": "258:18:5" }, { "expression": { "argumentTypes": null, "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1147, "name": "question_answer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1140, "src": "286:15:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "307830", "id": 1148, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "304:3:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0x0" }, "src": "286:21:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 1150, "nodeType": "ExpressionStatement", "src": "286:21:5" }, { "expression": { "argumentTypes": null, "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1151, "name": "impurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1136, "src": "317:8:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "328:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "317:15:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1154, "nodeType": "ExpressionStatement", "src": "317:15:5" }, { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 1155, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ 9708, 9709 ], "referencedDeclaration": 9708, "src": "342:6:5", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "342:8:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1157, "nodeType": "ExpressionStatement", "src": "342:8:5" } ] }, "documentation": null, "id": 1159, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "__realitycheck_callback", "nodeType": "FunctionDefinition", "parameters": { "id": 1141, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1138, "name": "question_id", "nodeType": "VariableDeclaration", "scope": 1159, "src": "190:19:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 1137, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "190:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1140, "name": "question_answer", "nodeType": "VariableDeclaration", "scope": 1159, "src": "211:23:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 1139, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "211:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "189:46:5" }, "payable": false, "returnParameters": { "id": 1142, "nodeType": "ParameterList", "parameters": [], "src": "248:0:5" }, "scope": 1160, "src": "157:200:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 1161, "src": "26:334:5" } ], "src": "0:361:5" }, "compiler": { "name": "solc", "version": "0.4.25+commit.59dbf8f1.Emscripten.clang", "optimizer": false, "runs": 200 }, "networks": {}, "schemaVersion": "2.3.3", "updatedAt": "2021-01-13T02:23:04.459Z" }