@andrekorol/kollateral
Version:
Typescript library for Kollateral, the flash loan building block
655 lines (654 loc) • 31.1 kB
JSON
{
"contractName": "IInvocationHook",
"abi": [
{
"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": [],
"name": "currentRepaymentAmount",
"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvocationHook.sol\":\"IInvocationHook\"},\"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\"]}},\"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\ninterface IInvocationHook {\n function currentSender() external view returns (address);\n\n function currentTokenAddress() external view returns (address);\n\n function currentTokenAmount() external view returns (uint256);\n\n function currentRepaymentAmount() external view returns (uint256);\n}\n",
"sourcePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvocationHook.sol",
"ast": {
"absolutePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvocationHook.sol",
"exportedSymbols": {
"IInvocationHook": [
1170
]
},
"id": 1171,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1149,
"literals": [
"solidity",
"^",
"0.7",
".0"
],
"nodeType": "PragmaDirective",
"src": "640:23:2"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 1170,
"linearizedBaseContracts": [
1170
],
"name": "IInvocationHook",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "70348f3e",
"id": 1154,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "currentSender",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1150,
"nodeType": "ParameterList",
"parameters": [],
"src": "719:2:2"
},
"returnParameters": {
"id": 1153,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1152,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1154,
"src": "745:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1151,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "745:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "744:9:2"
},
"scope": 1170,
"src": "697:57:2",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "11eefd5d",
"id": 1159,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "currentTokenAddress",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1155,
"nodeType": "ParameterList",
"parameters": [],
"src": "788:2:2"
},
"returnParameters": {
"id": 1158,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1157,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1159,
"src": "814:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1156,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "814:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "813:9:2"
},
"scope": 1170,
"src": "760:63:2",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "ff69ac36",
"id": 1164,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "currentTokenAmount",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1160,
"nodeType": "ParameterList",
"parameters": [],
"src": "856:2:2"
},
"returnParameters": {
"id": 1163,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1162,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1164,
"src": "882:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1161,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "882:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "881:9:2"
},
"scope": 1170,
"src": "829:62:2",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "6f27e9d8",
"id": 1169,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "currentRepaymentAmount",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1165,
"nodeType": "ParameterList",
"parameters": [],
"src": "928:2:2"
},
"returnParameters": {
"id": 1168,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1167,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1169,
"src": "954:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1166,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "954:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "953:9:2"
},
"scope": 1170,
"src": "897:66:2",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 1171,
"src": "665:300:2"
}
],
"src": "640:326:2"
},
"legacyAST": {
"attributes": {
"absolutePath": "/Users/andrekorol/src/kollateral/protocol/contracts/common/invoke/IInvocationHook.sol",
"exportedSymbols": {
"IInvocationHook": [
1170
]
},
"license": "Apache-2.0"
},
"children": [
{
"attributes": {
"literals": [
"solidity",
"^",
"0.7",
".0"
]
},
"id": 1149,
"name": "PragmaDirective",
"src": "640:23:2"
},
{
"attributes": {
"abstract": false,
"baseContracts": [
null
],
"contractDependencies": [
null
],
"contractKind": "interface",
"fullyImplemented": false,
"linearizedBaseContracts": [
1170
],
"name": "IInvocationHook",
"scope": 1171
},
"children": [
{
"attributes": {
"functionSelector": "70348f3e",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "currentSender",
"scope": 1170,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1150,
"name": "ParameterList",
"src": "719:2:2"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1154,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1151,
"name": "ElementaryTypeName",
"src": "745:7:2"
}
],
"id": 1152,
"name": "VariableDeclaration",
"src": "745:7:2"
}
],
"id": 1153,
"name": "ParameterList",
"src": "744:9:2"
}
],
"id": 1154,
"name": "FunctionDefinition",
"src": "697:57:2"
},
{
"attributes": {
"functionSelector": "11eefd5d",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "currentTokenAddress",
"scope": 1170,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1155,
"name": "ParameterList",
"src": "788:2:2"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1159,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 1156,
"name": "ElementaryTypeName",
"src": "814:7:2"
}
],
"id": 1157,
"name": "VariableDeclaration",
"src": "814:7:2"
}
],
"id": 1158,
"name": "ParameterList",
"src": "813:9:2"
}
],
"id": 1159,
"name": "FunctionDefinition",
"src": "760:63:2"
},
{
"attributes": {
"functionSelector": "ff69ac36",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "currentTokenAmount",
"scope": 1170,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1160,
"name": "ParameterList",
"src": "856:2:2"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1164,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 1161,
"name": "ElementaryTypeName",
"src": "882:7:2"
}
],
"id": 1162,
"name": "VariableDeclaration",
"src": "882:7:2"
}
],
"id": 1163,
"name": "ParameterList",
"src": "881:9:2"
}
],
"id": 1164,
"name": "FunctionDefinition",
"src": "829:62:2"
},
{
"attributes": {
"functionSelector": "6f27e9d8",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "currentRepaymentAmount",
"scope": 1170,
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 1165,
"name": "ParameterList",
"src": "928:2:2"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 1169,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 1166,
"name": "ElementaryTypeName",
"src": "954:7:2"
}
],
"id": 1167,
"name": "VariableDeclaration",
"src": "954:7:2"
}
],
"id": 1168,
"name": "ParameterList",
"src": "953:9:2"
}
],
"id": 1169,
"name": "FunctionDefinition",
"src": "897:66:2"
}
],
"id": 1170,
"name": "ContractDefinition",
"src": "665:300:2"
}
],
"id": 1171,
"name": "SourceUnit",
"src": "640:326:2"
},
"compiler": {
"name": "solc",
"version": "0.7.3+commit.9bfce1f6.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.3.3",
"updatedAt": "2021-02-01T23:13:33.198Z",
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}