@etherisc/gif-next 0.0.2-c5049d4-401 → 0.0.2-c52b5b7-438
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 +27 -6
- 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 +505 -245
- 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 +396 -185
- 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 +172 -305
- 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 +103 -185
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +338 -163
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +115 -65
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +90 -167
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +209 -70
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +204 -222
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +261 -27
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +455 -389
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +258 -28
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +247 -270
- 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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +156 -175
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +318 -223
- 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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +751 -340
- 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 +236 -39
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +144 -93
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +284 -62
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +734 -321
- 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 +869 -261
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +170 -169
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +69 -49
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +556 -415
- 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 +142 -183
- 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 +118 -135
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +151 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +95 -41
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +151 -168
- 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 +162 -268
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +79 -81
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +126 -149
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +279 -247
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +139 -167
- 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 +490 -390
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +133 -51
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +190 -48
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +80 -38
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +278 -234
- 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 +308 -158
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +106 -72
- 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 +168 -54
- 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 +258 -209
- 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 +264 -170
- 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 +102 -64
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +179 -133
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +75 -57
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +268 -224
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +167 -67
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +92 -38
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +117 -17
- 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 +161 -53
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +600 -440
- 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 -185
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +68 -34
- 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 +417 -249
- 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 +94 -93
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +507 -524
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +96 -74
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +55 -2
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +509 -4
- 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 +463 -300
- 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 +1 -1
- 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 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -134
- 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 +18 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +152 -38
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +55 -2
- 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 +170 -117
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +258 -198
- 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 +92 -50
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +35 -67
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +203 -59
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +77 -39
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +191 -136
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +48 -38
- 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 +35 -11
- 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 +94 -38
- 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 +69 -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 +73 -36
- 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 +44 -12
- 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 +342 -230
- 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 -34
- 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 +36 -87
- package/contracts/distribution/DistributionService.sol +129 -80
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +1 -10
- package/contracts/distribution/IDistributionService.sol +22 -20
- package/contracts/examples/fire/DamageLevel.sol +5 -2
- package/contracts/examples/fire/FirePool.sol +24 -13
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +106 -63
- package/contracts/examples/fire/FireProductAuthorization.sol +14 -8
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +43 -12
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +8 -12
- package/contracts/examples/unpermissioned/SimplePool.sol +36 -10
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +51 -29
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +60 -17
- package/contracts/instance/IInstanceService.sol +27 -31
- package/contracts/instance/Instance.sol +115 -40
- package/contracts/instance/InstanceAdmin.sol +287 -122
- package/contracts/instance/InstanceAuthorizationV3.sol +90 -59
- package/contracts/instance/InstanceReader.sol +259 -39
- package/contracts/instance/InstanceService.sol +185 -192
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +3 -3
- package/contracts/instance/module/IComponents.sol +13 -9
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IPolicy.sol +5 -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 +5 -18
- package/contracts/oracle/OracleService.sol +108 -79
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +27 -9
- package/contracts/pool/BundleService.sol +88 -131
- package/contracts/pool/BundleServiceManager.sol +1 -1
- 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 +136 -119
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +481 -234
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +46 -19
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +9 -13
- package/contracts/product/BasicProductAuthorization.sol +24 -11
- package/contracts/product/ClaimService.sol +246 -160
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +17 -4
- package/contracts/product/IPolicyService.sol +27 -9
- 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 +262 -249
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +37 -28
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +118 -76
- package/contracts/product/RiskService.sol +89 -31
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +10 -11
- package/contracts/registry/IRegistry.sol +16 -18
- 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 +36 -8
- package/contracts/registry/RegistryAdmin.sol +145 -351
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +36 -47
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +271 -245
- package/contracts/registry/ServiceAuthorizationV3.sol +182 -50
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +61 -119
- package/contracts/shared/ComponentService.sol +434 -367
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +27 -16
- package/contracts/shared/ContractLib.sol +246 -3
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +44 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +69 -46
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +27 -7
- package/contracts/shared/PolicyHolder.sol +5 -1
- package/contracts/shared/Registerable.sol +50 -19
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +9 -31
- 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 +96 -48
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +81 -24
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +7 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +54 -35
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +23 -15
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +14 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +2 -1
- 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");
|
@@ -199,6 +229,7 @@ contract InstanceAuthorizationV3
|
|
199
229
|
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
200
230
|
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
201
231
|
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
232
|
+
_authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
|
202
233
|
}
|
203
234
|
}
|
204
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,17 +59,49 @@ 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()));
|
77
|
+
}
|
78
|
+
|
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();
|
59
96
|
}
|
60
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
|
+
}
|
61
105
|
|
62
106
|
// module specific functions
|
63
107
|
|
@@ -99,6 +143,38 @@ contract InstanceReader {
|
|
99
143
|
return _store.getState(toPremiumKey(policyNftId));
|
100
144
|
}
|
101
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
|
+
|
102
178
|
function getBundleState(NftId bundleNftId)
|
103
179
|
public
|
104
180
|
view
|
@@ -107,14 +183,8 @@ contract InstanceReader {
|
|
107
183
|
return _store.getState(toBundleKey(bundleNftId));
|
108
184
|
}
|
109
185
|
|
110
|
-
/// @dev
|
111
|
-
|
112
|
-
/// - policy exists
|
113
|
-
/// - has been activated
|
114
|
-
/// - is not yet closed
|
115
|
-
/// - has no open claims
|
116
|
-
/// - claim amount matches sum insured amount or is expired
|
117
|
-
function policyIsCloseable(NftId policyNftId)
|
186
|
+
/// @dev Returns true iff policy is active.
|
187
|
+
function policyIsActive(NftId policyNftId)
|
118
188
|
public
|
119
189
|
view
|
120
190
|
returns (bool isCloseable)
|
@@ -123,17 +193,27 @@ contract InstanceReader {
|
|
123
193
|
|
124
194
|
if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
|
125
195
|
if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
|
126
|
-
if (info.
|
127
|
-
if (info.
|
196
|
+
if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
|
197
|
+
if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
|
198
|
+
|
199
|
+
return true;
|
200
|
+
}
|
128
201
|
|
129
|
-
|
130
|
-
|
202
|
+
function claims(NftId policyNftId)
|
203
|
+
public
|
204
|
+
view
|
205
|
+
returns (uint16 claimCount)
|
206
|
+
{
|
207
|
+
return getPolicyInfo(policyNftId).claimsCount;
|
208
|
+
}
|
131
209
|
|
132
|
-
// not closeable: not yet expired
|
133
|
-
if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
|
134
210
|
|
135
|
-
|
136
|
-
|
211
|
+
function getClaimId(uint idx)
|
212
|
+
public
|
213
|
+
view
|
214
|
+
returns (ClaimId claimId)
|
215
|
+
{
|
216
|
+
return ClaimIdLib.toClaimId(idx + 1);
|
137
217
|
}
|
138
218
|
|
139
219
|
function getClaimInfo(NftId policyNftId, ClaimId claimId)
|
@@ -147,6 +227,7 @@ contract InstanceReader {
|
|
147
227
|
}
|
148
228
|
}
|
149
229
|
|
230
|
+
|
150
231
|
function getClaimState(NftId policyNftId, ClaimId claimId)
|
151
232
|
public
|
152
233
|
view
|
@@ -155,6 +236,34 @@ contract InstanceReader {
|
|
155
236
|
return _store.getState(claimId.toKey32(policyNftId));
|
156
237
|
}
|
157
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
|
+
|
158
267
|
function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
|
159
268
|
public
|
160
269
|
view
|
@@ -174,6 +283,38 @@ contract InstanceReader {
|
|
174
283
|
return _store.getState(payoutId.toKey32(policyNftId));
|
175
284
|
}
|
176
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
|
+
|
177
318
|
function getRiskInfo(RiskId riskId)
|
178
319
|
public
|
179
320
|
view
|
@@ -185,19 +326,68 @@ contract InstanceReader {
|
|
185
326
|
}
|
186
327
|
}
|
187
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
|
+
|
188
379
|
function getTokenHandler(NftId componentNftId)
|
189
380
|
public
|
190
381
|
view
|
191
|
-
returns (
|
382
|
+
returns (TokenHandler tokenHandler)
|
192
383
|
{
|
193
384
|
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
194
|
-
|
195
385
|
if (data.length > 0) {
|
196
|
-
|
197
|
-
return address(info.tokenHandler);
|
386
|
+
return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
|
198
387
|
}
|
199
388
|
}
|
200
389
|
|
390
|
+
|
201
391
|
function getBundleInfo(NftId bundleNftId)
|
202
392
|
public
|
203
393
|
view
|
@@ -265,6 +455,17 @@ contract InstanceReader {
|
|
265
455
|
}
|
266
456
|
}
|
267
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
|
+
|
268
469
|
function getPoolInfo(NftId poolNftId)
|
269
470
|
public
|
270
471
|
view
|
@@ -287,6 +488,16 @@ contract InstanceReader {
|
|
287
488
|
}
|
288
489
|
}
|
289
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
|
+
|
290
501
|
function getRequestInfo(RequestId requestId)
|
291
502
|
public
|
292
503
|
view
|
@@ -375,7 +586,7 @@ contract InstanceReader {
|
|
375
586
|
}
|
376
587
|
|
377
588
|
|
378
|
-
function
|
589
|
+
function isLocked(address target) public view returns (bool) {
|
379
590
|
return _instance.getInstanceAdmin().isTargetLocked(target);
|
380
591
|
}
|
381
592
|
|
@@ -411,15 +622,24 @@ contract InstanceReader {
|
|
411
622
|
return productNftId.toKey32(PRODUCT());
|
412
623
|
}
|
413
624
|
|
414
|
-
|
415
|
-
|
416
|
-
return _instance;
|
625
|
+
function toFeeKey(NftId productNftId) public pure returns (Key32) {
|
626
|
+
return productNftId.toKey32(FEE());
|
417
627
|
}
|
418
628
|
|
629
|
+
// low level function
|
630
|
+
|
419
631
|
function getInstanceStore() external view returns (IKeyValueStore store) {
|
420
632
|
return _store;
|
421
633
|
}
|
422
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
|
+
|
423
643
|
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
424
644
|
return UFixedLib.toUFixed(value, exp);
|
425
645
|
}
|