@etherisc/gif-contracts
Version:
This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.
1,825 lines • 176 kB
JSON
{
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "activeBundles",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfActiveBundles",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "bundles",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfBundles",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "claims",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfClaims",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idx",
"type": "uint256"
}
],
"name": "contractName",
"outputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "contracts",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfContracts",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "bundleIdx",
"type": "uint256"
}
],
"name": "getActiveBundleId",
"outputs": [
{
"internalType": "uint256",
"name": "bundleId",
"type": "uint256"
}
],
"stateMutability": "view",
"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": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "balanceAmount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "bundleId",
"type": "uint256"
}
],
"name": "getBundle",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "enum IBundle.BundleState",
"name": "state",
"type": "uint8"
},
{
"internalType": "bytes",
"name": "filter",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "capital",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lockedCapital",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"internalType": "struct IBundle.Bundle",
"name": "bundle",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBundleToken",
"outputs": [
{
"internalType": "contract IBundleToken",
"name": "token",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "getCapacity",
"outputs": [
{
"internalType": "uint256",
"name": "capacityAmount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "getCapital",
"outputs": [
{
"internalType": "uint256",
"name": "capitalAmount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getChainId",
"outputs": [
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getChainName",
"outputs": [
{
"internalType": "string",
"name": "chainName",
"type": "string"
}
],
"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": "uint256",
"name": "componentId",
"type": "uint256"
}
],
"name": "getComponent",
"outputs": [
{
"internalType": "contract IComponent",
"name": "component",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "componentAddress",
"type": "address"
}
],
"name": "getComponentId",
"outputs": [
{
"internalType": "uint256",
"name": "componentId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getComponentOwnerService",
"outputs": [
{
"internalType": "contract IComponentOwnerService",
"name": "service",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "componentId",
"type": "uint256"
}
],
"name": "getComponentState",
"outputs": [
{
"internalType": "enum IComponent.ComponentState",
"name": "componentState",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "componentId",
"type": "uint256"
}
],
"name": "getComponentToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "componentId",
"type": "uint256"
}
],
"name": "getComponentType",
"outputs": [
{
"internalType": "enum IComponent.ComponentType",
"name": "componentType",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDefaultAdminRole",
"outputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getFeeFractionFullUnit",
"outputs": [
{
"internalType": "uint256",
"name": "fullUnit",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getFullCollateralizationLevel",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInstanceId",
"outputs": [
{
"internalType": "bytes32",
"name": "instanceId",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInstanceOperator",
"outputs": [
{
"internalType": "address",
"name": "instanceOperator",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInstanceOperatorService",
"outputs": [
{
"internalType": "contract IInstanceOperatorService",
"name": "service",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInstanceWallet",
"outputs": [
{
"internalType": "address",
"name": "walletAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "getMaximumNumberOfActiveBundles",
"outputs": [
{
"internalType": "uint256",
"name": "maximumNumberOfActiveBundles",
"type": "uint256"
}
],
"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": [],
"name": "getOracleProviderRole",
"outputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOracleService",
"outputs": [
{
"internalType": "contract IOracleService",
"name": "service",
"type": "address"
}
],
"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": [],
"name": "getProductOwnerRole",
"outputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getProductService",
"outputs": [
{
"internalType": "contract IProductService",
"name": "service",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "getRiskpool",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "id",
"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"
},
{
"internalType": "uint256",
"name": "sumOfSumInsuredAtRisk",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "capital",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lockedCapital",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
}
],
"internalType": "struct IPool.Pool",
"name": "riskPool",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRiskpoolKeeperRole",
"outputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRiskpoolService",
"outputs": [
{
"internalType": "contract IRiskpoolService",
"name": "service",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "getRiskpoolWallet",
"outputs": [
{
"internalType": "address",
"name": "walletAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "componentId",
"type": "uint256"
}
],
"name": "getStakedAssets",
"outputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "componentId",
"type": "uint256"
}
],
"name": "getStakingRequirements",
"outputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "getTotalValueLocked",
"outputs": [
{
"internalType": "uint256",
"name": "totalValueLockedAmount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getTreasuryAddress",
"outputs": [
{
"internalType": "address",
"name": "treasuryAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "principal",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "roleIsAssigned",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "oracles",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfOracles",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "processId",
"type": "bytes32"
}
],
"name": "payouts",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfPayouts",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "processIds",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfProcessIds",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "products",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfProducts",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "riskpools",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfRiskpools",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"name": "unburntBundles",
"outputs": [
{
"internalType": "uint256",
"name": "numberOfUnburntBundles",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"allSourcePaths": {
"13": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
"18": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol",
"26": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/introspection/IERC165.sol",
"30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
"46": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
"47": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceOperatorService.sol",
"48": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
"49": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IOracleService.sol",
"50": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
"51": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
"53": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/tokens/IBundleToken.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
"exportedSymbols": {
"IBundle": [
20491
],
"IBundleToken": [
24052
],
"IComponent": [
22099
],
"IComponentOwnerService": [
23478
],
"IERC165": [
27203
],
"IERC20": [
18510
],
"IERC721": [
23745
],
"IInstanceOperatorService": [
23629
],
"IInstanceService": [
22849
],
"IOracleService": [
23755
],
"IPolicy": [
20837
],
"IPool": [
21652
],
"IProductService": [
23900
],
"IRegistry": [
21750
],
"IRiskpoolService": [
24006
],
"ITreasury": [
23443
]
},
"id": 22850,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 22502,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "39:22:48"
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"file": "../components/IComponent.sol",
"id": 22503,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 22100,
"src": "63:38:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
"file": "../modules/IBundle.sol",
"id": 22504,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 20492,
"src": "102:32:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
"file": "../modules/IPolicy.sol",
"id": 22505,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 20838,
"src": "135:32:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPool.sol",
"file": "../modules/IPool.sol",
"id": 22506,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 21653,
"src": "168:30:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/tokens/IBundleToken.sol",
"file": "../tokens/IBundleToken.sol",
"id": 22507,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 24053,
"src": "199:36:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
"file": "./IComponentOwnerService.sol",
"id": 22508,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 23479,
"src": "236:38:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceOperatorService.sol",
"file": "./IInstanceOperatorService.sol",
"id": 22509,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 23630,
"src": "275:40:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IOracleService.sol",
"file": "./IOracleService.sol",
"id": 22510,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 23756,
"src": "316:30:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
"file": "./IProductService.sol",
"id": 22511,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 23901,
"src": "347:31:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
"file": "./IRiskpoolService.sol",
"id": 22512,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 24007,
"src": "379:32:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 22513,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 18511,
"src": "413:56:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol",
"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 22514,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22850,
"sourceUnit": 23746,
"src": "470:58:48",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 22849,
"linearizedBaseContracts": [
22849
],
"name": "IInstanceService",
"nameLocation": "540:16:48",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "3408e470",
"id": 22519,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getChainId",
"nameLocation": "589:10:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22515,
"nodeType": "ParameterList",
"parameters": [],
"src": "599:2:48"
},
"returnParameters": {
"id": 22518,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22517,
"mutability": "mutable",
"name": "chainId",
"nameLocation": "632:7:48",
"nodeType": "VariableDeclaration",
"scope": 22519,
"src": "624:15:48",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22516,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "624:7:48",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "623:17:48"
},
"scope": 22849,
"src": "580:61:48",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "d722b0bc",
"id": 22524,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getChainName",
"nameLocation": "655:12:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22520,
"nodeType": "ParameterList",
"parameters": [],
"src": "667:2:48"
},
"returnParameters": {
"id": 22523,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22522,
"mutability": "mutable",
"name": "chainName",
"nameLocation": "706:9:48",
"nodeType": "VariableDeclaration",
"scope": 22524,
"src": "692:23:48",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 22521,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "692:6:48",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "691:25:48"
},
"scope": 22849,
"src": "646:71:48",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1551100f",
"id": 22529,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getInstanceId",
"nameLocation": "731:13:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22525,
"nodeType": "ParameterList",
"parameters": [],
"src": "744:2:48"
},
"returnParameters": {
"id": 22528,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22527,
"mutability": "mutable",
"name": "instanceId",
"nameLocation": "777:10:48",
"nodeType": "VariableDeclaration",
"scope": 22529,
"src": "769:18:48",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 22526,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "769:7:48",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "768:20:48"
},
"scope": 22849,
"src": "722:67:48",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "39c6fa90",
"id": 22534,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getInstanceOperator",
"nameLocation": "803:19:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22530,
"nodeType": "ParameterList",
"parameters": [],
"src": "822:2:48"
},
"returnParameters": {
"id": 22533,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22532,
"mutability": "mutable",
"name": "instanceOperator",
"nameLocation": "855:16:48",
"nodeType": "VariableDeclaration",
"scope": 22534,
"src": "847:24:48",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 22531,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "847:7:48",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "846:26:48"
},
"scope": 22849,
"src": "794:79:48",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "6fa29853",
"id": 22540,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getComponentOwnerService",
"nameLocation": "904:24:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22535,
"nodeType": "ParameterList",
"parameters": [],
"src": "928:2:48"
},
"returnParameters": {
"id": 22539,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22538,
"mutability": "mutable",
"name": "service",
"nameLocation": "976:7:48",
"nodeType": "VariableDeclaration",
"scope": 22540,
"src": "953:30:48",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IComponentOwnerService_$23478",
"typeString": "contract IComponentOwnerService"
},
"typeName": {
"id": 22537,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22536,
"name": "IComponentOwnerService",
"nodeType": "IdentifierPath",
"referencedDeclaration": 23478,
"src": "953:22:48"
},
"referencedDeclaration": 23478,
"src": "953:22:48",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IComponentOwnerService_$23478",
"typeString": "contract IComponentOwnerService"
}
},
"visibility": "internal"
}
],
"src": "952:32:48"
},
"scope": 22849,
"src": "895:90:48",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "091924dc",
"id": 22546,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getInstanceOperatorService",
"nameLocation": "999:26:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22541,
"nodeType": "ParameterList",
"parameters": [],
"src": "1025:2:48"
},
"returnParameters": {
"id": 22545,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22544,
"mutability": "mutable",
"name": "service",
"nameLocation": "1075:7:48",
"nodeType": "VariableDeclaration",
"scope": 22546,
"src": "1050:32:48",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IInstanceOperatorService_$23629",
"typeString": "contract IInstanceOperatorService"
},
"typeName": {
"id": 22543,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22542,
"name": "IInstanceOperatorService",
"nodeType": "IdentifierPath",
"referencedDeclaration": 23629,
"src": "1050:24:48"
},
"referencedDeclaration": 23629,
"src": "1050:24:48",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IInstanceOperatorService_$23629",
"typeString": "contract IInstanceOperatorService"
}
},
"visibility": "internal"
}
],
"src": "1049:34:48"
},
"scope": 22849,
"src": "990:94:48",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "a7ecda36",
"id": 22552,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getOracleService",
"nameLocation": "1098:16:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22547,
"nodeType": "ParameterList",
"parameters": [],
"src": "1114:2:48"
},
"returnParameters": {
"id": 22551,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22550,
"mutability": "mutable",
"name": "service",
"nameLocation": "1154:7:48",
"nodeType": "VariableDeclaration",
"scope": 22552,
"src": "1139:22:48",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IOracleService_$23755",
"typeString": "contract IOracleService"
},
"typeName": {
"id": 22549,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22548,
"name": "IOracleService",
"nodeType": "IdentifierPath",
"referencedDeclaration": 23755,
"src": "1139:14:48"
},
"referencedDeclaration": 23755,
"src": "1139:14:48",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IOracleService_$23755",
"typeString": "contract IOracleService"
}
},
"visibility": "internal"
}
],
"src": "1138:24:48"
},
"scope": 22849,
"src": "1089:74:48",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "4288121d",
"id": 22558,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getProductService",
"nameLocation": "1177:17:48",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22553,
"nodeType": "ParameterList",
"parameters": [],
"src": "1194:2:48"
},
"returnParameters": {
"id": 22557,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22556,
"mutability": "mutable",
"name": "service",
"nameLocation": "1235:7:48",
"nodeType": "VariableDeclaration",
"scope": 22558,
"src": "1219:23:48",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IProductService_$23900",
"typeString": "contract IProductService"
},
"typeName": {
"id": 22555,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22554,
"name": "IProductService",
"nodeType": "IdentifierPath",
"referencedDeclaration": 23900,
"src": "1219:15:48"
},
"referencedDeclaration": 23900,
"src": "1219:15:48",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IProductServic