@etherisc/gif-contracts
Version:
This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.
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": {
"42": "/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": [
21652
]
},
"id": 21653,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 21538,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "39:22:42"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 21652,
"linearizedBaseContracts": [
21652
],
"name": "IPool",
"nameLocation": "73:5:42",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"id": 21550,
"name": "LogRiskpoolRegistered",
"nameLocation": "92:21:42",
"nodeType": "EventDefinition",
"parameters": {
"id": 21549,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21540,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "131:10:42",
"nodeType": "VariableDeclaration",
"scope": 21550,
"src": "123:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21539,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "123:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21542,
"indexed": false,
"mutability": "mutable",
"name": "wallet",
"nameLocation": "160:6:42",
"nodeType": "VariableDeclaration",
"scope": 21550,
"src": "152:14:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 21541,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "152:7:42",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21544,
"indexed": false,
"mutability": "mutable",
"name": "erc20Token",
"nameLocation": "184:10:42",
"nodeType": "VariableDeclaration",
"scope": 21550,
"src": "176:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 21543,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "176:7:42",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21546,
"indexed": false,
"mutability": "mutable",
"name": "collateralizationLevel",
"nameLocation": "213:22:42",
"nodeType": "VariableDeclaration",
"scope": 21550,
"src": "205:30:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21545,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "205:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21548,
"indexed": false,
"mutability": "mutable",
"name": "sumOfSumInsuredCap",
"nameLocation": "254:18:42",
"nodeType": "VariableDeclaration",
"scope": 21550,
"src": "246:26:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21547,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "246:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "113:165:42"
},
"src": "86:193:42"
},
{
"anonymous": false,
"id": 21558,
"name": "LogRiskpoolRequiredCollateral",
"nameLocation": "295:29:42",
"nodeType": "EventDefinition",
"parameters": {
"id": 21557,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21552,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "333:9:42",
"nodeType": "VariableDeclaration",
"scope": 21558,
"src": "325:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 21551,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "325:7:42",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21554,
"indexed": false,
"mutability": "mutable",
"name": "sumInsured",
"nameLocation": "352:10:42",
"nodeType": "VariableDeclaration",
"scope": 21558,
"src": "344:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21553,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "344:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21556,
"indexed": false,
"mutability": "mutable",
"name": "collateral",
"nameLocation": "372:10:42",
"nodeType": "VariableDeclaration",
"scope": 21558,
"src": "364:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21555,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "364:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "324:59:42"
},
"src": "289:95:42"
},
{
"anonymous": false,
"id": 21566,
"name": "LogRiskpoolCollateralizationFailed",
"nameLocation": "395:34:42",
"nodeType": "EventDefinition",
"parameters": {
"id": 21565,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21560,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "438:10:42",
"nodeType": "VariableDeclaration",
"scope": 21566,
"src": "430:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21559,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "430:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21562,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "458:9:42",
"nodeType": "VariableDeclaration",
"scope": 21566,
"src": "450:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 21561,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "450:7:42",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21564,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "477:6:42",
"nodeType": "VariableDeclaration",
"scope": 21566,
"src": "469:14:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21563,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "469:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "429:55:42"
},
"src": "389:96:42"
},
{
"anonymous": false,
"id": 21574,
"name": "LogRiskpoolCollateralizationSucceeded",
"nameLocation": "496:37:42",
"nodeType": "EventDefinition",
"parameters": {
"id": 21573,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21568,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "542:10:42",
"nodeType": "VariableDeclaration",
"scope": 21574,
"src": "534:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21567,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "534:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21570,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "562:9:42",
"nodeType": "VariableDeclaration",
"scope": 21574,
"src": "554:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 21569,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "554:7:42",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21572,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "581:6:42",
"nodeType": "VariableDeclaration",
"scope": 21574,
"src": "573:14:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21571,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "573:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "533:55:42"
},
"src": "490:99:42"
},
{
"anonymous": false,
"id": 21582,
"name": "LogRiskpoolCollateralReleased",
"nameLocation": "600:29:42",
"nodeType": "EventDefinition",
"parameters": {
"id": 21581,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21576,
"indexed": false,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "638:10:42",
"nodeType": "VariableDeclaration",
"scope": 21582,
"src": "630:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21575,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "630:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21578,
"indexed": false,
"mutability": "mutable",
"name": "processId",
"nameLocation": "658:9:42",
"nodeType": "VariableDeclaration",
"scope": 21582,
"src": "650:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 21577,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "650:7:42",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21580,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "677:6:42",
"nodeType": "VariableDeclaration",
"scope": 21582,
"src": "669:14:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21579,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "669:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "629:55:42"
},
"src": "594:91:42"
},
{
"canonicalName": "IPool.Pool",
"id": 21605,
"members": [
{
"constant": false,
"id": 21584,
"mutability": "mutable",
"name": "id",
"nameLocation": "721:2:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "713:10:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21583,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "713:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21586,
"mutability": "mutable",
"name": "wallet",
"nameLocation": "777:6:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "769:14:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 21585,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "769:7:42",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21588,
"mutability": "mutable",
"name": "erc20Token",
"nameLocation": "820:10:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "812:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 21587,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "812:7:42",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21590,
"mutability": "mutable",
"name": "collateralizationLevel",
"nameLocation": "883:22:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "875:30:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21589,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "875:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21592,
"mutability": "mutable",
"name": "sumOfSumInsuredCap",
"nameLocation": "982:18:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "974:26:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21591,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "974:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21594,
"mutability": "mutable",
"name": "sumOfSumInsuredAtRisk",
"nameLocation": "1074:21:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "1066:29:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21593,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1066:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21596,
"mutability": "mutable",
"name": "capital",
"nameLocation": "1164:7:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "1156:15:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21595,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1156:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21598,
"mutability": "mutable",
"name": "lockedCapital",
"nameLocation": "1235:13:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "1227:21:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21597,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1227:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21600,
"mutability": "mutable",
"name": "balance",
"nameLocation": "1347:7:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "1339:15:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21599,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1339:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21602,
"mutability": "mutable",
"name": "createdAt",
"nameLocation": "1446:9:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "1438:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21601,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1438:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21604,
"mutability": "mutable",
"name": "updatedAt",
"nameLocation": "1473:9:42",
"nodeType": "VariableDeclaration",
"scope": 21605,
"src": "1465:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21603,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1465:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"name": "Pool",
"nameLocation": "698:4:42",
"nodeType": "StructDefinition",
"scope": 21652,
"src": "691:798:42",
"visibility": "public"
},
{
"functionSelector": "57419e8f",
"id": 21618,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "registerRiskpool",
"nameLocation": "1504:16:42",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 21616,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21607,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "1538:10:42",
"nodeType": "VariableDeclaration",
"scope": 21618,
"src": "1530:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21606,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1530:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21609,
"mutability": "mutable",
"name": "wallet",
"nameLocation": "1567:6:42",
"nodeType": "VariableDeclaration",
"scope": 21618,
"src": "1559:14:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 21608,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1559:7:42",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21611,
"mutability": "mutable",
"name": "erc20Token",
"nameLocation": "1591:10:42",
"nodeType": "VariableDeclaration",
"scope": 21618,
"src": "1583:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 21610,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1583:7:42",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21613,
"mutability": "mutable",
"name": "collateralizationLevel",
"nameLocation": "1619:22:42",
"nodeType": "VariableDeclaration",
"scope": 21618,
"src": "1611:30:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21612,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1611:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21615,
"mutability": "mutable",
"name": "sumOfSumInsuredCap",
"nameLocation": "1660:18:42",
"nodeType": "VariableDeclaration",
"scope": 21618,
"src": "1652:26:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21614,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1652:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1520:164:42"
},
"returnParameters": {
"id": 21617,
"nodeType": "ParameterList",
"parameters": [],
"src": "1693:0:42"
},
"scope": 21652,
"src": "1495:199:42",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "f93b3673",
"id": 21625,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setRiskpoolForProduct",
"nameLocation": "1709:21:42",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 21623,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21620,
"mutability": "mutable",
"name": "productId",
"nameLocation": "1739:9:42",
"nodeType": "VariableDeclaration",
"scope": 21625,
"src": "1731:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21619,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1731:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21622,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "1758:10:42",
"nodeType": "VariableDeclaration",
"scope": 21625,
"src": "1750:18:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21621,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1750:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1730:39:42"
},
"returnParameters": {
"id": 21624,
"nodeType": "ParameterList",
"parameters": [],
"src": "1778:0:42"
},
"scope": 21652,
"src": "1700:79:42",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1b07b17f",
"id": 21632,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "underwrite",
"nameLocation": "1794:10:42",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 21628,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21627,
"mutability": "mutable",
"name": "processId",
"nameLocation": "1813:9:42",
"nodeType": "VariableDeclaration",
"scope": 21632,
"src": "1805:17:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 21626,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1805:7:42",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "1804:19:42"
},
"returnParameters": {
"id": 21631,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21630,
"mutability": "mutable",
"name": "success",
"nameLocation": "1846:7:42",
"nodeType": "VariableDeclaration",
"scope": 21632,
"src": "1841:12:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 21629,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1841:4:42",
"typeDescriptions": {
"typeIdentifier": "t_bool",