@etherisc/gif-next 0.0.2-e769e2e-077 → 0.0.2-e79d227-681
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 +77 -10
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
- 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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +154 -546
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +380 -229
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +198 -96
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +186 -238
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +223 -47
- 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 +1429 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -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 +1430 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +153 -86
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +181 -119
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +174 -215
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1666 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +876 -160
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +260 -268
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +163 -81
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +506 -338
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -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/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +990 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +766 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +456 -187
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +218 -80
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +264 -26
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +115 -354
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +464 -223
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +152 -682
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +590 -382
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +190 -76
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +147 -161
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +147 -77
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +343 -168
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +200 -90
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +88 -8
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +196 -7
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +364 -121
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +134 -86
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +176 -160
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +51 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +475 -294
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +199 -81
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +229 -275
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +172 -102
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +201 -486
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
- 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 +412 -35
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +225 -196
- 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 +761 -87
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +278 -306
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +154 -78
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +185 -135
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +79 -274
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +626 -252
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +209 -99
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +55 -101
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -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/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +74 -79
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +561 -13
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +120 -108
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -13
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +23 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +36 -1
- 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 +49 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +129 -360
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -98
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +26 -55
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +62 -87
- 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 +55 -101
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +697 -25
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +462 -634
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +546 -48
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +613 -871
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +185 -81
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +633 -173
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +166 -68
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +121 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -2
- 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 +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- 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 +47 -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 +149 -2
- 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 +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +99 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- 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 +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +616 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +289 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/authorization/IAccessAdmin.sol +137 -0
- package/contracts/authorization/IAuthorization.sol +60 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ReleaseAccessManager.sol +38 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +139 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +145 -124
- package/contracts/distribution/DistributionService.sol +156 -99
- package/contracts/distribution/DistributionServiceManager.sol +13 -25
- package/contracts/distribution/IDistributionComponent.sol +27 -41
- package/contracts/distribution/IDistributionService.sol +29 -10
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
- package/contracts/examples/fire/FireProduct.sol +431 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +39 -44
- package/contracts/instance/IInstanceService.sol +33 -42
- package/contracts/instance/Instance.sol +137 -124
- package/contracts/instance/InstanceAdmin.sol +278 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +217 -0
- package/contracts/instance/InstanceReader.sol +249 -36
- package/contracts/instance/InstanceService.sol +227 -151
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- package/contracts/instance/InstanceStore.sol +85 -57
- package/contracts/instance/RiskSet.sol +119 -0
- package/contracts/instance/base/BalanceStore.sol +12 -7
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +111 -0
- package/contracts/instance/base/ObjectSet.sol +78 -0
- package/contracts/instance/module/IAccess.sol +2 -10
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +11 -13
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +26 -25
- package/contracts/instance/module/IRisk.sol +1 -0
- package/contracts/mock/Dip.sol +26 -0
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +156 -0
- package/contracts/oracle/OracleService.sol +309 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +175 -0
- package/contracts/pool/BasicPoolAuthorization.sol +68 -0
- package/contracts/pool/BundleService.sol +232 -122
- package/contracts/pool/BundleServiceManager.sol +13 -25
- package/contracts/pool/IBundleService.sol +34 -18
- package/contracts/pool/IPoolComponent.sol +20 -70
- package/contracts/pool/IPoolService.sol +57 -51
- package/contracts/pool/Pool.sol +208 -162
- package/contracts/pool/PoolService.sol +372 -181
- package/contracts/pool/PoolServiceManager.sol +12 -24
- package/contracts/product/ApplicationService.sol +90 -84
- package/contracts/product/ApplicationServiceManager.sol +12 -9
- package/contracts/product/BasicProduct.sol +49 -0
- package/contracts/product/BasicProductAuthorization.sol +42 -0
- package/contracts/product/ClaimService.sol +331 -153
- package/contracts/product/ClaimServiceManager.sol +12 -9
- package/contracts/product/IApplicationService.sol +7 -3
- package/contracts/product/IClaimService.sol +35 -5
- package/contracts/product/IPolicyService.sol +47 -35
- package/contracts/product/IPricingService.sol +11 -11
- package/contracts/product/IProductComponent.sol +26 -9
- package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -2
- package/contracts/product/PolicyService.sol +524 -262
- package/contracts/product/PolicyServiceManager.sol +12 -27
- package/contracts/product/PricingService.sol +64 -64
- package/contracts/product/PricingServiceManager.sol +12 -24
- package/contracts/product/Product.sol +189 -139
- package/contracts/product/{ProductService.sol → RiskService.sol} +35 -50
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +68 -37
- package/contracts/registry/IRegistry.sol +90 -28
- package/contracts/registry/IRegistryService.sol +26 -43
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +424 -228
- package/contracts/registry/RegistryAdmin.sol +451 -0
- package/contracts/registry/RegistryService.sol +63 -149
- package/contracts/registry/RegistryServiceManager.sol +23 -30
- package/contracts/registry/ReleaseLifecycle.sol +30 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +175 -0
- package/contracts/registry/TokenRegistry.sol +187 -59
- package/contracts/shared/Component.sol +56 -125
- package/contracts/shared/ComponentService.sol +411 -201
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ComponentVerifyingService.sol +40 -23
- package/contracts/shared/ContractLib.sol +224 -0
- package/contracts/shared/IComponent.sol +11 -18
- package/contracts/shared/IComponentService.sol +52 -13
- package/contracts/shared/IInstanceLinkedComponent.sol +11 -16
- package/contracts/shared/IKeyValueStore.sol +2 -1
- package/contracts/shared/ILifecycle.sol +3 -2
- package/contracts/shared/INftOwnable.sol +3 -1
- package/contracts/shared/IPolicyHolder.sol +12 -17
- package/contracts/shared/IRegisterable.sol +11 -0
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
- package/contracts/shared/InstanceLinkedComponent.sol +103 -43
- package/contracts/shared/KeyValueStore.sol +30 -68
- package/contracts/shared/Lifecycle.sol +30 -63
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +31 -22
- package/contracts/shared/PolicyHolder.sol +18 -50
- package/contracts/shared/Registerable.sol +19 -11
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +44 -37
- package/contracts/shared/TokenHandler.sol +358 -27
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +133 -37
- package/contracts/staking/IStakingService.sol +93 -41
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +394 -101
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +24 -18
- package/contracts/staking/StakingReader.sol +190 -0
- package/contracts/staking/StakingService.sol +282 -42
- package/contracts/staking/StakingServiceManager.sol +10 -7
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +39 -3
- package/contracts/type/Blocknumber.sol +20 -2
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +16 -4
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +178 -65
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +31 -5
- package/contracts/type/RoleId.sol +98 -74
- package/contracts/type/Seconds.sol +48 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +41 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +17 -3
- package/contracts/type/UFixed.sol +38 -9
- package/contracts/type/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/ProxyManager.sol +90 -27
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +11 -7
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -132
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -673
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -636
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -308
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -688
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/BundleManager.sol +0 -126
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -336
- package/contracts/instance/base/ObjectManager.sol +0 -82
- package/contracts/product/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -213
- package/contracts/registry/ReleaseManager.sol +0 -375
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -0,0 +1,217 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {
|
5
|
+
PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK
|
6
|
+
} from "../../contracts/type/ObjectType.sol";
|
7
|
+
|
8
|
+
import {BundleSet} from "../instance/BundleSet.sol";
|
9
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
10
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
11
|
+
import {Instance} from "../instance/Instance.sol";
|
12
|
+
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
13
|
+
import {InstanceStore} from "../instance/InstanceStore.sol";
|
14
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
15
|
+
|
16
|
+
|
17
|
+
contract InstanceAuthorizationV3
|
18
|
+
is Authorization
|
19
|
+
{
|
20
|
+
|
21
|
+
string public constant INSTANCE_ROLE_NAME = "InstanceRole";
|
22
|
+
|
23
|
+
string public constant INSTANCE_TARGET_NAME = "Instance";
|
24
|
+
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
25
|
+
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
26
|
+
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
28
|
+
|
29
|
+
constructor() Authorization(INSTANCE_TARGET_NAME) {}
|
30
|
+
|
31
|
+
|
32
|
+
function _setupRoles()
|
33
|
+
internal
|
34
|
+
override
|
35
|
+
{
|
36
|
+
// empty implementation
|
37
|
+
}
|
38
|
+
|
39
|
+
|
40
|
+
function _setupTargets()
|
41
|
+
internal
|
42
|
+
override
|
43
|
+
{
|
44
|
+
// instance target
|
45
|
+
_addTargetWithRole(
|
46
|
+
INSTANCE_TARGET_NAME,
|
47
|
+
_toTargetRoleId(INSTANCE()),
|
48
|
+
INSTANCE_ROLE_NAME);
|
49
|
+
|
50
|
+
// instance supporting targets
|
51
|
+
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
52
|
+
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
53
|
+
_addTarget(BUNDLE_SET_TARGET_NAME);
|
54
|
+
_addTarget(RISK_SET_TARGET_NAME);
|
55
|
+
|
56
|
+
// service targets relevant to instance
|
57
|
+
_addServiceTargetWithRole(INSTANCE());
|
58
|
+
_addServiceTargetWithRole(COMPONENT());
|
59
|
+
_addServiceTargetWithRole(DISTRIBUTION());
|
60
|
+
_addServiceTargetWithRole(ORACLE());
|
61
|
+
_addServiceTargetWithRole(POOL());
|
62
|
+
_addServiceTargetWithRole(BUNDLE());
|
63
|
+
_addServiceTargetWithRole(RISK());
|
64
|
+
_addServiceTargetWithRole(APPLICATION());
|
65
|
+
_addServiceTargetWithRole(POLICY());
|
66
|
+
_addServiceTargetWithRole(CLAIM());
|
67
|
+
}
|
68
|
+
|
69
|
+
|
70
|
+
function _setupTargetAuthorizations()
|
71
|
+
internal
|
72
|
+
override
|
73
|
+
{
|
74
|
+
_setupInstanceAuthorization();
|
75
|
+
_setupInstanceAdminAuthorization();
|
76
|
+
_setupInstanceStoreAuthorization();
|
77
|
+
_setupBundleSetAuthorization();
|
78
|
+
_setUpRiskSetAuthorization();
|
79
|
+
}
|
80
|
+
|
81
|
+
|
82
|
+
function _setupBundleSetAuthorization()
|
83
|
+
internal
|
84
|
+
{
|
85
|
+
IAccess.FunctionInfo[] storage functions;
|
86
|
+
|
87
|
+
// authorize bundle service role
|
88
|
+
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(BUNDLE()));
|
89
|
+
_authorize(functions, BundleSet.add.selector, "add");
|
90
|
+
_authorize(functions, BundleSet.lock.selector, "lock");
|
91
|
+
_authorize(functions, BundleSet.unlock.selector, "unlock");
|
92
|
+
|
93
|
+
// authorize bundle service role
|
94
|
+
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(POLICY()));
|
95
|
+
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
96
|
+
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
97
|
+
}
|
98
|
+
|
99
|
+
function _setUpRiskSetAuthorization()
|
100
|
+
internal
|
101
|
+
{
|
102
|
+
IAccess.FunctionInfo[] storage functions;
|
103
|
+
|
104
|
+
// authorize risk service role
|
105
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(RISK()));
|
106
|
+
_authorize(functions, RiskSet.add.selector, "add");
|
107
|
+
_authorize(functions, RiskSet.pause.selector, "pause");
|
108
|
+
_authorize(functions, RiskSet.activate.selector, "activate");
|
109
|
+
|
110
|
+
// authorize policy service role
|
111
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(POLICY()));
|
112
|
+
_authorize(functions, RiskSet.linkPolicy.selector, "linkPolicy");
|
113
|
+
_authorize(functions, RiskSet.unlinkPolicy.selector, "unlinkPolicy");
|
114
|
+
}
|
115
|
+
|
116
|
+
|
117
|
+
function _setupInstanceAuthorization()
|
118
|
+
internal
|
119
|
+
{
|
120
|
+
IAccess.FunctionInfo[] storage functions;
|
121
|
+
|
122
|
+
// authorize instance service role
|
123
|
+
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
|
124
|
+
_authorize(functions, Instance.setInstanceReader.selector, "setInstanceReader");
|
125
|
+
}
|
126
|
+
|
127
|
+
|
128
|
+
function _setupInstanceAdminAuthorization()
|
129
|
+
internal
|
130
|
+
{
|
131
|
+
IAccess.FunctionInfo[] storage functions;
|
132
|
+
|
133
|
+
// authorize instance role
|
134
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, _toTargetRoleId(INSTANCE()));
|
135
|
+
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
136
|
+
|
137
|
+
// authorize instance service role
|
138
|
+
// functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
|
139
|
+
}
|
140
|
+
|
141
|
+
|
142
|
+
function _setupInstanceStoreAuthorization()
|
143
|
+
internal
|
144
|
+
{
|
145
|
+
IAccess.FunctionInfo[] storage functions;
|
146
|
+
|
147
|
+
// authorize component service role
|
148
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
|
149
|
+
_authorize(functions, InstanceStore.createComponent.selector, "createComponent");
|
150
|
+
_authorize(functions, InstanceStore.updateComponent.selector, "updateComponent");
|
151
|
+
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
152
|
+
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
153
|
+
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
154
|
+
_authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
|
155
|
+
_authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
|
156
|
+
_authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
|
157
|
+
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
158
|
+
|
159
|
+
// authorize distribution service role
|
160
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
161
|
+
_authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
|
162
|
+
_authorize(functions, InstanceStore.updateDistributorType.selector, "updateDistributorType");
|
163
|
+
_authorize(functions, InstanceStore.updateDistributorTypeState.selector, "updateDistributorTypeState");
|
164
|
+
_authorize(functions, InstanceStore.createDistributor.selector, "createDistributor");
|
165
|
+
_authorize(functions, InstanceStore.updateDistributor.selector, "updateDistributor");
|
166
|
+
_authorize(functions, InstanceStore.updateDistributorState.selector, "updateDistributorState");
|
167
|
+
_authorize(functions, InstanceStore.createReferral.selector, "createReferral");
|
168
|
+
_authorize(functions, InstanceStore.updateReferral.selector, "updateReferral");
|
169
|
+
_authorize(functions, InstanceStore.updateReferralState.selector, "updateReferralState");
|
170
|
+
|
171
|
+
// authorize oracle service role
|
172
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ORACLE()));
|
173
|
+
_authorize(functions, InstanceStore.createRequest.selector, "createRequest");
|
174
|
+
_authorize(functions, InstanceStore.updateRequest.selector, "updateRequest");
|
175
|
+
_authorize(functions, InstanceStore.updateRequestState.selector, "updateRequestState");
|
176
|
+
|
177
|
+
// authorize pool service role
|
178
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(POOL()));
|
179
|
+
_authorize(functions, InstanceStore.updatePool.selector, "updatePool");
|
180
|
+
|
181
|
+
// authorize bundle service role
|
182
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(BUNDLE()));
|
183
|
+
_authorize(functions, InstanceStore.createBundle.selector, "createBundle");
|
184
|
+
_authorize(functions, InstanceStore.updateBundle.selector, "updateBundle");
|
185
|
+
_authorize(functions, InstanceStore.updateBundleState.selector, "updateBundleState");
|
186
|
+
_authorize(functions, InstanceStore.increaseLocked.selector, "increaseLocked");
|
187
|
+
_authorize(functions, InstanceStore.decreaseLocked.selector, "decreaseLocked");
|
188
|
+
|
189
|
+
// authorize product service role
|
190
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(RISK()));
|
191
|
+
_authorize(functions, InstanceStore.createRisk.selector, "createRisk");
|
192
|
+
_authorize(functions, InstanceStore.updateRisk.selector, "updateRisk");
|
193
|
+
_authorize(functions, InstanceStore.updateRiskState.selector, "updateRiskState");
|
194
|
+
|
195
|
+
// authorize application service role
|
196
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(APPLICATION()));
|
197
|
+
_authorize(functions, InstanceStore.createApplication.selector, "createApplication");
|
198
|
+
_authorize(functions, InstanceStore.updateApplication.selector, "updateApplication");
|
199
|
+
_authorize(functions, InstanceStore.updateApplicationState.selector, "updateApplicationState");
|
200
|
+
|
201
|
+
// authorize policy service role
|
202
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(POLICY()));
|
203
|
+
_authorize(functions, InstanceStore.updatePolicy.selector, "updatePolicy");
|
204
|
+
_authorize(functions, InstanceStore.updatePolicyState.selector, "updatePolicyState");
|
205
|
+
_authorize(functions, InstanceStore.createPremium.selector, "createPremium");
|
206
|
+
_authorize(functions, InstanceStore.updatePremiumState.selector, "updatePremiumState");
|
207
|
+
|
208
|
+
// authorize claim service role
|
209
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(CLAIM()));
|
210
|
+
_authorize(functions, InstanceStore.updatePolicyClaims.selector, "updatePolicyClaims");
|
211
|
+
_authorize(functions, InstanceStore.createClaim.selector, "createClaim");
|
212
|
+
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
213
|
+
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
214
|
+
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
215
|
+
}
|
216
|
+
}
|
217
|
+
|
@@ -1,34 +1,33 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
-
|
6
4
|
import {Amount} from "../type/Amount.sol";
|
7
|
-
import {ClaimId} from "../type/ClaimId.sol";
|
5
|
+
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
8
6
|
import {DistributorType} from "../type/DistributorType.sol";
|
9
|
-
import {Fee, FeeLib} from "../type/Fee.sol";
|
10
7
|
import {Key32} from "../type/Key32.sol";
|
11
8
|
import {NftId} from "../type/NftId.sol";
|
12
|
-
import {
|
13
|
-
import {PayoutId} from "../type/PayoutId.sol";
|
9
|
+
import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
|
10
|
+
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
14
11
|
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
15
|
-
import {
|
12
|
+
import {RequestId} from "../type/RequestId.sol";
|
16
13
|
import {RiskId} from "../type/RiskId.sol";
|
17
|
-
import {
|
18
|
-
import {Version} from "../type/Version.sol";
|
14
|
+
import {RoleId} from "../type/RoleId.sol";
|
19
15
|
import {StateId} from "../type/StateId.sol";
|
16
|
+
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
20
17
|
|
21
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
22
18
|
import {IBundle} from "../instance/module/IBundle.sol";
|
23
19
|
import {IComponents} from "../instance/module/IComponents.sol";
|
24
20
|
import {IDistribution} from "../instance/module/IDistribution.sol";
|
25
21
|
import {IInstance} from "./IInstance.sol";
|
26
22
|
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
23
|
+
import {IOracle} from "../oracle/IOracle.sol";
|
27
24
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
28
25
|
import {IRisk} from "../instance/module/IRisk.sol";
|
29
26
|
import {TimestampLib} from "../type/Timestamp.sol";
|
30
27
|
|
31
28
|
import {InstanceStore} from "./InstanceStore.sol";
|
29
|
+
import {BundleSet} from "./BundleSet.sol";
|
30
|
+
import {RiskSet} from "./RiskSet.sol";
|
32
31
|
|
33
32
|
|
34
33
|
contract InstanceReader {
|
@@ -36,24 +35,33 @@ contract InstanceReader {
|
|
36
35
|
error ErrorInstanceReaderAlreadyInitialized();
|
37
36
|
error ErrorInstanceReaderInstanceAddressZero();
|
38
37
|
|
39
|
-
bool private _initialized;
|
38
|
+
bool private _initialized = false;
|
40
39
|
|
41
40
|
IInstance internal _instance;
|
42
41
|
InstanceStore internal _store;
|
42
|
+
BundleSet internal _bundleSet;
|
43
|
+
RiskSet internal _riskSet;
|
43
44
|
|
44
|
-
|
45
|
+
/// @dev This initializer needs to be called from the instance itself.
|
46
|
+
function initialize() public {
|
45
47
|
if(_initialized) {
|
46
48
|
revert ErrorInstanceReaderAlreadyInitialized();
|
47
49
|
}
|
48
50
|
|
49
|
-
|
50
|
-
|
51
|
-
}
|
51
|
+
initializeWithInstance(msg.sender);
|
52
|
+
}
|
52
53
|
|
53
|
-
|
54
|
-
|
54
|
+
/// @dev This initializer needs to be called from the instance itself.
|
55
|
+
function initializeWithInstance(address instanceAddress) public {
|
56
|
+
if(_initialized) {
|
57
|
+
revert ErrorInstanceReaderAlreadyInitialized();
|
58
|
+
}
|
55
59
|
|
56
60
|
_initialized = true;
|
61
|
+
_instance = IInstance(instanceAddress);
|
62
|
+
_store = _instance.getInstanceStore();
|
63
|
+
_bundleSet = _instance.getBundleSet();
|
64
|
+
_riskSet = _instance.getRiskSet();
|
57
65
|
}
|
58
66
|
|
59
67
|
|
@@ -78,14 +86,67 @@ contract InstanceReader {
|
|
78
86
|
return _store.getState(toPolicyKey(policyNftId));
|
79
87
|
}
|
80
88
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
+
function getPremiumInfo(NftId policyNftId)
|
90
|
+
public
|
91
|
+
view
|
92
|
+
returns (IPolicy.PremiumInfo memory info)
|
93
|
+
{
|
94
|
+
bytes memory data = _store.getData(toPremiumKey(policyNftId));
|
95
|
+
if (data.length > 0) {
|
96
|
+
return abi.decode(data, (IPolicy.PremiumInfo));
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
function getPremiumInfoState(NftId policyNftId)
|
101
|
+
public
|
102
|
+
view
|
103
|
+
returns (StateId state)
|
104
|
+
{
|
105
|
+
return _store.getState(toPremiumKey(policyNftId));
|
106
|
+
}
|
107
|
+
|
108
|
+
function bundles(NftId poolNftId)
|
109
|
+
public
|
110
|
+
view
|
111
|
+
returns (uint256 bundles)
|
112
|
+
{
|
113
|
+
return _bundleSet.bundles(poolNftId);
|
114
|
+
}
|
115
|
+
|
116
|
+
function activeBundles(NftId poolNftId)
|
117
|
+
public
|
118
|
+
view
|
119
|
+
returns (uint256 bundles)
|
120
|
+
{
|
121
|
+
return _bundleSet.activeBundles(poolNftId);
|
122
|
+
}
|
123
|
+
|
124
|
+
function getActiveBundleNftId(NftId poolNftId, uint256 idx)
|
125
|
+
public
|
126
|
+
view
|
127
|
+
returns (NftId bundleNftId)
|
128
|
+
{
|
129
|
+
return _bundleSet.getActiveBundleNftId(poolNftId, idx);
|
130
|
+
}
|
131
|
+
|
132
|
+
function getBundleNftId(NftId poolNftId, uint256 idx)
|
133
|
+
public
|
134
|
+
view
|
135
|
+
returns (NftId bundleNftId)
|
136
|
+
{
|
137
|
+
return _bundleSet.getBundleNftId(poolNftId, idx);
|
138
|
+
}
|
139
|
+
|
140
|
+
function getBundleState(NftId bundleNftId)
|
141
|
+
public
|
142
|
+
view
|
143
|
+
returns (StateId state)
|
144
|
+
{
|
145
|
+
return _store.getState(toBundleKey(bundleNftId));
|
146
|
+
}
|
147
|
+
|
148
|
+
/// @dev Returns true iff policy is active.
|
149
|
+
function policyIsActive(NftId policyNftId)
|
89
150
|
public
|
90
151
|
view
|
91
152
|
returns (bool isCloseable)
|
@@ -94,17 +155,27 @@ contract InstanceReader {
|
|
94
155
|
|
95
156
|
if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
|
96
157
|
if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
|
97
|
-
if (info.
|
98
|
-
if (info.
|
158
|
+
if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
|
159
|
+
if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
|
99
160
|
|
100
|
-
|
101
|
-
|
161
|
+
return true;
|
162
|
+
}
|
102
163
|
|
103
|
-
|
104
|
-
|
164
|
+
function claims(NftId policyNftId)
|
165
|
+
public
|
166
|
+
view
|
167
|
+
returns (uint16 claims)
|
168
|
+
{
|
169
|
+
return getPolicyInfo(policyNftId).claimsCount;
|
170
|
+
}
|
105
171
|
|
106
|
-
|
107
|
-
|
172
|
+
|
173
|
+
function getClaimId(uint idx)
|
174
|
+
public
|
175
|
+
view
|
176
|
+
returns (ClaimId claimId)
|
177
|
+
{
|
178
|
+
return ClaimIdLib.toClaimId(idx + 1);
|
108
179
|
}
|
109
180
|
|
110
181
|
function getClaimInfo(NftId policyNftId, ClaimId claimId)
|
@@ -118,6 +189,7 @@ contract InstanceReader {
|
|
118
189
|
}
|
119
190
|
}
|
120
191
|
|
192
|
+
|
121
193
|
function getClaimState(NftId policyNftId, ClaimId claimId)
|
122
194
|
public
|
123
195
|
view
|
@@ -126,6 +198,34 @@ contract InstanceReader {
|
|
126
198
|
return _store.getState(claimId.toKey32(policyNftId));
|
127
199
|
}
|
128
200
|
|
201
|
+
|
202
|
+
function payouts(NftId policyNftId, ClaimId claimId)
|
203
|
+
public
|
204
|
+
view
|
205
|
+
returns (uint24 payouts)
|
206
|
+
{
|
207
|
+
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
208
|
+
}
|
209
|
+
|
210
|
+
|
211
|
+
function getPayoutId(ClaimId claimId, uint24 idx)
|
212
|
+
public
|
213
|
+
view
|
214
|
+
returns (PayoutId payoutId)
|
215
|
+
{
|
216
|
+
return PayoutIdLib.toPayoutId(claimId, idx + 1);
|
217
|
+
}
|
218
|
+
|
219
|
+
|
220
|
+
function getRemainingClaimableAmount(NftId policyNftId)
|
221
|
+
public
|
222
|
+
view
|
223
|
+
returns (Amount remainingClaimableAmount)
|
224
|
+
{
|
225
|
+
IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
|
226
|
+
return info.sumInsuredAmount - info.claimAmount;
|
227
|
+
}
|
228
|
+
|
129
229
|
function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
|
130
230
|
public
|
131
231
|
view
|
@@ -145,6 +245,38 @@ contract InstanceReader {
|
|
145
245
|
return _store.getState(payoutId.toKey32(policyNftId));
|
146
246
|
}
|
147
247
|
|
248
|
+
function risks(NftId productNftId)
|
249
|
+
public
|
250
|
+
view
|
251
|
+
returns (uint256 activeRisks)
|
252
|
+
{
|
253
|
+
return _riskSet.risks(productNftId);
|
254
|
+
}
|
255
|
+
|
256
|
+
function getRiskId(NftId productNftId, uint256 idx)
|
257
|
+
public
|
258
|
+
view
|
259
|
+
returns (RiskId riskId)
|
260
|
+
{
|
261
|
+
return _riskSet.getRiskId(productNftId, idx);
|
262
|
+
}
|
263
|
+
|
264
|
+
function activeRisks(NftId productNftId)
|
265
|
+
public
|
266
|
+
view
|
267
|
+
returns (uint256 activeRisks)
|
268
|
+
{
|
269
|
+
return _riskSet.activeRisks(productNftId);
|
270
|
+
}
|
271
|
+
|
272
|
+
function getActiveRiskId(NftId productNftId, uint256 idx)
|
273
|
+
public
|
274
|
+
view
|
275
|
+
returns (RiskId riskId)
|
276
|
+
{
|
277
|
+
return _riskSet.getActiveRiskId(productNftId, idx);
|
278
|
+
}
|
279
|
+
|
148
280
|
function getRiskInfo(RiskId riskId)
|
149
281
|
public
|
150
282
|
view
|
@@ -156,6 +288,44 @@ contract InstanceReader {
|
|
156
288
|
}
|
157
289
|
}
|
158
290
|
|
291
|
+
function getRiskState(RiskId riskId)
|
292
|
+
public
|
293
|
+
view
|
294
|
+
returns (StateId stateId)
|
295
|
+
{
|
296
|
+
bytes memory data = _store.getData(riskId.toKey32());
|
297
|
+
return _store.getState(riskId.toKey32());
|
298
|
+
}
|
299
|
+
|
300
|
+
function policiesForRisk(RiskId riskId)
|
301
|
+
public
|
302
|
+
view
|
303
|
+
returns (uint256 linkedPolicies)
|
304
|
+
{
|
305
|
+
return _riskSet.linkedPolicies(riskId);
|
306
|
+
}
|
307
|
+
|
308
|
+
function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
|
309
|
+
public
|
310
|
+
view
|
311
|
+
returns (NftId linkedPolicyNftId)
|
312
|
+
{
|
313
|
+
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
314
|
+
}
|
315
|
+
|
316
|
+
function getWallet(NftId componentNftId)
|
317
|
+
public
|
318
|
+
view
|
319
|
+
returns (address tokenHandler)
|
320
|
+
{
|
321
|
+
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
322
|
+
|
323
|
+
if (data.length > 0) {
|
324
|
+
IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
|
325
|
+
return info.tokenHandler.getWallet();
|
326
|
+
}
|
327
|
+
}
|
328
|
+
|
159
329
|
function getTokenHandler(NftId componentNftId)
|
160
330
|
public
|
161
331
|
view
|
@@ -202,15 +372,15 @@ contract InstanceReader {
|
|
202
372
|
}
|
203
373
|
}
|
204
374
|
|
205
|
-
function getBalanceAmount(NftId targetNftId) external returns (Amount) {
|
375
|
+
function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
|
206
376
|
return _store.getBalanceAmount(targetNftId);
|
207
377
|
}
|
208
378
|
|
209
|
-
function getLockedAmount(NftId targetNftId) external returns (Amount) {
|
379
|
+
function getLockedAmount(NftId targetNftId) external view returns (Amount) {
|
210
380
|
return _store.getLockedAmount(targetNftId);
|
211
381
|
}
|
212
382
|
|
213
|
-
function getFeeAmount(NftId targetNftId) external returns (Amount) {
|
383
|
+
function getFeeAmount(NftId targetNftId) external view returns (Amount) {
|
214
384
|
return _store.getFeeAmount(targetNftId);
|
215
385
|
}
|
216
386
|
|
@@ -258,6 +428,16 @@ contract InstanceReader {
|
|
258
428
|
}
|
259
429
|
}
|
260
430
|
|
431
|
+
function getRequestInfo(RequestId requestId)
|
432
|
+
public
|
433
|
+
view
|
434
|
+
returns (IOracle.RequestInfo memory requestInfo)
|
435
|
+
{
|
436
|
+
bytes memory data = _store.getData(requestId.toKey32());
|
437
|
+
if (data.length > 0) {
|
438
|
+
return abi.decode(data, (IOracle.RequestInfo));
|
439
|
+
}
|
440
|
+
}
|
261
441
|
|
262
442
|
function getMetadata(Key32 key)
|
263
443
|
public
|
@@ -267,6 +447,14 @@ contract InstanceReader {
|
|
267
447
|
return _store.getMetadata(key);
|
268
448
|
}
|
269
449
|
|
450
|
+
function getState(Key32 key)
|
451
|
+
public
|
452
|
+
view
|
453
|
+
returns (StateId state)
|
454
|
+
{
|
455
|
+
return _store.getMetadata(key).state;
|
456
|
+
}
|
457
|
+
|
270
458
|
|
271
459
|
function toReferralId(
|
272
460
|
NftId distributionNftId,
|
@@ -318,10 +506,27 @@ contract InstanceReader {
|
|
318
506
|
}
|
319
507
|
|
320
508
|
|
509
|
+
function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
|
510
|
+
return _instance.getInstanceAdmin().hasRole(account, roleId);
|
511
|
+
}
|
512
|
+
|
513
|
+
|
514
|
+
function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
|
515
|
+
return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
|
516
|
+
}
|
517
|
+
|
518
|
+
|
519
|
+
function isTargetLocked(address target) public view returns (bool) {
|
520
|
+
return _instance.getInstanceAdmin().isTargetLocked(target);
|
521
|
+
}
|
522
|
+
|
321
523
|
function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
|
322
524
|
return policyNftId.toKey32(POLICY());
|
323
525
|
}
|
324
526
|
|
527
|
+
function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
|
528
|
+
return policyNftId.toKey32(PREMIUM());
|
529
|
+
}
|
325
530
|
|
326
531
|
function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
|
327
532
|
return distributorNftId.toKey32(DISTRIBUTOR());
|
@@ -356,6 +561,14 @@ contract InstanceReader {
|
|
356
561
|
return _store;
|
357
562
|
}
|
358
563
|
|
564
|
+
function getBundleSet() external view returns (BundleSet bundleSet) {
|
565
|
+
return _bundleSet;
|
566
|
+
}
|
567
|
+
|
568
|
+
function getRiskSet() external view returns (RiskSet riskSet) {
|
569
|
+
return _riskSet;
|
570
|
+
}
|
571
|
+
|
359
572
|
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
360
573
|
return UFixedLib.toUFixed(value, exp);
|
361
574
|
}
|