@etherisc/depeg-contracts
Version:
Etherisc's smart contracts for a depeg insurance for stable coins.
1,478 lines (1,477 loc) • 61.1 kB
JSON
{
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LogRiskpoolCollateralReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LogRiskpoolCollateralizationFailed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LogRiskpoolCollateralizationSucceeded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "wallet",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "erc20Token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "collateralizationLevel",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "sumOfSumInsuredCap",
"type": "uint256"
}
],
"name": "LogRiskpoolRegistered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "sumInsured",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "collateral",
"type": "uint256"
}
],
"name": "LogRiskpoolRequiredCollateral",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "processPayout",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "processPremium",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
},
{
"internalType": "address",
"name": "wallet",
"type": "address"
},
{
"internalType": "address",
"name": "erc20Token",
"type": "address"
},
{
"internalType": "uint256",
"name": "collateralizationLevel",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "sumOfSumInsuredCap",
"type": "uint256"
}
],
"name": "registerRiskpool",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "release",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "productId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "setRiskpoolForProduct",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "underwrite",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"allSourcePaths": {
"37": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPool.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPool.sol",
"exportedSymbols": {
"IPool": [
23131
]
},
"id": 23132,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 23017,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "39:22:37"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 23131,
"linearizedBaseContracts": [
23131
],
"name": "IPool",
"nameLocation": "73:5:37",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"id": 23029,
"name": "LogRiskpoolRegistered",
"nameLocation": "92:21:37",
"nodeType": "EventDefinition",
"parameters": {
"id": 23028,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23019,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "131:10:37",
"nodeType": "VariableDeclaration",
"scope": 23029,
"src": "123:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23018,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "123:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23021,
"indexed": false,
"mutability": "mutable",
"name": "wallet",
"nameLocation": "160:6:37",
"nodeType": "VariableDeclaration",
"scope": 23029,
"src": "152:14:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 23020,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "152:7:37",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23023,
"indexed": false,
"mutability": "mutable",
"name": "erc20Token",
"nameLocation": "184:10:37",
"nodeType": "VariableDeclaration",
"scope": 23029,
"src": "176:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 23022,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "176:7:37",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23025,
"indexed": false,
"mutability": "mutable",
"name": "collateralizationLevel",
"nameLocation": "213:22:37",
"nodeType": "VariableDeclaration",
"scope": 23029,
"src": "205:30:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23024,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "205:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23027,
"indexed": false,
"mutability": "mutable",
"name": "sumOfSumInsuredCap",
"nameLocation": "254:18:37",
"nodeType": "VariableDeclaration",
"scope": 23029,
"src": "246:26:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23026,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "246:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "113:165:37"
},
"src": "86:193:37"
},
{
"anonymous": false,
"id": 23037,
"name": "LogRiskpoolRequiredCollateral",
"nameLocation": "295:29:37",
"nodeType": "EventDefinition",
"parameters": {
"id": 23036,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23031,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "333:9:37",
"nodeType": "VariableDeclaration",
"scope": 23037,
"src": "325:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 23030,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "325:7:37",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23033,
"indexed": false,
"mutability": "mutable",
"name": "sumInsured",
"nameLocation": "352:10:37",
"nodeType": "VariableDeclaration",
"scope": 23037,
"src": "344:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23032,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "344:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23035,
"indexed": false,
"mutability": "mutable",
"name": "collateral",
"nameLocation": "372:10:37",
"nodeType": "VariableDeclaration",
"scope": 23037,
"src": "364:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23034,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "364:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "324:59:37"
},
"src": "289:95:37"
},
{
"anonymous": false,
"id": 23045,
"name": "LogRiskpoolCollateralizationFailed",
"nameLocation": "395:34:37",
"nodeType": "EventDefinition",
"parameters": {
"id": 23044,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23039,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "438:10:37",
"nodeType": "VariableDeclaration",
"scope": 23045,
"src": "430:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23038,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "430:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23041,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "458:9:37",
"nodeType": "VariableDeclaration",
"scope": 23045,
"src": "450:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 23040,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "450:7:37",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23043,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "477:6:37",
"nodeType": "VariableDeclaration",
"scope": 23045,
"src": "469:14:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23042,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "469:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "429:55:37"
},
"src": "389:96:37"
},
{
"anonymous": false,
"id": 23053,
"name": "LogRiskpoolCollateralizationSucceeded",
"nameLocation": "496:37:37",
"nodeType": "EventDefinition",
"parameters": {
"id": 23052,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23047,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "542:10:37",
"nodeType": "VariableDeclaration",
"scope": 23053,
"src": "534:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23046,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "534:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23049,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "562:9:37",
"nodeType": "VariableDeclaration",
"scope": 23053,
"src": "554:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 23048,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "554:7:37",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23051,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "581:6:37",
"nodeType": "VariableDeclaration",
"scope": 23053,
"src": "573:14:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23050,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "573:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "533:55:37"
},
"src": "490:99:37"
},
{
"anonymous": false,
"id": 23061,
"name": "LogRiskpoolCollateralReleased",
"nameLocation": "600:29:37",
"nodeType": "EventDefinition",
"parameters": {
"id": 23060,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23055,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "638:10:37",
"nodeType": "VariableDeclaration",
"scope": 23061,
"src": "630:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23054,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "630:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23057,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "658:9:37",
"nodeType": "VariableDeclaration",
"scope": 23061,
"src": "650:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 23056,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "650:7:37",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23059,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "677:6:37",
"nodeType": "VariableDeclaration",
"scope": 23061,
"src": "669:14:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23058,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "669:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "629:55:37"
},
"src": "594:91:37"
},
{
"canonicalName": "IPool.Pool",
"id": 23084,
"members": [
{
"constant": false,
"id": 23063,
"mutability": "mutable",
"name": "id",
"nameLocation": "721:2:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "713:10:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23062,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "713:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23065,
"mutability": "mutable",
"name": "wallet",
"nameLocation": "777:6:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "769:14:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 23064,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "769:7:37",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23067,
"mutability": "mutable",
"name": "erc20Token",
"nameLocation": "820:10:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "812:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 23066,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "812:7:37",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23069,
"mutability": "mutable",
"name": "collateralizationLevel",
"nameLocation": "883:22:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "875:30:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23068,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "875:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23071,
"mutability": "mutable",
"name": "sumOfSumInsuredCap",
"nameLocation": "982:18:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "974:26:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23070,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "974:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23073,
"mutability": "mutable",
"name": "sumOfSumInsuredAtRisk",
"nameLocation": "1074:21:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "1066:29:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23072,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1066:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23075,
"mutability": "mutable",
"name": "capital",
"nameLocation": "1164:7:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "1156:15:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23074,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1156:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23077,
"mutability": "mutable",
"name": "lockedCapital",
"nameLocation": "1235:13:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "1227:21:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23076,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1227:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23079,
"mutability": "mutable",
"name": "balance",
"nameLocation": "1347:7:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "1339:15:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23078,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1339:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23081,
"mutability": "mutable",
"name": "createdAt",
"nameLocation": "1446:9:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "1438:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23080,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1438:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23083,
"mutability": "mutable",
"name": "updatedAt",
"nameLocation": "1473:9:37",
"nodeType": "VariableDeclaration",
"scope": 23084,
"src": "1465:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23082,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1465:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"name": "Pool",
"nameLocation": "698:4:37",
"nodeType": "StructDefinition",
"scope": 23131,
"src": "691:798:37",
"visibility": "public"
},
{
"functionSelector": "57419e8f",
"id": 23097,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "registerRiskpool",
"nameLocation": "1504:16:37",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23095,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23086,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "1538:10:37",
"nodeType": "VariableDeclaration",
"scope": 23097,
"src": "1530:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23085,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1530:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23088,
"mutability": "mutable",
"name": "wallet",
"nameLocation": "1567:6:37",
"nodeType": "VariableDeclaration",
"scope": 23097,
"src": "1559:14:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 23087,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1559:7:37",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23090,
"mutability": "mutable",
"name": "erc20Token",
"nameLocation": "1591:10:37",
"nodeType": "VariableDeclaration",
"scope": 23097,
"src": "1583:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 23089,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1583:7:37",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23092,
"mutability": "mutable",
"name": "collateralizationLevel",
"nameLocation": "1619:22:37",
"nodeType": "VariableDeclaration",
"scope": 23097,
"src": "1611:30:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23091,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1611:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23094,
"mutability": "mutable",
"name": "sumOfSumInsuredCap",
"nameLocation": "1660:18:37",
"nodeType": "VariableDeclaration",
"scope": 23097,
"src": "1652:26:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23093,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1652:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1520:164:37"
},
"returnParameters": {
"id": 23096,
"nodeType": "ParameterList",
"parameters": [],
"src": "1693:0:37"
},
"scope": 23131,
"src": "1495:199:37",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "f93b3673",
"id": 23104,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setRiskpoolForProduct",
"nameLocation": "1709:21:37",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23102,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23099,
"mutability": "mutable",
"name": "productId",
"nameLocation": "1739:9:37",
"nodeType": "VariableDeclaration",
"scope": 23104,
"src": "1731:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23098,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1731:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23101,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "1758:10:37",
"nodeType": "VariableDeclaration",
"scope": 23104,
"src": "1750:18:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23100,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1750:7:37",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1730:39:37"
},
"returnParameters": {
"id": 23103,
"nodeType": "ParameterList",
"parameters": [],
"src": "1778:0:37"
},
"scope": 23131,
"src": "1700:79:37",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1b07b17f",
"id": 23111,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "underwrite",
"nameLocation": "1794:10:37",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23107,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23106,
"mutability": "mutable",
"name": "processId",
"nameLocation": "1813:9:37",
"nodeType": "VariableDeclaration",
"scope": 23111,
"src": "1805:17:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 23105,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1805:7:37",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "1804:19:37"
},
"returnParameters": {
"id": 23110,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23109,
"mutability": "mutable",
"name": "success",
"nameLocation": "1846:7:37",
"nodeType": "VariableDeclaration",
"scope": 23111,
"src": "1841:12:37",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 23108,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1841:4:37",
"typeDescriptions": {
"typeIdentifier": "t_bool",