@etherisc/gif-next 0.0.2-9b4e378-274 → 0.0.2-9b4f8fa-920
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -7
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +495 -254
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +273 -16
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +391 -199
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +139 -15
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +153 -433
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +261 -27
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +94 -323
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +336 -268
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +142 -112
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +89 -166
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +205 -66
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +222 -38
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +140 -95
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +241 -126
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +734 -324
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +205 -90
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +847 -225
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +168 -280
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +96 -96
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +566 -560
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +129 -317
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +243 -29
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +104 -116
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +105 -269
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +122 -286
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +261 -27
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +158 -371
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +106 -128
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +84 -111
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +124 -147
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +279 -257
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +122 -297
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +509 -526
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +160 -98
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +191 -164
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +106 -88
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +237 -340
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +261 -27
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +316 -257
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +137 -115
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +131 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +199 -21
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +245 -59
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +117 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +237 -188
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +86 -6
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +367 -260
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +193 -214
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +115 -97
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +235 -338
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +169 -176
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +119 -85
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +333 -33
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +539 -94
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +639 -367
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +423 -245
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +81 -227
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +492 -616
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +133 -121
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +445 -282
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +104 -116
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +104 -268
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +161 -108
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +148 -16
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +239 -326
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +123 -96
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +31 -63
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +201 -164
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +185 -130
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +33 -23
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +33 -9
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +71 -70
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +338 -225
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +350 -202
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +69 -35
- package/contracts/authorization/IAuthorization.sol +33 -7
- package/contracts/authorization/IServiceAuthorization.sol +3 -1
- package/contracts/authorization/ServiceAuthorization.sol +26 -10
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
- package/contracts/distribution/Distribution.sol +37 -88
- package/contracts/distribution/DistributionService.sol +134 -85
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +1 -10
- package/contracts/distribution/IDistributionService.sol +22 -20
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +59 -17
- package/contracts/instance/IInstanceService.sol +22 -30
- package/contracts/instance/Instance.sol +109 -42
- package/contracts/instance/InstanceAdmin.sol +287 -122
- package/contracts/instance/InstanceAuthorizationV3.sol +91 -59
- package/contracts/instance/InstanceReader.sol +267 -39
- package/contracts/instance/InstanceService.sol +181 -186
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +13 -6
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +6 -3
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +13 -9
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IPolicy.sol +4 -4
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +6 -19
- package/contracts/oracle/OracleService.sol +113 -82
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +27 -9
- package/contracts/pool/BundleService.sol +93 -136
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +15 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +70 -65
- package/contracts/pool/Pool.sol +137 -120
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +484 -238
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +48 -23
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +9 -13
- package/contracts/product/BasicProductAuthorization.sol +24 -11
- package/contracts/product/ClaimService.sol +301 -156
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +17 -4
- package/contracts/product/IPolicyService.sol +35 -13
- package/contracts/product/IPricingService.sol +10 -9
- package/contracts/product/IProductComponent.sol +27 -4
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +343 -253
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +36 -28
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +119 -77
- package/contracts/product/RiskService.sol +91 -34
- package/contracts/product/RiskServiceManager.sol +4 -4
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +59 -27
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +356 -202
- package/contracts/registry/RegistryAdmin.sol +161 -277
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +272 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +182 -50
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +65 -123
- package/contracts/shared/ComponentService.sol +437 -370
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +27 -16
- package/contracts/shared/ContractLib.sol +281 -0
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +42 -38
- package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -49
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +28 -8
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +15 -32
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +17 -10
- package/contracts/staking/IStakingService.sol +16 -4
- package/contracts/staking/Staking.sol +99 -51
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +82 -25
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +54 -35
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +23 -15
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +13 -119
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +68 -34
- package/contracts/upgradeability/Versionable.sol +2 -2
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,79 +1,62 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE
|
6
|
-
} from "../../contracts/type/ObjectType.sol";
|
7
|
-
|
8
|
-
import {
|
9
|
-
DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE
|
10
|
-
} from "../../contracts/type/RoleId.sol";
|
11
|
-
|
12
|
-
import {BundleSet} from "../instance/BundleSet.sol";
|
13
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
|
6
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
7
|
+
import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK} from "../../contracts/type/ObjectType.sol";
|
8
|
+
import {BundleSet} from "../instance/BundleSet.sol";
|
14
9
|
import {Instance} from "../instance/Instance.sol";
|
15
10
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
16
11
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
17
|
-
import {
|
12
|
+
import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
13
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
18
14
|
|
19
15
|
|
20
16
|
contract InstanceAuthorizationV3
|
21
|
-
is
|
17
|
+
is Authorization
|
22
18
|
{
|
23
19
|
|
20
|
+
string public constant INSTANCE_ROLE_NAME = "InstanceRole";
|
21
|
+
|
24
22
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
25
23
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
26
24
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
27
25
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
26
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
string public constant POOL_OWNER_ROLE_NAME = "PoolOwnerRole";
|
33
|
-
string public constant PRODUCT_OWNER_ROLE_NAME = "ProductOwnerRole";
|
34
|
-
|
35
|
-
constructor() ModuleAuthorization(INSTANCE_TARGET_NAME) {}
|
36
|
-
|
37
|
-
|
38
|
-
function _setupRoles()
|
39
|
-
internal
|
40
|
-
override
|
41
|
-
{
|
42
|
-
_addGifRole(DISTRIBUTION_OWNER_ROLE(), DISTRIBUTION_OWNER_ROLE_NAME);
|
43
|
-
_addGifRole(ORACLE_OWNER_ROLE(), ORACLE_OWNER_ROLE_NAME);
|
44
|
-
_addGifRole(POOL_OWNER_ROLE(), POOL_OWNER_ROLE_NAME);
|
45
|
-
_addGifRole(PRODUCT_OWNER_ROLE(), PRODUCT_OWNER_ROLE_NAME);
|
46
|
-
}
|
47
|
-
|
48
|
-
|
49
|
-
function _setupTargets()
|
50
|
-
internal
|
51
|
-
override
|
52
|
-
{
|
53
|
-
// instance target
|
54
|
-
_addTargetWithRole(
|
55
|
-
INSTANCE_TARGET_NAME,
|
56
|
-
_getTargetRoleId(INSTANCE()),
|
57
|
-
INSTANCE_ROLE_NAME);
|
58
|
-
|
59
|
-
// instance supporting targets
|
60
|
-
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
61
|
-
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
62
|
-
_addTarget(BUNDLE_SET_TARGET_NAME);
|
28
|
+
constructor()
|
29
|
+
Authorization(INSTANCE_TARGET_NAME, INSTANCE(), false, false)
|
30
|
+
{ }
|
63
31
|
|
32
|
+
function _setupServiceTargets() internal virtual override {
|
64
33
|
// service targets relevant to instance
|
65
34
|
_addServiceTargetWithRole(INSTANCE());
|
35
|
+
_addServiceTargetWithRole(ACCOUNTING());
|
66
36
|
_addServiceTargetWithRole(COMPONENT());
|
67
37
|
_addServiceTargetWithRole(DISTRIBUTION());
|
68
38
|
_addServiceTargetWithRole(ORACLE());
|
69
39
|
_addServiceTargetWithRole(POOL());
|
70
40
|
_addServiceTargetWithRole(BUNDLE());
|
71
|
-
_addServiceTargetWithRole(
|
41
|
+
_addServiceTargetWithRole(RISK());
|
72
42
|
_addServiceTargetWithRole(APPLICATION());
|
73
43
|
_addServiceTargetWithRole(POLICY());
|
74
44
|
_addServiceTargetWithRole(CLAIM());
|
75
45
|
}
|
76
46
|
|
47
|
+
function _setupTargets()
|
48
|
+
internal
|
49
|
+
override
|
50
|
+
{
|
51
|
+
// instance supporting targets
|
52
|
+
// _addGifContractTarget(INSTANCE_ADMIN_TARGET_NAME);
|
53
|
+
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
54
|
+
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
55
|
+
_addTarget(BUNDLE_SET_TARGET_NAME);
|
56
|
+
_addTarget(RISK_SET_TARGET_NAME);
|
57
|
+
|
58
|
+
}
|
59
|
+
|
77
60
|
|
78
61
|
function _setupTargetAuthorizations()
|
79
62
|
internal
|
@@ -83,6 +66,7 @@ contract InstanceAuthorizationV3
|
|
83
66
|
_setupInstanceAdminAuthorization();
|
84
67
|
_setupInstanceStoreAuthorization();
|
85
68
|
_setupBundleSetAuthorization();
|
69
|
+
_setUpRiskSetAuthorization();
|
86
70
|
}
|
87
71
|
|
88
72
|
|
@@ -93,11 +77,31 @@ contract InstanceAuthorizationV3
|
|
93
77
|
|
94
78
|
// authorize bundle service role
|
95
79
|
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(BUNDLE()));
|
96
|
-
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
97
|
-
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
98
80
|
_authorize(functions, BundleSet.add.selector, "add");
|
99
81
|
_authorize(functions, BundleSet.lock.selector, "lock");
|
100
82
|
_authorize(functions, BundleSet.unlock.selector, "unlock");
|
83
|
+
|
84
|
+
// authorize bundle service role
|
85
|
+
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(POLICY()));
|
86
|
+
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
87
|
+
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
88
|
+
}
|
89
|
+
|
90
|
+
function _setUpRiskSetAuthorization()
|
91
|
+
internal
|
92
|
+
{
|
93
|
+
IAccess.FunctionInfo[] storage functions;
|
94
|
+
|
95
|
+
// authorize risk service role
|
96
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(RISK()));
|
97
|
+
_authorize(functions, RiskSet.add.selector, "add");
|
98
|
+
_authorize(functions, RiskSet.pause.selector, "pause");
|
99
|
+
_authorize(functions, RiskSet.activate.selector, "activate");
|
100
|
+
|
101
|
+
// authorize policy service role
|
102
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(POLICY()));
|
103
|
+
_authorize(functions, RiskSet.linkPolicy.selector, "linkPolicy");
|
104
|
+
_authorize(functions, RiskSet.unlinkPolicy.selector, "unlinkPolicy");
|
101
105
|
}
|
102
106
|
|
103
107
|
|
@@ -106,6 +110,24 @@ contract InstanceAuthorizationV3
|
|
106
110
|
{
|
107
111
|
IAccess.FunctionInfo[] storage functions;
|
108
112
|
|
113
|
+
// authorize instance service role
|
114
|
+
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, PUBLIC_ROLE());
|
115
|
+
_authorize(functions, Instance.registerProduct.selector, "registerProduct");
|
116
|
+
_authorize(functions, Instance.upgradeInstanceReader.selector, "upgradeInstanceReader");
|
117
|
+
|
118
|
+
// staking
|
119
|
+
_authorize(functions, Instance.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
|
120
|
+
_authorize(functions, Instance.setStakingRewardRate.selector, "setStakingRewardRate");
|
121
|
+
_authorize(functions, Instance.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
|
122
|
+
_authorize(functions, Instance.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
|
123
|
+
|
124
|
+
// custom authz
|
125
|
+
_authorize(functions, Instance.createRole.selector, "createRole");
|
126
|
+
_authorize(functions, Instance.grantRole.selector, "grantRole");
|
127
|
+
_authorize(functions, Instance.revokeRole.selector, "revokeRole");
|
128
|
+
_authorize(functions, Instance.createTarget.selector, "createTarget");
|
129
|
+
_authorize(functions, Instance.setTargetFunctionRole.selector, "setTargetFunctionRole");
|
130
|
+
|
109
131
|
// authorize instance service role
|
110
132
|
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
|
111
133
|
_authorize(functions, Instance.setInstanceReader.selector, "setInstanceReader");
|
@@ -117,12 +139,15 @@ contract InstanceAuthorizationV3
|
|
117
139
|
{
|
118
140
|
IAccess.FunctionInfo[] storage functions;
|
119
141
|
|
120
|
-
// authorize
|
121
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
122
|
-
_authorize(functions, InstanceAdmin.
|
142
|
+
// authorize component service role
|
143
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
|
144
|
+
_authorize(functions, InstanceAdmin.setInstanceLocked.selector, "setInstanceLocked");
|
145
|
+
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
123
146
|
|
124
|
-
// authorize
|
125
|
-
|
147
|
+
// authorize component service role
|
148
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
149
|
+
_authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
|
150
|
+
_authorize(functions, InstanceAdmin.setComponentLocked.selector, "setComponentLocked");
|
126
151
|
}
|
127
152
|
|
128
153
|
|
@@ -131,6 +156,13 @@ contract InstanceAuthorizationV3
|
|
131
156
|
{
|
132
157
|
IAccess.FunctionInfo[] storage functions;
|
133
158
|
|
159
|
+
// authorize accounting service role
|
160
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ACCOUNTING()));
|
161
|
+
_authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
|
162
|
+
_authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
|
163
|
+
_authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
|
164
|
+
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
165
|
+
|
134
166
|
// authorize component service role
|
135
167
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
|
136
168
|
_authorize(functions, InstanceStore.createComponent.selector, "createComponent");
|
@@ -138,11 +170,9 @@ contract InstanceAuthorizationV3
|
|
138
170
|
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
139
171
|
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
140
172
|
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
141
|
-
_authorize(functions, InstanceStore.
|
142
|
-
_authorize(functions, InstanceStore.
|
143
|
-
|
144
|
-
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
145
|
-
|
173
|
+
_authorize(functions, InstanceStore.createFee.selector, "createFee");
|
174
|
+
_authorize(functions, InstanceStore.updateFee.selector, "updateFee");
|
175
|
+
|
146
176
|
// authorize distribution service role
|
147
177
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
148
178
|
_authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
|
@@ -174,7 +204,7 @@ contract InstanceAuthorizationV3
|
|
174
204
|
_authorize(functions, InstanceStore.decreaseLocked.selector, "decreaseLocked");
|
175
205
|
|
176
206
|
// authorize product service role
|
177
|
-
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(
|
207
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(RISK()));
|
178
208
|
_authorize(functions, InstanceStore.createRisk.selector, "createRisk");
|
179
209
|
_authorize(functions, InstanceStore.updateRisk.selector, "updateRisk");
|
180
210
|
_authorize(functions, InstanceStore.updateRiskState.selector, "updateRiskState");
|
@@ -190,6 +220,7 @@ contract InstanceAuthorizationV3
|
|
190
220
|
_authorize(functions, InstanceStore.updatePolicy.selector, "updatePolicy");
|
191
221
|
_authorize(functions, InstanceStore.updatePolicyState.selector, "updatePolicyState");
|
192
222
|
_authorize(functions, InstanceStore.createPremium.selector, "createPremium");
|
223
|
+
_authorize(functions, InstanceStore.updatePremiumState.selector, "updatePremiumState");
|
193
224
|
|
194
225
|
// authorize claim service role
|
195
226
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(CLAIM()));
|
@@ -198,6 +229,7 @@ contract InstanceAuthorizationV3
|
|
198
229
|
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
199
230
|
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
200
231
|
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
232
|
+
_authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
|
201
233
|
}
|
202
234
|
}
|
203
235
|
|
@@ -1,31 +1,38 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {ClaimId} from "../type/ClaimId.sol";
|
6
|
-
import {DistributorType} from "../type/DistributorType.sol";
|
7
|
-
import {Key32} from "../type/Key32.sol";
|
8
|
-
import {NftId} from "../type/NftId.sol";
|
9
|
-
import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
|
10
|
-
import {PayoutId} from "../type/PayoutId.sol";
|
11
|
-
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
12
|
-
import {RequestId} from "../type/RequestId.sol";
|
13
|
-
import {RiskId} from "../type/RiskId.sol";
|
14
|
-
import {RoleId} from "../type/RoleId.sol";
|
15
|
-
import {StateId} from "../type/StateId.sol";
|
16
|
-
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
17
5
|
|
18
6
|
import {IBundle} from "../instance/module/IBundle.sol";
|
19
7
|
import {IComponents} from "../instance/module/IComponents.sol";
|
20
8
|
import {IDistribution} from "../instance/module/IDistribution.sol";
|
9
|
+
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
21
10
|
import {IInstance} from "./IInstance.sol";
|
22
11
|
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
23
12
|
import {IOracle} from "../oracle/IOracle.sol";
|
24
13
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
14
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
25
15
|
import {IRisk} from "../instance/module/IRisk.sol";
|
26
16
|
import {TimestampLib} from "../type/Timestamp.sol";
|
27
17
|
|
18
|
+
import {Amount} from "../type/Amount.sol";
|
19
|
+
import {BundleSet} from "./BundleSet.sol";
|
20
|
+
import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
|
21
|
+
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
22
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
28
23
|
import {InstanceStore} from "./InstanceStore.sol";
|
24
|
+
import {Key32} from "../type/Key32.sol";
|
25
|
+
import {NftId} from "../type/NftId.sol";
|
26
|
+
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
27
|
+
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
28
|
+
import {RequestId} from "../type/RequestId.sol";
|
29
|
+
import {RiskId} from "../type/RiskId.sol";
|
30
|
+
import {RiskSet} from "./RiskSet.sol";
|
31
|
+
import {RoleId} from "../type/RoleId.sol";
|
32
|
+
import {StateId} from "../type/StateId.sol";
|
33
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
34
|
+
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
35
|
+
|
29
36
|
|
30
37
|
|
31
38
|
contract InstanceReader {
|
@@ -35,8 +42,13 @@ contract InstanceReader {
|
|
35
42
|
|
36
43
|
bool private _initialized = false;
|
37
44
|
|
45
|
+
IRegistry internal _registry;
|
38
46
|
IInstance internal _instance;
|
47
|
+
|
39
48
|
InstanceStore internal _store;
|
49
|
+
BundleSet internal _bundleSet;
|
50
|
+
RiskSet internal _riskSet;
|
51
|
+
IDistributionService internal _distributionService;
|
40
52
|
|
41
53
|
/// @dev This initializer needs to be called from the instance itself.
|
42
54
|
function initialize() public {
|
@@ -47,18 +59,50 @@ contract InstanceReader {
|
|
47
59
|
initializeWithInstance(msg.sender);
|
48
60
|
}
|
49
61
|
|
50
|
-
|
51
|
-
|
62
|
+
function initializeWithInstance(address instanceAddress)
|
63
|
+
public
|
64
|
+
{
|
52
65
|
if(_initialized) {
|
53
66
|
revert ErrorInstanceReaderAlreadyInitialized();
|
54
67
|
}
|
55
68
|
|
56
69
|
_initialized = true;
|
57
70
|
_instance = IInstance(instanceAddress);
|
71
|
+
_registry = _instance.getRegistry();
|
72
|
+
|
58
73
|
_store = _instance.getInstanceStore();
|
74
|
+
_bundleSet = _instance.getBundleSet();
|
75
|
+
_riskSet = _instance.getRiskSet();
|
76
|
+
_distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
59
77
|
}
|
60
78
|
|
61
79
|
|
80
|
+
// instance level functions
|
81
|
+
|
82
|
+
function getRegistry() public view returns (IRegistry registry) {
|
83
|
+
return _registry;
|
84
|
+
}
|
85
|
+
|
86
|
+
function getInstanceNftId() public view returns (NftId instanceNftid) {
|
87
|
+
return _registry.getNftIdForAddress(address(_instance));
|
88
|
+
}
|
89
|
+
|
90
|
+
function getInstance() public view returns (IInstance instance) {
|
91
|
+
return _instance;
|
92
|
+
}
|
93
|
+
|
94
|
+
function components() public view returns (uint256 componentCount) {
|
95
|
+
return _instance.getInstanceAdmin().components();
|
96
|
+
}
|
97
|
+
|
98
|
+
function products() public view returns (uint256 productCount) {
|
99
|
+
return _instance.products();
|
100
|
+
}
|
101
|
+
|
102
|
+
function getProductNftId(uint256 idx) public view returns (NftId productNftId) {
|
103
|
+
return _instance.getProductNftId(idx);
|
104
|
+
}
|
105
|
+
|
62
106
|
// module specific functions
|
63
107
|
|
64
108
|
function getPolicyInfo(NftId policyNftId)
|
@@ -91,6 +135,46 @@ contract InstanceReader {
|
|
91
135
|
}
|
92
136
|
}
|
93
137
|
|
138
|
+
function getPremiumInfoState(NftId policyNftId)
|
139
|
+
public
|
140
|
+
view
|
141
|
+
returns (StateId state)
|
142
|
+
{
|
143
|
+
return _store.getState(toPremiumKey(policyNftId));
|
144
|
+
}
|
145
|
+
|
146
|
+
function bundles(NftId poolNftId)
|
147
|
+
public
|
148
|
+
view
|
149
|
+
returns (uint256 bundleCount)
|
150
|
+
{
|
151
|
+
return _bundleSet.bundles(poolNftId);
|
152
|
+
}
|
153
|
+
|
154
|
+
function activeBundles(NftId poolNftId)
|
155
|
+
public
|
156
|
+
view
|
157
|
+
returns (uint256 bundleCount)
|
158
|
+
{
|
159
|
+
return _bundleSet.activeBundles(poolNftId);
|
160
|
+
}
|
161
|
+
|
162
|
+
function getActiveBundleNftId(NftId poolNftId, uint256 idx)
|
163
|
+
public
|
164
|
+
view
|
165
|
+
returns (NftId bundleNftId)
|
166
|
+
{
|
167
|
+
return _bundleSet.getActiveBundleNftId(poolNftId, idx);
|
168
|
+
}
|
169
|
+
|
170
|
+
function getBundleNftId(NftId poolNftId, uint256 idx)
|
171
|
+
public
|
172
|
+
view
|
173
|
+
returns (NftId bundleNftId)
|
174
|
+
{
|
175
|
+
return _bundleSet.getBundleNftId(poolNftId, idx);
|
176
|
+
}
|
177
|
+
|
94
178
|
function getBundleState(NftId bundleNftId)
|
95
179
|
public
|
96
180
|
view
|
@@ -99,14 +183,8 @@ contract InstanceReader {
|
|
99
183
|
return _store.getState(toBundleKey(bundleNftId));
|
100
184
|
}
|
101
185
|
|
102
|
-
/// @dev
|
103
|
-
|
104
|
-
/// - policy exists
|
105
|
-
/// - has been activated
|
106
|
-
/// - is not yet closed
|
107
|
-
/// - has no open claims
|
108
|
-
/// - claim amount matches sum insured amount or is expired
|
109
|
-
function policyIsCloseable(NftId policyNftId)
|
186
|
+
/// @dev Returns true iff policy is active.
|
187
|
+
function policyIsActive(NftId policyNftId)
|
110
188
|
public
|
111
189
|
view
|
112
190
|
returns (bool isCloseable)
|
@@ -115,17 +193,27 @@ contract InstanceReader {
|
|
115
193
|
|
116
194
|
if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
|
117
195
|
if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
|
118
|
-
if (info.
|
119
|
-
if (info.
|
196
|
+
if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
|
197
|
+
if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
|
120
198
|
|
121
|
-
|
122
|
-
|
199
|
+
return true;
|
200
|
+
}
|
201
|
+
|
202
|
+
function claims(NftId policyNftId)
|
203
|
+
public
|
204
|
+
view
|
205
|
+
returns (uint16 claimCount)
|
206
|
+
{
|
207
|
+
return getPolicyInfo(policyNftId).claimsCount;
|
208
|
+
}
|
123
209
|
|
124
|
-
// not closeable: not yet expired
|
125
|
-
if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
|
126
210
|
|
127
|
-
|
128
|
-
|
211
|
+
function getClaimId(uint idx)
|
212
|
+
public
|
213
|
+
view
|
214
|
+
returns (ClaimId claimId)
|
215
|
+
{
|
216
|
+
return ClaimIdLib.toClaimId(idx + 1);
|
129
217
|
}
|
130
218
|
|
131
219
|
function getClaimInfo(NftId policyNftId, ClaimId claimId)
|
@@ -139,6 +227,7 @@ contract InstanceReader {
|
|
139
227
|
}
|
140
228
|
}
|
141
229
|
|
230
|
+
|
142
231
|
function getClaimState(NftId policyNftId, ClaimId claimId)
|
143
232
|
public
|
144
233
|
view
|
@@ -147,6 +236,34 @@ contract InstanceReader {
|
|
147
236
|
return _store.getState(claimId.toKey32(policyNftId));
|
148
237
|
}
|
149
238
|
|
239
|
+
|
240
|
+
function payouts(NftId policyNftId, ClaimId claimId)
|
241
|
+
public
|
242
|
+
view
|
243
|
+
returns (uint24 payoutCount)
|
244
|
+
{
|
245
|
+
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
246
|
+
}
|
247
|
+
|
248
|
+
|
249
|
+
function getPayoutId(ClaimId claimId, uint24 idx)
|
250
|
+
public
|
251
|
+
view
|
252
|
+
returns (PayoutId payoutId)
|
253
|
+
{
|
254
|
+
return PayoutIdLib.toPayoutId(claimId, idx + 1);
|
255
|
+
}
|
256
|
+
|
257
|
+
|
258
|
+
function getRemainingClaimableAmount(NftId policyNftId)
|
259
|
+
public
|
260
|
+
view
|
261
|
+
returns (Amount remainingClaimableAmount)
|
262
|
+
{
|
263
|
+
IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
|
264
|
+
return info.sumInsuredAmount - info.claimAmount;
|
265
|
+
}
|
266
|
+
|
150
267
|
function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
|
151
268
|
public
|
152
269
|
view
|
@@ -166,6 +283,38 @@ contract InstanceReader {
|
|
166
283
|
return _store.getState(payoutId.toKey32(policyNftId));
|
167
284
|
}
|
168
285
|
|
286
|
+
function risks(NftId productNftId)
|
287
|
+
public
|
288
|
+
view
|
289
|
+
returns (uint256 riskCount)
|
290
|
+
{
|
291
|
+
return _riskSet.risks(productNftId);
|
292
|
+
}
|
293
|
+
|
294
|
+
function getRiskId(NftId productNftId, uint256 idx)
|
295
|
+
public
|
296
|
+
view
|
297
|
+
returns (RiskId riskId)
|
298
|
+
{
|
299
|
+
return _riskSet.getRiskId(productNftId, idx);
|
300
|
+
}
|
301
|
+
|
302
|
+
function activeRisks(NftId productNftId)
|
303
|
+
public
|
304
|
+
view
|
305
|
+
returns (uint256 activeRiskCount)
|
306
|
+
{
|
307
|
+
return _riskSet.activeRisks(productNftId);
|
308
|
+
}
|
309
|
+
|
310
|
+
function getActiveRiskId(NftId productNftId, uint256 idx)
|
311
|
+
public
|
312
|
+
view
|
313
|
+
returns (RiskId riskId)
|
314
|
+
{
|
315
|
+
return _riskSet.getActiveRiskId(productNftId, idx);
|
316
|
+
}
|
317
|
+
|
169
318
|
function getRiskInfo(RiskId riskId)
|
170
319
|
public
|
171
320
|
view
|
@@ -177,19 +326,68 @@ contract InstanceReader {
|
|
177
326
|
}
|
178
327
|
}
|
179
328
|
|
329
|
+
function getRiskState(RiskId riskId)
|
330
|
+
public
|
331
|
+
view
|
332
|
+
returns (StateId stateId)
|
333
|
+
{
|
334
|
+
bytes memory data = _store.getData(riskId.toKey32());
|
335
|
+
return _store.getState(riskId.toKey32());
|
336
|
+
}
|
337
|
+
|
338
|
+
function policiesForRisk(RiskId riskId)
|
339
|
+
public
|
340
|
+
view
|
341
|
+
returns (uint256 linkedPolicies)
|
342
|
+
{
|
343
|
+
return _riskSet.linkedPolicies(riskId);
|
344
|
+
}
|
345
|
+
|
346
|
+
function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
|
347
|
+
public
|
348
|
+
view
|
349
|
+
returns (NftId linkedPolicyNftId)
|
350
|
+
{
|
351
|
+
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
352
|
+
}
|
353
|
+
|
354
|
+
|
355
|
+
function getToken(NftId componentNftId)
|
356
|
+
public
|
357
|
+
view
|
358
|
+
returns (IERC20Metadata token)
|
359
|
+
{
|
360
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
361
|
+
if (address(tokenHandler) != address(0)) {
|
362
|
+
return tokenHandler.TOKEN();
|
363
|
+
}
|
364
|
+
}
|
365
|
+
|
366
|
+
|
367
|
+
function getWallet(NftId componentNftId)
|
368
|
+
public
|
369
|
+
view
|
370
|
+
returns (address wallet)
|
371
|
+
{
|
372
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
373
|
+
if (address(tokenHandler) != address(0)) {
|
374
|
+
return tokenHandler.getWallet();
|
375
|
+
}
|
376
|
+
}
|
377
|
+
|
378
|
+
|
180
379
|
function getTokenHandler(NftId componentNftId)
|
181
380
|
public
|
182
381
|
view
|
183
|
-
returns (
|
382
|
+
returns (TokenHandler tokenHandler)
|
184
383
|
{
|
185
384
|
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
186
|
-
|
187
385
|
if (data.length > 0) {
|
188
|
-
|
189
|
-
return address(info.tokenHandler);
|
386
|
+
return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
|
190
387
|
}
|
191
388
|
}
|
192
389
|
|
390
|
+
|
193
391
|
function getBundleInfo(NftId bundleNftId)
|
194
392
|
public
|
195
393
|
view
|
@@ -257,6 +455,17 @@ contract InstanceReader {
|
|
257
455
|
}
|
258
456
|
}
|
259
457
|
|
458
|
+
function getFeeInfo(NftId productNftId)
|
459
|
+
public
|
460
|
+
view
|
461
|
+
returns (IComponents.FeeInfo memory feeInfo)
|
462
|
+
{
|
463
|
+
bytes memory data = _store.getData(toFeeKey(productNftId));
|
464
|
+
if (data.length > 0) {
|
465
|
+
return abi.decode(data, (IComponents.FeeInfo));
|
466
|
+
}
|
467
|
+
}
|
468
|
+
|
260
469
|
function getPoolInfo(NftId poolNftId)
|
261
470
|
public
|
262
471
|
view
|
@@ -279,6 +488,16 @@ contract InstanceReader {
|
|
279
488
|
}
|
280
489
|
}
|
281
490
|
|
491
|
+
function isReferralValid(NftId distributionNftId, ReferralId referralId)
|
492
|
+
external
|
493
|
+
view
|
494
|
+
returns (bool isValid)
|
495
|
+
{
|
496
|
+
return _distributionService.referralIsValid(
|
497
|
+
distributionNftId,
|
498
|
+
referralId);
|
499
|
+
}
|
500
|
+
|
282
501
|
function getRequestInfo(RequestId requestId)
|
283
502
|
public
|
284
503
|
view
|
@@ -367,7 +586,7 @@ contract InstanceReader {
|
|
367
586
|
}
|
368
587
|
|
369
588
|
|
370
|
-
function
|
589
|
+
function isLocked(address target) public view returns (bool) {
|
371
590
|
return _instance.getInstanceAdmin().isTargetLocked(target);
|
372
591
|
}
|
373
592
|
|
@@ -403,15 +622,24 @@ contract InstanceReader {
|
|
403
622
|
return productNftId.toKey32(PRODUCT());
|
404
623
|
}
|
405
624
|
|
406
|
-
|
407
|
-
|
408
|
-
return _instance;
|
625
|
+
function toFeeKey(NftId productNftId) public pure returns (Key32) {
|
626
|
+
return productNftId.toKey32(FEE());
|
409
627
|
}
|
410
628
|
|
629
|
+
// low level function
|
630
|
+
|
411
631
|
function getInstanceStore() external view returns (IKeyValueStore store) {
|
412
632
|
return _store;
|
413
633
|
}
|
414
634
|
|
635
|
+
function getBundleSet() external view returns (BundleSet bundleSet) {
|
636
|
+
return _bundleSet;
|
637
|
+
}
|
638
|
+
|
639
|
+
function getRiskSet() external view returns (RiskSet riskSet) {
|
640
|
+
return _riskSet;
|
641
|
+
}
|
642
|
+
|
415
643
|
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
416
644
|
return UFixedLib.toUFixed(value, exp);
|
417
645
|
}
|