@andrekorol/kollateral-contracts
Version:
Kollateral protocol, the flash loan building block
1,434 lines • 54.8 kB
JSON
{
"contractName": "IInvoker",
"abi": [
{
"inputs": [],
"name": "currentRepaymentAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentSender",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentTokenAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currentTokenAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "invokeTo",
"type": "address"
},
{
"internalType": "bytes",
"name": "invokeData",
"type": "bytes"
},
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
}
],
"name": "invoke",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "invokeCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "poolReward",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
}
],
"name": "poolRewardAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "platformReward",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "platformVaultAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
}
],
"name": "isTokenAddressRegistered",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
}
],
"name": "totalLiquidity",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.7.3+commit.9bfce1f6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"currentRepaymentAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentTokenAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"invokeTo\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"invokeData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"invoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"invokeCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"isTokenAddressRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"platformReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"platformVaultAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"poolRewardAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"totalLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvoker.sol\":\"IInvoker\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvocationHook.sol\":{\"keccak256\":\"0x36fb31db8a8e7eed7038b37554582655826969a556005d8ee3ab5070fe034860\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e0dde70be03ea1e086a5bce0d3a7bb1ac65549eab7ea2618343255332edddca7\",\"dweb:/ipfs/QmVaQG686g3tbgM3L3mtw4ei1WxzcDRcS9UxipSt4KCYs1\"]},\"/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvoker.sol\":{\"keccak256\":\"0x8a9fcbe16fdb00f3b5f32c528564cf4ba5c47ed9741a673973087d4d604e0b5a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b4af56bf9d2bd95bddca2156c6eea65c5caf0117d9a99d6cc575ac2c329bd672\",\"dweb:/ipfs/QmTxg3NpWNAxaVHKYU1cdVboo962auWmq5pmS9XvXcXNAF\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [],
"sourceMap": "",
"deployedSourceMap": "",
"source": "/*\n\n Copyright 2020 Kollateral LLC.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\n// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.7.0;\n\nimport \"./IInvocationHook.sol\";\n\ninterface IInvoker is IInvocationHook {\n function invoke(\n address invokeTo,\n bytes calldata invokeData,\n address tokenAddress,\n uint256 tokenAmount\n ) external payable;\n\n function invokeCallback() external;\n\n function poolReward() external view returns (uint256);\n\n function poolRewardAddress(address tokenAddress)\n external\n view\n returns (address);\n\n function platformReward() external view returns (uint256);\n\n function platformVaultAddress() external view returns (address);\n\n function isTokenAddressRegistered(address tokenAddress)\n external\n view\n returns (bool);\n\n function totalLiquidity(address tokenAddress)\n external\n view\n returns (uint256);\n}\n",
"sourcePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvoker.sol",
"ast": {
"absolutePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvoker.sol",
"exportedSymbols": {
"IInvocationHook": [
1170
],
"IInvoker": [
1234
]
},
"id": 1235,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1180,
"literals": [
"solidity",
"^",
"0.7",
".0"
],
"nodeType": "PragmaDirective",
"src": "640:23:4"
},
{
"absolutePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvocationHook.sol",
"file": "./IInvocationHook.sol",
"id": 1181,
"nodeType": "ImportDirective",
"scope": 1235,
"sourceUnit": 1171,
"src": "665:31:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 1182,
"name": "IInvocationHook",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1170,
"src": "720:15:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IInvocationHook_$1170",
"typeString": "contract IInvocationHook"
}
},
"id": 1183,
"nodeType": "InheritanceSpecifier",
"src": "720:15:4"
}
],
"contractDependencies": [
1170
],
"contractKind": "interface",
"fullyImplemented": false,
"id": 1234,
"linearizedBaseContracts": [
1234,
1170
],
"name": "IInvoker",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "0e02e6a3",
"id": 1194,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "invoke",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1192,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1185,
"mutability": "mutable",
"name": "invokeTo",
"nodeType": "VariableDeclaration",
"scope": 1194,
"src": "767:16:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1184,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "767:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 1187,
"mutability": "mutable",
"name": "invokeData",
"nodeType": "VariableDeclaration",
"scope": 1194,
"src": "793:25:4",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 1186,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "793:5:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 1189,
"mutability": "mutable",
"name": "tokenAddress",
"nodeType": "VariableDeclaration",
"scope": 1194,
"src": "828:20:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1188,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "828:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 1191,
"mutability": "mutable",
"name": "tokenAmount",
"nodeType": "VariableDeclaration",
"scope": 1194,
"src": "858:19:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1190,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "858:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "757:126:4"
},
"returnParameters": {
"id": 1193,
"nodeType": "ParameterList",
"parameters": [],
"src": "900:0:4"
},
"scope": 1234,
"src": "742:159:4",
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "0a5ca4e8",
"id": 1197,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "invokeCallback",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1195,
"nodeType": "ParameterList",
"parameters": [],
"src": "930:2:4"
},
"returnParameters": {
"id": 1196,
"nodeType": "ParameterList",
"parameters": [],
"src": "941:0:4"
},
"scope": 1234,
"src": "907:35:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "fef10b95",
"id": 1202,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "poolReward",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1198,
"nodeType": "ParameterList",
"parameters": [],
"src": "967:2:4"
},
"returnParameters": {
"id": 1201,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1200,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1202,
"src": "993:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1199,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "993:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "992:9:4"
},
"scope": 1234,
"src": "948:54:4",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "8a698bcc",
"id": 1209,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "poolRewardAddress",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1205,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1204,
"mutability": "mutable",
"name": "tokenAddress",
"nodeType": "VariableDeclaration",
"scope": 1209,
"src": "1035:20:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1203,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1035:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1034:22:4"
},
"returnParameters": {
"id": 1208,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1207,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1209,
"src": "1104:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1206,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1104:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1103:9:4"
},
"scope": 1234,
"src": "1008:105:4",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "fe6551b6",
"id": 1214,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "platformReward",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1210,
"nodeType": "ParameterList",
"parameters": [],
"src": "1142:2:4"
},
"returnParameters": {
"id": 1213,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1212,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1214,
"src": "1168:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1211,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1168:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1167:9:4"
},
"scope": 1234,
"src": "1119:58:4",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "5f39e93a",
"id": 1219,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "platformVaultAddress",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1215,
"nodeType": "ParameterList",
"parameters": [],
"src": "1212:2:4"
},
"returnParameters": {
"id": 1218,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1217,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1219,
"src": "1238:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1216,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1238:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1237:9:4"
},
"scope": 1234,
"src": "1183:64:4",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "9c0743df",
"id": 1226,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isTokenAddressRegistered",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1222,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1221,
"mutability": "mutable",
"name": "tokenAddress",
"nodeType": "VariableDeclaration",
"scope": 1226,
"src": "1287:20:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1220,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1287:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1286:22:4"
},
"returnParameters": {
"id": 1225,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1224,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1226,
"src": "1356:4:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 1223,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1356:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1355:6:4"
},
"scope": 1234,
"src": "1253:109:4",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "c56326de",
"id": 1233,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "totalLiquidity",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1229,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1228,
"mutability": "mutable",
"name": "tokenAddress",
"nodeType": "VariableDeclaration",
"scope": 1233,
"src": "1392:20:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1227,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1392:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1391:22:4"
},
"returnParameters": {
"id": 1232,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1231,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1233,
"src": "1461:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1230,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1461:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1460:9:4"
},
"scope": 1234,
"src": "1368:102:4",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 1235,
"src": "698:774:4"
}
],
"src": "640:833:4"
},
"legacyAST": {
"attributes": {
"absolutePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvoker.sol",
"exportedSymbols": {
"IInvocationHook": [
1170
],
"IInvoker": [
1234
]
},
"license": "Apache-2.0"
},
"children": [
{
"attributes": {
"literals": [
"solidity",
"^",
"0.7",
".0"
]
},
"id": 1180,
"name": "PragmaDirective",
"src": "640:23:4"
},
{
"attributes": {
"SourceUnit": 1171,
"absolutePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvocationHook.sol",
"file": "./IInvocationHook.sol",
"scope": 1235,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 1181,
"name": "ImportDirective",
"src": "665:31:4"
},
{
"attributes": {
"abstract": false,
"contractDependencies": [
1170
],
"contractKind": "interface",
"fullyImplemented": false,
"linearizedBaseContracts": [
1234,
1170
],
"name": "IInvoker",
"scope": 1235
},
"children": [
{
"attributes": {},
"children": [
{
"attributes": {
"name": "IInvocationHook",
"referencedDeclaration": 1170,
"type": "contract IInvocationHook"
},
"id": 1182,
"name": "UserDefinedTypeName",
"src": "720:15:4"
}
],
"id": 1183,
"name": "InheritanceSpecifier",
"src": "720:15:4"
},
{
"attributes": {
"functionSelector": "0e02e6a3",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "invoke",
"scope": 1234,
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "invokeTo",
"scope": 1194,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1184,
"name": "ElementaryTypeName",
"src": "767:7:4"
}
],
"id": 1185,
"name": "VariableDeclaration",
"src": "767:16:4"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "invokeData",
"scope": 1194,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 1186,
"name": "ElementaryTypeName",
"src": "793:5:4"
}
],
"id": 1187,
"name": "VariableDeclaration",
"src": "793:25:4"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "tokenAddress",
"scope": 1194,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1188,
"name": "ElementaryTypeName",
"src": "828:7:4"
}
],
"id": 1189,
"name": "VariableDeclaration",
"src": "828:20:4"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "tokenAmount",
"scope": 1194,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 1190,
"name": "ElementaryTypeName",
"src": "858:7:4"
}
],
"id": 1191,
"name": "VariableDeclaration",
"src": "858:19:4"
}
],
"id": 1192,
"name": "ParameterList",
"src": "757:126:4"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1193,
"name": "ParameterList",
"src": "900:0:4"
}
],
"id": 1194,
"name": "FunctionDefinition",
"src": "742:159:4"
},
{
"attributes": {
"functionSelector": "0a5ca4e8",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "invokeCallback",
"scope": 1234,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1195,
"name": "ParameterList",
"src": "930:2:4"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1196,
"name": "ParameterList",
"src": "941:0:4"
}
],
"id": 1197,
"name": "FunctionDefinition",
"src": "907:35:4"
},
{
"attributes": {
"functionSelector": "fef10b95",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "poolReward",
"scope": 1234,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1198,
"name": "ParameterList",
"src": "967:2:4"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1202,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 1199,
"name": "ElementaryTypeName",
"src": "993:7:4"
}
],
"id": 1200,
"name": "VariableDeclaration",
"src": "993:7:4"
}
],
"id": 1201,
"name": "ParameterList",
"src": "992:9:4"
}
],
"id": 1202,
"name": "FunctionDefinition",
"src": "948:54:4"
},
{
"attributes": {
"functionSelector": "8a698bcc",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "poolRewardAddress",
"scope": 1234,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "tokenAddress",
"scope": 1209,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1203,
"name": "ElementaryTypeName",
"src": "1035:7:4"
}
],
"id": 1204,
"name": "VariableDeclaration",
"src": "1035:20:4"
}
],
"id": 1205,
"name": "ParameterList",
"src": "1034:22:4"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1209,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1206,
"name": "ElementaryTypeName",
"src": "1104:7:4"
}
],
"id": 1207,
"name": "VariableDeclaration",
"src": "1104:7:4"
}
],
"id": 1208,
"name": "ParameterList",
"src": "1103:9:4"
}
],
"id": 1209,
"name": "FunctionDefinition",
"src": "1008:105:4"
},
{
"attributes": {
"functionSelector": "fe6551b6",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "platformReward",
"scope": 1234,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1210,
"name": "ParameterList",
"src": "1142:2:4"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1214,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 1211,
"name": "ElementaryTypeName",
"src": "1168:7:4"
}
],
"id": 1212,
"name": "VariableDeclaration",
"src": "1168:7:4"
}
],
"id": 1213,
"name": "ParameterList",
"src": "1167:9:4"
}
],
"id": 1214,
"name": "FunctionDefinition",
"src": "1119:58:4"
},
{
"attributes": {
"functionSelector": "5f39e93a",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "platformVaultAddress",
"scope": 1234,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1215,
"name": "ParameterList",
"src": "1212:2:4"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1219,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1216,
"name": "ElementaryTypeName",
"src": "1238:7:4"
}
],
"id": 1217,
"name": "VariableDeclaration",
"src": "1238:7:4"
}
],
"id": 1218,
"name": "ParameterList",
"src": "1237:9:4"
}
],
"id": 1219,
"name": "FunctionDefinition",
"src": "1183:64:4"
},
{
"attributes": {
"functionSelector": "9c0743df",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "isTokenAddressRegistered",
"scope": 1234,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "tokenAddress",
"scope": 1226,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1220,
"name": "ElementaryTypeName",
"src": "1287:7:4"
}
],
"id": 1221,
"name": "VariableDeclaration",
"src": "1287:20:4"
}
],
"id": 1222,
"name": "ParameterList",
"src