@verified-network/verified-sdk
Version:
An SDK to develop applications on the Verified Network
937 lines • 5.33 MB
JSON
{
"contractName": "Liquidity",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_cap",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_limit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_share",
"type": "uint256"
},
{
"internalType": "address",
"name": "_vitta",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "platform",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "investor",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "vitta",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "prorataStake",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "InvestorReturns",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "investor",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "LPToIssue",
"type": "uint256"
}
],
"name": "IssuedVitta",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "platform",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "manager",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "distribution",
"type": "uint256"
}
],
"name": "ManagerReturns",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "platform",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "manager",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "LPToken",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
}
],
"name": "PlatformLiquidity",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "platform",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "manager",
"type": "address"
}
],
"name": "PlatformManagers",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "platform",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "vitta",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "distribution",
"type": "uint256"
}
],
"name": "PlatformReturns",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "platform",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "platformName",
"type": "bytes32"
}
],
"name": "RegisterPlatform",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "investor",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "RequestIssue",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "RequestRate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "tokenName",
"type": "string"
}
],
"name": "SupportToken",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive",
"payable": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_cap",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_limit",
"type": "uint256"
}
],
"name": "createSupply",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "supportTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
}
],
"name": "checkSupportForToken",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "getSupportedTokens",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "tokenName",
"type": "string"
},
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
}
],
"internalType": "struct ILiquidity.token[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
}
],
"name": "removeToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_liquidityPlatform",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_platformName",
"type": "bytes32"
}
],
"name": "registerPlatform",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getPlatforms",
"outputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "platformName",
"type": "bytes32"
},
{
"internalType": "address",
"name": "platformAddress",
"type": "address"
}
],
"internalType": "struct ILiquidity.platform[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_platform",
"type": "address"
},
{
"internalType": "address",
"name": "_manager",
"type": "address"
}
],
"name": "addManager",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_platform",
"type": "address"
},
{
"internalType": "address",
"name": "_manager",
"type": "address"
}
],
"name": "removeManager",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_platform",
"type": "address"
}
],
"name": "getManagers",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "buy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getInvestors",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "assetInvested",
"type": "string"
},
{
"internalType": "address",
"name": "investorAddress",
"type": "address"
}
],
"internalType": "struct ILiquidity.provider[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_investor",
"type": "address"
},
{
"internalType": "address",
"name": "_token",
"type": "address"
}
],
"name": "getInvestment",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_investor",
"type": "address"
},
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "uint256",
"name": "_tokenAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_LPToIssue",
"type": "uint256"
}
],
"name": "issue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_platform",
"type": "address"
},
{
"internalType": "address",
"name": "_manager",
"type": "address"
},
{
"internalType": "uint256",
"name": "_liquidity",
"type": "uint256"
},
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "uint256",
"name": "_tokenAmount",
"type": "uint256"
}
],
"name": "provideLiquidity",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_distribution",
"type": "uint256"
},
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "address",
"name": "_manager",
"type": "address"
}
],
"name": "distribute",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_platform",
"type": "address"
}
],
"name": "getPlatformPerformance",
"outputs": [
{
"internalType": "uint256",
"name": "platformLiquidityProvided",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "platformCommissionsEarned",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_platform",
"type": "address"
},
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "address",
"name": "_manager",
"type": "address"
}
],
"name": "getManagerPerformance",
"outputs": [
{
"internalType": "uint256",
"name": "managerLiquidityProvided",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "managerCommissionsEarned",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_distribution",
"type": "uint256"
},
{
"internalType": "address",
"name": "_platform",
"type": "address"
}
],
"name": "payOut",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "investor",
"type": "address"
}
],
"name": "balance",
"outputs": [
{
"internalType": "uint256",
"name": "investorBalance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_oracle",
"type": "address"
}
],
"name": "setOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "rate",
"type": "uint256"
}
],
"name": "setExchangeRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_treasurer",
"type": "address"
}
],
"name": "setTreasurer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_share",
"type": "uint256"
}
],
"name": "setLiquidityShare",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cap\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_share\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_vitta\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"investor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vitta\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prorataStake\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"InvestorReturns\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"investor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"LPToIssue\",\"type\":\"uint256\"}],\"name\":\"IssuedVitta\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"distribution\",\"type\":\"uint256\"}],\"name\":\"ManagerReturns\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"LPToken\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"PlatformLiquidity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"PlatformManagers\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vitta\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"distribution\",\"type\":\"uint256\"}],\"name\":\"PlatformReturns\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"platformName\",\"type\":\"bytes32\"}],\"name\":\"RegisterPlatform\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"investor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"RequestIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RequestRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenName\",\"type\":\"string\"}],\"name\":\"SupportToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_platform\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"investor\",\"type\":\"address\"}],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"investorBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"checkSupportForToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cap\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"createSupply\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_distribution\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_investor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getInvestment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInvestors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"assetInvested\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"investorAddress\",\"type\":\"address\"}],\"internalType\":\"struct ILiquidity.provider[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_platform\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"getManagerPerformance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"managerLiquidityProvided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"managerCommissionsEarned\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_platform\",\"type\":\"address\"}],\"name\":\"getManagers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_platform\",\"type\":\"address\"}],\"name\":\"getPlatformPerformance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"platformLiquidityProvided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"platformCommissionsEarned\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPlatforms\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"platformName\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"platformAddress\",\"type\":\"address\"}],\"internalType\":\"struct ILiquidity.platform[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSupportedTokens\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"tokenName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"internalType\":\"struct ILiquidity.token[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_investor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_LPToIssue\",\"type\":\"uint256\"}],\"name\":\"issue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_distribution\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_platform\",\"type\":\"address\"}],\"name\":\"payOut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_platform\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_liquidity\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"provideLiquidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_liquidityPlatform\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_platformName\",\"type\":\"bytes32\"}],\"name\":\"registerPlatform\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_platform\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removeManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"removeToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"setExchangeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_share\",\"type\":\"uint256\"}],\"name\":\"setLiquidityShare\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"name\":\"setOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_treasurer\",\"type\":\"address\"}],\"name\":\"setTreasurer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"supportTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addManager(address,address)\":{\"params\":{\"_manager\":\"address of asset manager\",\"_platform\":\"address of market making platform (eg, Balancer)\"}},\"buy(address,uint256)\":{\"params\":{\"_amount\":\"amount of token that is transferred from investor to this VITTA issuing contract's account for the investor\",\"_token\":\"address of token used by investor to buy the VITTA\"}},\"checkSupportForToken(address)\":{\"params\":{\"_token\":\"token that is supported for investment\"}},\"constructor\":{\"params\":{\"_cap\":\"investment limit for each investor\",\"_limit\":\"time limit for issue close\",\"_vitta\":\"address of Verified liquidity token\"}},\"createSupply(uint256,uint256)\":{\"params\":{\"_cap\":\"investment limit for each investor\",\"_limit\":\"time limit for issue close \"}},\"distribute(uint256,address,address)\":{\"params\":{\"_distribution\":\"amount of VITTA to mint and distribute pro rata to liquidity providers\",\"_manager\":\"address of asset manager earning the paid out return on investment \",\"_token\":\"address of token in which distribution is made by market maker \"}},\"getInvestment(address,address)\":{\"params\":{\"_investor\":\"address of investor\",\"_token\":\"address of token invested by investor\"}},\"getManagerPerformance(address,address,address)\":{\"params\":{\"_manager\":\"address of asset manager on platform\",\"_platform\":\"address of platform\",\"_token\":\"address of token\"}},\"getManagers(address)\":{\"params\":{\"_platform\":\"address of market making platform\"}},\"getPlatformPerformance(address)\":{\"params\":{\"_platform\":\"address of market making platform\"}},\"issue(address,address,uint256,uint256)\":{\"params\":{\"_LPToIssue\":\"amount of VITTA to issue to investor \",\"_investor\":\"address of investor\",\"_token\":\"address of token invested in VITTA\",\"_tokenAmount\":\"amount of token invested in VITTA\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"payOut(uint256,address)\":{\"params\":{\"_distribution\":\"amount of VITTA to mint and distribute pro rata to liquidity providers \",\"_platform\":\"address of platform on which commission is earned based on which distribution is made\"}},\"provideLiquidity(address,address,uint256,address,uint256)\":{\"params\":{\"_liquidity\":\"amount of VITTA tokens to allot to an asset manager\",\"_manager\":\"address of asset manager to whom liquidity has to be provided\",\"_platform\":\"address of platform on which liquidity has to be provided\",\"_token\":\"address of token allotted to asset manager\",\"_tokenAmount\":\"amount of token allotted to asset manager\"}},\"registerPlatform(address,bytes32)\":{\"params\":{\"_liquidityPlatform\":\"address of the market making platform\",\"_platformName\":\"name of market making platform\"}},\"removeManager(address,address)\":{\"params\":{\"_manager\":\"address of asset manager\",\"_platform\":\"address of market making platform\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"supportTokens(address,string)\":{\"params\":{\"_name\":\"name of token supported\",\"_token\":\"address of token supported\"}},\"transfer(address,address,uint256)\":{\"params\":{\"amount\":\"amount of vitta transferred\",\"recipient\":\"transferee of vitta\",\"sender\":\"transferor of Vitta\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addManager(address,address)\":{\"notice\":\"Adds asset manager for managing liquidity\"},\"buy(address,uint256)\":{\"notice\":\"Used by external apps (eg, exchange, wallet) to buy Verified Liquidity token \"},\"checkSupportForToken(address)\":{\"notice\":\"Checks if a specified token is supported for investing in the Verified Liquidity token\"},\"constructor\":{\"notice\":\"Constructor for the Verified Liquidity manager\"},\"createSupply(uint256,uint256)\":{\"notice\":\"Updates investment and time limits for Verified Liquidity token after initial issue with constructor defined parameters\"},\"distribute(uint256,address,address)\":{\"notice\":\"Pay out of income by Market maker contracts to VITTA Liquidity providers\"},\"getInvestment(address,address)\":{\"notice\":\"Fetches investment detail for specific investor in VITTA\"},\"getInvestors()\":{\"notice\":\"Fetches investors in VITTA\"},\"getManagerPerformance(address,address,address)\":{\"notice\":\"Fetches performance of asset managers\"},\"getManagers(address)\":{\"notice\":\"Gets asset managers for managing liquidity\"},\"getPlatformPerformance(address)\":{\"notice\":\"Fetches performance of market platform platform\"},\"getPlatforms()\":{\"notice\":\"Gets list of registered platforms\"},\"getSupportedTokens()\":{\"notice\":\"Returns list of supported tokens\"},\"issue(address,address,uint256,uint256)\":{\"notice\":\"Used by admin to issue VITTA to investors or refund paid in tokens to investors if investment cap is breached\"},\"pause()\":{\"notice\":\"Pauses this contract\"},\"payOut(uint256,address)\":{\"notice\":\"Pay out income to VITTA Liquidity providers\"},\"provideLiquidity(address,address,uint256,address,uint256)\":{\"notice\":\"Provides staked VITTA to asset managers based on prior liquidity consumed and commission earned \"},\"registerPlatform(address,bytes32)\":{\"notice\":\"Registers a liquidity platform (eg, DEX) where Verified Liquidity tokens can be used to underwrite investments\"},\"removeManager(address,address)\":{\"notice\":\"Removes asset manager for managing liquidity on platform\"},\"removeToken(address)\":{\"notice\":\"Removes a supported token\"},\"supportTokens(address,string)\":{\"notice\":\"Specifies list of supported tokens that can be invested in the Verified Liquidity token\"},\"transfer(address,address,uint256)\":{\"notice\":\"Adjust stakes for every transfer of Vitta\"},\"unpause()\":{\"notice\":\"Unpauses this contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Liquidity.sol\":\"Liquidity\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x6bb804a310218875e89d12c053e94a13a4607cdf7cc2052f3e52bd32a0dc50a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2ebbbe6d0011175bd9e7268b83de3f9c2f9d8d4cbfbaef12aff977d7d727163\",\"dweb:/ipfs/Qmd5c7Vxtis9wzkDNhxwc6A2QT5H9xn9kfjhx7qx44vpro\"]},\"@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0xa35b1f2a670cd2a701a52c398032c9fed72df1909fe394d77ceacbf074e8937b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72b957861691ebdaa78c52834465c4f8296480fe4f1a12ba72dc6c0c8ac076dd\",\"dweb:/ipfs/QmVz1sHCwgEivHPRDswdt9tdvky7EnWqFmbuk1wFE55VMG\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xf0a4351c95ac31eff95e701b66558a49f9893c4af30eead285db0eb8ee277b6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a06c1bf98b9de02e2aaed77936ed5cf5fbf4c6f3decbd82a7b7de3608914d3\",\"dweb:/ipfs/QmTJuQxe5NBpCvqzp2HsZyzEwm7hvmjanczvhGZM9tSoVU\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x90565a39ae45c80f0468dc96c7b20d0afc3055f344c8203a0c9258239f350b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e8b38a7ac8e7b4463af00cf7fff1bf48ae9875765bf4f7751e100124d0bc8c\",\"dweb:/ipfs/QmWcsmkVr24xmmjfnBQZoemFniXjj3vwT78Cz6uqZW1Hux\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0x8666f020bd8fc9dc14f07e2ebc52b5f236ab4cdde7c77679b08cb2f94730043b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://163776cbf565c722232393aa2d62cbe8a2ffb5805986abf4906c00e1e07450a6\",\"dweb:/ipfs/QmPZoN9T3cb6o8bGhjBPZcz7im8T8DWhpr3tjLwhJJHx9N\"]},\"project:/contracts/Liquidity.sol\":{\"keccak256\":\"0xf3ed421960e2e89572e1b6111b5419822ad2b9feb26aeb6f5d2a5747eefa39fb\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://8b2d6242dc2a4cd4426ceb63e92a98