@ethsub/sol
Version:
ethsub contracts
707 lines • 26.3 kB
JSON
{
"contractName": "IDepositExecute",
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "resourceID",
"type": "bytes32"
},
{
"internalType": "address",
"name": "depositer",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "deposit",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "resourceID",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "executeProposal",
"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\":\"depositer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"executeProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"ChainSafe Systems.\",\"kind\":\"dev\",\"methods\":{\"deposit(bytes32,address,bytes)\":{\"params\":{\"data\":\"Consists of additional data needed for a specific deposit.\",\"depositer\":\"Address of account making the deposit in the Bridge contract.\"}},\"executeProposal(bytes32,bytes)\":{\"params\":{\"data\":\"Consists of additional data needed for a specific deposit execution.\"}}},\"title\":\"Interface for handler contracts that support deposits and deposit executions.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deposit(bytes32,address,bytes)\":{\"notice\":\"It is intended that deposit are made using the Bridge contract.\"},\"executeProposal(bytes32,bytes)\":{\"notice\":\"It is intended that proposals are executed by the Bridge contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IDepositExecute.sol\":\"IDepositExecute\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IDepositExecute.sol\":{\"keccak256\":\"0x3623f906ae6f354cbf27ffd4eeccbfc2c3baa94783c5dd854b2e0f50db2a7c8d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://26f8ddafd8655375eeb861a033fe390b3235c4f8de9a54e0524b91d2d1992674\",\"dweb:/ipfs/QmUAsxc8j4UdaDZ5HVp73kAwLpgTqqrgZG1sX86iRKZTqv\"]}},\"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 contracts that support deposits and deposit executions.\n @author ChainSafe Systems.\n */\ninterface IDepositExecute {\n /**\n @notice It is intended that deposit are made using the Bridge contract.\n @param depositer Address of account making the deposit in the Bridge contract.\n @param data Consists of additional data needed for a specific deposit.\n */\n function deposit(bytes32 resourceID, address depositer, bytes calldata data) external returns (bytes memory);\n\n /**\n @notice It is intended that proposals are executed by the Bridge contract.\n @param data Consists of additional data needed for a specific deposit execution.\n */\n function executeProposal(bytes32 resourceID, bytes calldata data) external;\n}\n",
"sourcePath": "/home/sigo/w/deer/ethsub/packages/sol/contracts/interfaces/IDepositExecute.sol",
"ast": {
"absolutePath": "project:/contracts/interfaces/IDepositExecute.sol",
"exportedSymbols": {
"IDepositExecute": [
9816
]
},
"id": 9817,
"license": "LGPL-3.0-only",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9794,
"literals": [
"solidity",
"0.6",
".12"
],
"nodeType": "PragmaDirective",
"src": "42:23:50"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 9795,
"nodeType": "StructuredDocumentation",
"src": "67:127:50",
"text": "@title Interface for handler contracts that support deposits and deposit executions.\n@author ChainSafe Systems."
},
"fullyImplemented": false,
"id": 9816,
"linearizedBaseContracts": [
9816
],
"name": "IDepositExecute",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": {
"id": 9796,
"nodeType": "StructuredDocumentation",
"src": "227:257:50",
"text": "@notice It is intended that deposit are made using the Bridge contract.\n@param depositer Address of account making the deposit in the Bridge contract.\n@param data Consists of additional data needed for a specific deposit."
},
"functionSelector": "b07e54bb",
"id": 9807,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "deposit",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 9803,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9798,
"mutability": "mutable",
"name": "resourceID",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 9807,
"src": "506:18:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 9797,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "506:7:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 9800,
"mutability": "mutable",
"name": "depositer",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 9807,
"src": "526:17:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9799,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "526:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 9802,
"mutability": "mutable",
"name": "data",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 9807,
"src": "545:19:50",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 9801,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "545:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "505:60:50"
},
"returnParameters": {
"id": 9806,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9805,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 9807,
"src": "584:12:50",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 9804,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "584:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "583:14:50"
},
"scope": 9816,
"src": "489:109:50",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": {
"id": 9808,
"nodeType": "StructuredDocumentation",
"src": "604:183:50",
"text": "@notice It is intended that proposals are executed by the Bridge contract.\n@param data Consists of additional data needed for a specific deposit execution."
},
"functionSelector": "e248cff2",
"id": 9815,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "executeProposal",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 9813,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9810,
"mutability": "mutable",
"name": "resourceID",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 9815,
"src": "817:18:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 9809,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "817:7:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 9812,
"mutability": "mutable",
"name": "data",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 9815,
"src": "837:19:50",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 9811,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "837:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "816:41:50"
},
"returnParameters": {
"id": 9814,
"nodeType": "ParameterList",
"parameters": [],
"src": "866:0:50"
},
"scope": 9816,
"src": "792:75:50",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 9817,
"src": "195:674:50"
}
],
"src": "42:828:50"
},
"legacyAST": {
"attributes": {
"absolutePath": "project:/contracts/interfaces/IDepositExecute.sol",
"exportedSymbols": {
"IDepositExecute": [
9816
]
},
"license": "LGPL-3.0-only"
},
"children": [
{
"attributes": {
"literals": [
"solidity",
"0.6",
".12"
]
},
"id": 9794,
"name": "PragmaDirective",
"src": "42:23:50"
},
{
"attributes": {
"abstract": false,
"baseContracts": [
null
],
"contractDependencies": [
null
],
"contractKind": "interface",
"fullyImplemented": false,
"linearizedBaseContracts": [
9816
],
"name": "IDepositExecute",
"scope": 9817
},
"children": [
{
"attributes": {
"text": "@title Interface for handler contracts that support deposits and deposit executions.\n@author ChainSafe Systems."
},
"id": 9795,
"name": "StructuredDocumentation",
"src": "67:127:50"
},
{
"attributes": {
"body": null,
"functionSelector": "b07e54bb",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "deposit",
"overrides": null,
"scope": 9816,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"text": "@notice It is intended that deposit are made using the Bridge contract.\n@param depositer Address of account making the deposit in the Bridge contract.\n@param data Consists of additional data needed for a specific deposit."
},
"id": 9796,
"name": "StructuredDocumentation",
"src": "227:257:50"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "resourceID",
"overrides": null,
"scope": 9807,
"stateVariable": false,
"storageLocation": "default",
"type": "bytes32",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes32",
"type": "bytes32"
},
"id": 9797,
"name": "ElementaryTypeName",
"src": "506:7:50"
}
],
"id": 9798,
"name": "VariableDeclaration",
"src": "506:18:50"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "depositer",
"overrides": null,
"scope": 9807,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 9799,
"name": "ElementaryTypeName",
"src": "526:7:50"
}
],
"id": 9800,
"name": "VariableDeclaration",
"src": "526:17:50"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "data",
"overrides": null,
"scope": 9807,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 9801,
"name": "ElementaryTypeName",
"src": "545:5:50"
}
],
"id": 9802,
"name": "VariableDeclaration",
"src": "545:19:50"
}
],
"id": 9803,
"name": "ParameterList",
"src": "505:60:50"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"overrides": null,
"scope": 9807,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 9804,
"name": "ElementaryTypeName",
"src": "584:5:50"
}
],
"id": 9805,
"name": "VariableDeclaration",
"src": "584:12:50"
}
],
"id": 9806,
"name": "ParameterList",
"src": "583:14:50"
}
],
"id": 9807,
"name": "FunctionDefinition",
"src": "489:109:50"
},
{
"attributes": {
"body": null,
"functionSelector": "e248cff2",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "executeProposal",
"overrides": null,
"scope": 9816,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"text": "@notice It is intended that proposals are executed by the Bridge contract.\n@param data Consists of additional data needed for a specific deposit execution."
},
"id": 9808,
"name": "StructuredDocumentation",
"src": "604:183:50"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "resourceID",
"overrides": null,
"scope": 9815,
"stateVariable": false,
"storageLocation": "default",
"type": "bytes32",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes32",
"type": "bytes32"
},
"id": 9809,
"name": "ElementaryTypeName",
"src": "817:7:50"
}
],
"id": 9810,
"name": "VariableDeclaration",
"src": "817:18:50"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "data",
"overrides": null,
"scope": 9815,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 9811,
"name": "ElementaryTypeName",
"src": "837:5:50"
}
],
"id": 9812,
"name": "VariableDeclaration",
"src": "837:19:50"
}
],
"id": 9813,
"name": "ParameterList",
"src": "816:41:50"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 9814,
"name": "ParameterList",
"src": "866:0:50"
}
],
"id": 9815,
"name": "FunctionDefinition",
"src": "792:75:50"
}
],
"id": 9816,
"name": "ContractDefinition",
"src": "195:674:50"
}
],
"id": 9817,
"name": "SourceUnit",
"src": "42:828:50"
},
"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": {
"deposit(bytes32,address,bytes)": {
"params": {
"data": "Consists of additional data needed for a specific deposit.",
"depositer": "Address of account making the deposit in the Bridge contract."
}
},
"executeProposal(bytes32,bytes)": {
"params": {
"data": "Consists of additional data needed for a specific deposit execution."
}
}
},
"title": "Interface for handler contracts that support deposits and deposit executions.",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"deposit(bytes32,address,bytes)": {
"notice": "It is intended that deposit are made using the Bridge contract."
},
"executeProposal(bytes32,bytes)": {
"notice": "It is intended that proposals are executed by the Bridge contract."
}
},
"version": 1
}
}