UNPKG

@ethsub/sol

Version:
551 lines 22.6 kB
{ "contractName": "IGenericHandler", "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "resourceID", "type": "bytes32" }, { "internalType": "address", "name": "contractAddress", "type": "address" }, { "internalType": "bytes4", "name": "depositFunctionSig", "type": "bytes4" }, { "internalType": "uint256", "name": "depositFunctionDepositerOffset", "type": "uint256" }, { "internalType": "bytes4", "name": "executeFunctionSig", "type": "bytes4" } ], "name": "setResource", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"depositFunctionSig\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"depositFunctionDepositerOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"executeFunctionSig\",\"type\":\"bytes4\"}],\"name\":\"setResource\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"ChainSafe Systems.\",\"kind\":\"dev\",\"methods\":{\"setResource(bytes32,address,bytes4,uint256,bytes4)\":{\"params\":{\"contractAddress\":\"Address of contract to be called when a deposit is made and a deposited is executed.\",\"depositFunctionDepositerOffset\":\"Depositer address position offset in the metadata, in bytes.\",\"depositFunctionSig\":\"Function signature of method to be called in {contractAddress} when a deposit is made.\",\"executeFunctionSig\":\"Function signature of method to be called in {contractAddress} when a deposit is executed.\",\"resourceID\":\"ResourceID to be used when making deposits.\"}}},\"title\":\"Interface for handler that handles generic deposits and deposit executions.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setResource(bytes32,address,bytes4,uint256,bytes4)\":{\"notice\":\"Correlates {resourceID} with {contractAddress}, {depositFunctionSig}, and {executeFunctionSig}.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IGenericHandler.sol\":\"IGenericHandler\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IGenericHandler.sol\":{\"keccak256\":\"0xb08694c5d5e003ab884d7f22fd616d9603ae60a9d8d48901feb2c2daebfe0d40\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://310082dd159a2b23c4cf8589a19ef3e31146d2879145c452e4edf63b11389008\",\"dweb:/ipfs/QmRzAnt66RzitcJrwTfxQeK1X1GSo9TEQF7y3WWbYZYxGS\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity 0.6.12;\n\n/**\n @title Interface for handler that handles generic deposits and deposit executions.\n @author ChainSafe Systems.\n */\ninterface IGenericHandler {\n /**\n @notice Correlates {resourceID} with {contractAddress}, {depositFunctionSig}, and {executeFunctionSig}.\n @param resourceID ResourceID to be used when making deposits.\n @param contractAddress Address of contract to be called when a deposit is made and a deposited is executed.\n @param depositFunctionSig Function signature of method to be called in {contractAddress} when a deposit is made.\n @param depositFunctionDepositerOffset Depositer address position offset in the metadata, in bytes.\n @param executeFunctionSig Function signature of method to be called in {contractAddress} when a deposit is executed.\n */\n function setResource(\n bytes32 resourceID,\n address contractAddress,\n bytes4 depositFunctionSig,\n uint depositFunctionDepositerOffset,\n bytes4 executeFunctionSig) external;\n}", "sourcePath": "/home/sigo/w/deer/ethsub/packages/sol/contracts/interfaces/IGenericHandler.sol", "ast": { "absolutePath": "project:/contracts/interfaces/IGenericHandler.sol", "exportedSymbols": { "IGenericHandler": [ 9858 ] }, "id": 9859, "license": "LGPL-3.0-only", "nodeType": "SourceUnit", "nodes": [ { "id": 9842, "literals": [ "solidity", "0.6", ".12" ], "nodeType": "PragmaDirective", "src": "42:23:52" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": { "id": 9843, "nodeType": "StructuredDocumentation", "src": "67:125:52", "text": "@title Interface for handler that handles generic deposits and deposit executions.\n@author ChainSafe Systems." }, "fullyImplemented": false, "id": 9858, "linearizedBaseContracts": [ 9858 ], "name": "IGenericHandler", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": { "id": 9844, "nodeType": "StructuredDocumentation", "src": "225:662:52", "text": "@notice Correlates {resourceID} with {contractAddress}, {depositFunctionSig}, and {executeFunctionSig}.\n@param resourceID ResourceID to be used when making deposits.\n@param contractAddress Address of contract to be called when a deposit is made and a deposited is executed.\n@param depositFunctionSig Function signature of method to be called in {contractAddress} when a deposit is made.\n@param depositFunctionDepositerOffset Depositer address position offset in the metadata, in bytes.\n@param executeFunctionSig Function signature of method to be called in {contractAddress} when a deposit is executed." }, "functionSelector": "de319d99", "id": 9857, "implemented": false, "kind": "function", "modifiers": [], "name": "setResource", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 9855, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9846, "mutability": "mutable", "name": "resourceID", "nodeType": "VariableDeclaration", "overrides": null, "scope": 9857, "src": "922:18:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9845, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "922:7:52", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 9848, "mutability": "mutable", "name": "contractAddress", "nodeType": "VariableDeclaration", "overrides": null, "scope": 9857, "src": "950:23:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9847, "name": "address", "nodeType": "ElementaryTypeName", "src": "950:7:52", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 9850, "mutability": "mutable", "name": "depositFunctionSig", "nodeType": "VariableDeclaration", "overrides": null, "scope": 9857, "src": "983:25:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 9849, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "983:6:52", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 9852, "mutability": "mutable", "name": "depositFunctionDepositerOffset", "nodeType": "VariableDeclaration", "overrides": null, "scope": 9857, "src": "1018:35:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9851, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1018:4:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 9854, "mutability": "mutable", "name": "executeFunctionSig", "nodeType": "VariableDeclaration", "overrides": null, "scope": 9857, "src": "1063:25:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 9853, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "1063:6:52", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": null, "visibility": "internal" } ], "src": "912:177:52" }, "returnParameters": { "id": 9856, "nodeType": "ParameterList", "parameters": [], "src": "1098:0:52" }, "scope": 9858, "src": "892:207:52", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 9859, "src": "193:908:52" } ], "src": "42:1059:52" }, "legacyAST": { "attributes": { "absolutePath": "project:/contracts/interfaces/IGenericHandler.sol", "exportedSymbols": { "IGenericHandler": [ 9858 ] }, "license": "LGPL-3.0-only" }, "children": [ { "attributes": { "literals": [ "solidity", "0.6", ".12" ] }, "id": 9842, "name": "PragmaDirective", "src": "42:23:52" }, { "attributes": { "abstract": false, "baseContracts": [ null ], "contractDependencies": [ null ], "contractKind": "interface", "fullyImplemented": false, "linearizedBaseContracts": [ 9858 ], "name": "IGenericHandler", "scope": 9859 }, "children": [ { "attributes": { "text": "@title Interface for handler that handles generic deposits and deposit executions.\n@author ChainSafe Systems." }, "id": 9843, "name": "StructuredDocumentation", "src": "67:125:52" }, { "attributes": { "body": null, "functionSelector": "de319d99", "implemented": false, "isConstructor": false, "kind": "function", "modifiers": [ null ], "name": "setResource", "overrides": null, "scope": 9858, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, "children": [ { "attributes": { "text": "@notice Correlates {resourceID} with {contractAddress}, {depositFunctionSig}, and {executeFunctionSig}.\n@param resourceID ResourceID to be used when making deposits.\n@param contractAddress Address of contract to be called when a deposit is made and a deposited is executed.\n@param depositFunctionSig Function signature of method to be called in {contractAddress} when a deposit is made.\n@param depositFunctionDepositerOffset Depositer address position offset in the metadata, in bytes.\n@param executeFunctionSig Function signature of method to be called in {contractAddress} when a deposit is executed." }, "id": 9844, "name": "StructuredDocumentation", "src": "225:662:52" }, { "children": [ { "attributes": { "constant": false, "mutability": "mutable", "name": "resourceID", "overrides": null, "scope": 9857, "stateVariable": false, "storageLocation": "default", "type": "bytes32", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes32", "type": "bytes32" }, "id": 9845, "name": "ElementaryTypeName", "src": "922:7:52" } ], "id": 9846, "name": "VariableDeclaration", "src": "922:18:52" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "contractAddress", "overrides": null, "scope": 9857, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "stateMutability": "nonpayable", "type": "address" }, "id": 9847, "name": "ElementaryTypeName", "src": "950:7:52" } ], "id": 9848, "name": "VariableDeclaration", "src": "950:23:52" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "depositFunctionSig", "overrides": null, "scope": 9857, "stateVariable": false, "storageLocation": "default", "type": "bytes4", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes4", "type": "bytes4" }, "id": 9849, "name": "ElementaryTypeName", "src": "983:6:52" } ], "id": 9850, "name": "VariableDeclaration", "src": "983:25:52" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "depositFunctionDepositerOffset", "overrides": null, "scope": 9857, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint", "type": "uint256" }, "id": 9851, "name": "ElementaryTypeName", "src": "1018:4:52" } ], "id": 9852, "name": "VariableDeclaration", "src": "1018:35:52" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "executeFunctionSig", "overrides": null, "scope": 9857, "stateVariable": false, "storageLocation": "default", "type": "bytes4", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes4", "type": "bytes4" }, "id": 9853, "name": "ElementaryTypeName", "src": "1063:6:52" } ], "id": 9854, "name": "VariableDeclaration", "src": "1063:25:52" } ], "id": 9855, "name": "ParameterList", "src": "912:177:52" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 9856, "name": "ParameterList", "src": "1098:0:52" } ], "id": 9857, "name": "FunctionDefinition", "src": "892:207:52" } ], "id": 9858, "name": "ContractDefinition", "src": "193:908:52" } ], "id": 9859, "name": "SourceUnit", "src": "42:1059:52" }, "compiler": { "name": "solc", "version": "0.6.12+commit.27d51765.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.3", "updatedAt": "2021-11-29T02:07:34.277Z", "devdoc": { "author": "ChainSafe Systems.", "kind": "dev", "methods": { "setResource(bytes32,address,bytes4,uint256,bytes4)": { "params": { "contractAddress": "Address of contract to be called when a deposit is made and a deposited is executed.", "depositFunctionDepositerOffset": "Depositer address position offset in the metadata, in bytes.", "depositFunctionSig": "Function signature of method to be called in {contractAddress} when a deposit is made.", "executeFunctionSig": "Function signature of method to be called in {contractAddress} when a deposit is executed.", "resourceID": "ResourceID to be used when making deposits." } } }, "title": "Interface for handler that handles generic deposits and deposit executions.", "version": 1 }, "userdoc": { "kind": "user", "methods": { "setResource(bytes32,address,bytes4,uint256,bytes4)": { "notice": "Correlates {resourceID} with {contractAddress}, {depositFunctionSig}, and {executeFunctionSig}." } }, "version": 1 } }