@etherisc/depeg-contracts
Version:
Etherisc's smart contracts for a depeg insurance for stable coins.
1,891 lines • 2.57 MB
JSON
{
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "premiumAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "sumInsuredAmount",
"type": "uint256"
}
],
"name": "LogApplicationCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "LogApplicationDeclined",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "premiumAmountOld",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "premiumAmount",
"type": "uint256"
}
],
"name": "LogApplicationPremiumAdjusted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "LogApplicationRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "sumInsuredAmountOld",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "sumInsuredAmount",
"type": "uint256"
}
],
"name": "LogApplicationSumInsuredAdjusted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "LogApplicationUnderwritten",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
}
],
"name": "LogClaimClosed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "confirmedAmount",
"type": "uint256"
}
],
"name": "LogClaimConfirmed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "claimAmount",
"type": "uint256"
}
],
"name": "LogClaimCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
}
],
"name": "LogClaimDeclined",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "productId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "enum IPolicy.PolicyFlowState",
"name": "state",
"type": "uint8"
}
],
"name": "LogMetadataCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "enum IPolicy.PolicyFlowState",
"name": "state",
"type": "uint8"
}
],
"name": "LogMetadataStateChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "payoutId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LogPayoutCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "payoutId",
"type": "uint256"
}
],
"name": "LogPayoutProcessed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "LogPolicyClosed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "LogPolicyCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "LogPolicyExpired",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "premiumExpectedAmountOld",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "premiumExpectedAmount",
"type": "uint256"
}
],
"name": "LogPolicyPremiumAdjusted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LogPremiumCollected",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "expectedPremiumAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "sumInsuredAmount",
"type": "uint256"
}
],
"name": "adjustPremiumSumInsured",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "applications",
"outputs": [
{
"internalType": "enum IPolicy.ApplicationState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "premiumAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "sumInsuredAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "claims",
"outputs": [
{
"internalType": "enum IPolicy.ClaimState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "claimAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "paidAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
}
],
"name": "closeClaim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "closePolicy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "collectPremium",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "confirmedAmount",
"type": "uint256"
}
],
"name": "confirmClaim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "premiumAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "sumInsuredAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "createApplication",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "claimAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "createClaim",
"outputs": [
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "payoutAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "createPayout",
"outputs": [
{
"internalType": "uint256",
"name": "payoutId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "createPolicy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "productId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "createPolicyFlow",
"outputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "declineApplication",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
}
],
"name": "declineClaim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "expirePolicy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "getApplication",
"outputs": [
{
"components": [
{
"internalType": "enum IPolicy.ApplicationState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "premiumAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "sumInsuredAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"internalType": "struct IPolicy.Application",
"name": "application",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
}
],
"name": "getClaim",
"outputs": [
{
"components": [
{
"internalType": "enum IPolicy.ClaimState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "claimAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "paidAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"internalType": "struct IPolicy.Claim",
"name": "claim",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "getMetadata",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "productId",
"type": "uint256"
},
{
"internalType": "enum IPolicy.PolicyFlowState",
"name": "state",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"internalType": "struct IPolicy.Metadata",
"name": "_metadata",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "getNumberOfClaims",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfClaims",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "getNumberOfPayouts",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfPayouts",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "payoutId",
"type": "uint256"
}
],
"name": "getPayout",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
},
{
"internalType": "enum IPolicy.PayoutState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"internalType": "struct IPolicy.Payout",
"name": "payout",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "getPolicy",
"outputs": [
{
"components": [
{
"internalType": "enum IPolicy.PolicyState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "premiumExpectedAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "premiumPaidAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "claimsCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "openClaimsCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "payoutMaxAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "payoutAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"internalType": "struct IPolicy.Policy",
"name": "policy",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "registry",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "metadata",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "productId",
"type": "uint256"
},
{
"internalType": "enum IPolicy.PolicyFlowState",
"name": "state",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "payoutCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "payouts",
"outputs": [
{
"internalType": "uint256",
"name": "claimId",
"type": "uint256"
},
{
"internalType": "enum IPolicy.PayoutState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "policies",
"outputs": [
{
"internalType": "enum IPolicy.PolicyState",
"name": "state",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "premiumExpectedAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "premiumPaidAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "claimsCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "openClaimsCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "payoutMaxAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "payoutAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "processIds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "payoutId",
"type": "uint256"
}
],
"name": "processPayout",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "revokeApplication",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "underwriteApplication",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"allSourcePaths": {
"1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol",
"10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Address.sol",
"11": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol",
"16": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol",
"18": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/ComponentController.sol",
"19": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/PolicyController.sol",
"22": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/shared/CoreController.sol",
"27": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"29": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol",
"33": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol",
"35": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol",
"36": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
"38": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/PolicyController.sol",
"exportedSymbols": {
"Address": [
24852
],
"ComponentController": [
18412
],
"Context": [
15648
],
"CoreController": [
21649
],
"EnumerableSet": [
10109
],
"IAccess": [
22927
],
"IBundle": [
13382
],
"IComponent": [
11675
],
"IComponentEvents": [
22980
],
"IOracle": [
23539
],
"IPolicy": [
12649
],
"IProduct": [
21878
],
"IRegistry": [
21976
],
"IRiskpool": [
14585
],
"Initializable": [
23690
],
"PolicyController": [
20323
]
},
"id": 20324,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 18414,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "39:22:19"
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/shared/CoreController.sol",
"file": "../shared/CoreController.sol",
"id": 18415,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 20324,
"sourceUnit": 21650,
"src": "63:38:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/ComponentController.sol",
"file": "./ComponentController.sol",
"id": 18416,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 20324,
"sourceUnit": 18413,
"src": "102:35:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
"file": "@etherisc/gif-interface/contracts/modules/IPolicy.sol",
"id": 18417,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 20324,
"sourceUnit": 12650,
"src": "138:63:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 18418,
"name": "IPolicy",
"nodeType": "IdentifierPath",
"referencedDeclaration": 12649,
"src": "237:7:19"
},
"id": 18419,
"nodeType": "InheritanceSpecifier",
"src": "237:7:19"
},
{
"baseName": {
"id": 18420,
"name": "CoreController",
"nodeType": "IdentifierPath",
"referencedDeclaration": 21649,
"src": "251:14:19"
},
"id": 18421,
"nodeType": "InheritanceSpecifier",
"src": "251:14:19"
}
],
"contractDependencies": [
12649,
15648,
21649,
23690
],
"contractKind": "contract",
"fullyImplemented": true,
"id": 20323,
"linearizedBaseContracts": [
20323,
21649,
23690,
15648,
12649
],
"name": "PolicyController",
"nameLocation": "212:16:19",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "7122ba06",
"id": 18426,
"mutability": "mutable",
"name": "metadata",
"nameLocation": "399:8:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "347:60:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Metadata_$12464_storage_$",
"typeString": "mapping(bytes32 => struct IPolicy.Metadata)"
},
"typeName": {
"id": 18425,
"keyType": {
"id": 18422,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "355:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "347:44:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Metadata_$12464_storage_$",
"typeString": "mapping(bytes32 => struct IPolicy.Metadata)"
},
"valueType": {
"id": 18424,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 18423,
"name": "Metadata",
"nodeType": "IdentifierPath",
"referencedDeclaration": 12464,
"src": "382:8:19"
},
"referencedDeclaration": 12464,
"src": "382:8:19",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Metadata_$12464_storage_ptr",
"typeString": "struct IPolicy.Metadata"
}
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "4cafa121",
"id": 18431,
"mutability": "mutable",
"name": "applications",
"nameLocation": "489:12:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "434:67:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Application_$12478_storage_$",
"typeString": "mapping(bytes32 => struct IPolicy.Application)"
},
"typeName": {
"id": 18430,
"keyType": {
"id": 18427,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "442:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "434:47:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Application_$12478_storage_$",
"typeString": "mapping(bytes32 => struct IPolicy.Application)"
},
"valueType": {
"id": 18429,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 18428,
"name": "Application",
"nodeType": "IdentifierPath",
"referencedDeclaration": 12478,
"src": "469:11:19"
},
"referencedDeclaration": 12478,
"src": "469:11:19",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Application_$12478_storage_ptr",
"typeString": "struct IPolicy.Application"
}
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "ddbfd8ef",
"id": 18436,
"mutability": "mutable",
"name": "policies",
"nameLocation": "574:8:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "524:58:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Policy_$12498_storage_$",
"typeString": "mapping(bytes32 => struct IPolicy.Policy)"
},
"typeName": {
"id": 18435,
"keyType": {
"id": 18432,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "532:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "524:42:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Policy_$12498_storage_$",
"typeString": "mapping(bytes32 => struct IPolicy.Policy)"
},
"valueType": {
"id": 18434,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 18433,
"name": "Policy",
"nodeType": "IdentifierPath",
"referencedDeclaration": 12498,
"src": "559:6:19"
},
"referencedDeclaration": 12498,
"src": "559:6:19",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Policy_$12498_storage_ptr",
"typeString": "struct IPolicy.Policy"
}
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "9e81f96a",
"id": 18443,
"mutability": "mutable",
"name": "claims",
"nameLocation": "686:6:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "603:89:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Claim_$12512_storage_$_$",
"typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Claim))"
},
"typeName": {
"id": 18442,
"keyType": {
"id": 18437,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "611:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "603:75:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Claim_$12512_storage_$_$",
"typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Claim))"
},
"valueType": {
"id": 18441,
"keyType": {
"id": 18438,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "646:7:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Mapping",
"src": "638:39:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Claim_$12512_storage_$",
"typeString": "mapping(uint256 => struct IPolicy.Claim)"
},
"valueType": {
"id": 18440,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 18439,
"name": "Claim",
"nodeType": "IdentifierPath",
"referencedDeclaration": 12512,
"src": "671:5:19"
},
"referencedDeclaration": 12512,
"src": "671:5:19",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Claim_$12512_storage_ptr",
"typeString": "struct IPolicy.Claim"
}
}
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "80f2122c",
"id": 18450,
"mutability": "mutable",
"name": "payouts",
"nameLocation": "799:7:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "714:92:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Payout_$12526_storage_$_$",
"typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Payout))"
},
"typeName": {
"id": 18449,
"keyType": {
"id": 18444,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "722:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "714:77:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Payout_$12526_storage_$_$",
"typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Payout))"
},
"valueType": {
"id": 18448,
"keyType": {
"id": 18445,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "757:7:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Mapping",
"src": "749:41:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Payout_$12526_storage_$",
"typeString": "mapping(uint256 => struct IPolicy.Payout)"
},
"valueType": {
"id": 18447,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 18446,
"name": "Payout",
"nodeType": "IdentifierPath",
"referencedDeclaration": 12526,
"src": "783:6:19"
},
"referencedDeclaration": 12526,
"src": "783:6:19",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Payout_$12526_storage_ptr",
"typeString": "struct IPolicy.Payout"
}
}
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "357f030a",
"id": 18454,
"mutability": "mutable",
"name": "payoutCount",
"nameLocation": "863:11:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "812:62:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
},
"typeName": {
"id": 18453,
"keyType": {
"id": 18451,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "820:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "812:43:19",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
},
"valueType": {
"id": 18452,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "847:7:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"visibility": "public"
},
{
"constant": false,
"id": 18456,
"mutability": "mutable",
"name": "_assigendProcessIds",
"nameLocation": "970:19:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "954:35:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 18455,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "954:7:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 18459,
"mutability": "mutable",
"name": "_component",
"nameLocation": "1024:10:19",
"nodeType": "VariableDeclaration",
"scope": 20323,
"src": "996:38:19",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ComponentController_$18412",
"typeString": "contract ComponentController"
},
"typeName": {
"id": 18458,
"nodeType": "UserDefinedTypeName",
"pathNode":