UNPKG

@andrekorol/kollateral-contracts

Version:

Kollateral protocol, the flash loan building block

1,434 lines 54.8 kB
{ "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