@etherisc/gif-next 0.0.2-df73b56-462 → 0.0.2-e016345-525
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 +944 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +746 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +711 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +96 -37
- 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 +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
- 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 +60 -13
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
- 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/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 +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 +159 -209
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +99 -125
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +175 -86
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +104 -60
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +87 -108
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +52 -0
- 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 +1441 -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 +1991 -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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +187 -169
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +131 -157
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +262 -202
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +562 -252
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +147 -42
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +116 -48
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +53 -101
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +149 -60
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +186 -125
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +58 -85
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +514 -88
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +113 -148
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +72 -40
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +185 -124
- 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/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 +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- 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 +119 -169
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
- 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 +82 -103
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +43 -9
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +95 -121
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +142 -79
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +92 -36
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +95 -149
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +114 -22
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +143 -150
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +86 -66
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +48 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +82 -142
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +272 -185
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +95 -160
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +408 -263
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +109 -41
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +114 -45
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +68 -36
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +156 -141
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +183 -90
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +102 -58
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +63 -7
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +64 -8
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +96 -19
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +80 -51
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +139 -119
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +29 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +215 -125
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +102 -54
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +165 -107
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +85 -45
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +152 -137
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +76 -26
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +66 -30
- 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 +91 -15
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +114 -35
- 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 +135 -51
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +203 -162
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +89 -172
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +65 -29
- 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 +123 -225
- 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 +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +72 -80
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +478 -477
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +96 -72
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +42 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +402 -6
- 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 +61 -64
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +425 -261
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +82 -103
- 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 +29 -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 +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +94 -120
- 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 +66 -8
- 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 +42 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +388 -35
- 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 +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 +79 -100
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +29 -21
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +158 -170
- 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 +81 -51
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -12
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +82 -53
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +69 -33
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +144 -103
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- 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 +32 -8
- 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 +2 -2
- 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 +2 -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 +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 +99 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- 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/SelectorSetLib.dbg.json +1 -1
- 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/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +15 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- 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 +244 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +42 -0
- package/contracts/authorization/AccessAdmin.sol +86 -62
- package/contracts/authorization/Authorization.sol +111 -39
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +4 -2
- package/contracts/authorization/IAuthorization.sol +13 -7
- package/contracts/authorization/IServiceAuthorization.sol +3 -1
- package/contracts/authorization/ReleaseAccessManager.sol +38 -0
- package/contracts/authorization/ServiceAuthorization.sol +26 -10
- package/contracts/distribution/BasicDistribution.sol +8 -7
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +32 -40
- package/contracts/distribution/DistributionService.sol +80 -59
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +5 -6
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +90 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +436 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +11 -4
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -4
- package/contracts/examples/unpermissioned/SimplePool.sol +37 -6
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +24 -23
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +38 -34
- package/contracts/instance/IInstance.sol +11 -3
- package/contracts/instance/IInstanceService.sol +7 -29
- package/contracts/instance/Instance.sol +36 -26
- package/contracts/instance/InstanceAdmin.sol +38 -38
- package/contracts/instance/InstanceAuthorizationV3.sol +50 -32
- package/contracts/instance/InstanceReader.sol +168 -19
- package/contracts/instance/InstanceService.sol +51 -126
- package/contracts/instance/RiskSet.sol +119 -0
- package/contracts/instance/base/ObjectSet.sol +24 -25
- package/contracts/instance/module/IComponents.sol +7 -5
- package/contracts/instance/module/IPolicy.sol +4 -3
- package/contracts/instance/module/IRisk.sol +1 -0
- package/contracts/oracle/BasicOracle.sol +0 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +4 -15
- package/contracts/oracle/OracleService.sol +104 -76
- package/contracts/pool/BasicPool.sol +33 -24
- package/contracts/pool/BasicPoolAuthorization.sol +12 -2
- package/contracts/pool/BundleService.sol +68 -81
- package/contracts/pool/IBundleService.sol +2 -14
- package/contracts/pool/IPoolComponent.sol +1 -7
- package/contracts/pool/IPoolService.sol +30 -37
- package/contracts/pool/Pool.sol +123 -120
- package/contracts/pool/PoolService.sol +261 -154
- package/contracts/product/ApplicationService.sol +28 -16
- package/contracts/product/BasicProduct.sol +8 -12
- package/contracts/product/BasicProductAuthorization.sol +1 -3
- package/contracts/product/ClaimService.sol +110 -69
- package/contracts/product/IApplicationService.sol +5 -2
- package/contracts/product/IClaimService.sol +3 -2
- package/contracts/product/IPolicyService.sol +18 -5
- package/contracts/product/IPricingService.sol +9 -9
- package/contracts/product/IProductComponent.sol +23 -3
- package/contracts/product/PolicyService.sol +277 -187
- package/contracts/product/PricingService.sol +8 -8
- package/contracts/product/Product.sol +76 -75
- package/contracts/product/RiskService.sol +14 -3
- package/contracts/registry/ChainNft.sol +6 -9
- package/contracts/registry/IRegistry.sol +8 -3
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +29 -6
- package/contracts/registry/RegistryAdmin.sol +28 -35
- package/contracts/registry/RegistryService.sol +33 -44
- package/contracts/registry/ReleaseLifecycle.sol +6 -3
- package/contracts/registry/ReleaseRegistry.sol +202 -208
- package/contracts/registry/ServiceAuthorizationV3.sol +28 -52
- package/contracts/shared/Component.sol +56 -105
- package/contracts/shared/ComponentService.sol +376 -324
- package/contracts/shared/ComponentVerifyingService.sol +27 -16
- package/contracts/shared/ContractLib.sol +196 -10
- package/contracts/shared/IComponent.sol +6 -14
- package/contracts/shared/IComponentService.sol +45 -37
- 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 +11 -0
- package/contracts/shared/InstanceLinkedComponent.sol +68 -43
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +23 -3
- package/contracts/shared/PolicyHolder.sol +4 -0
- package/contracts/shared/Registerable.sol +15 -7
- package/contracts/shared/RegistryLinked.sol +6 -12
- package/contracts/shared/Service.sol +4 -7
- package/contracts/shared/TokenHandler.sol +316 -66
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +9 -4
- package/contracts/staking/IStakingService.sol +0 -3
- package/contracts/staking/Staking.sol +41 -24
- package/contracts/staking/StakingReader.sol +12 -5
- package/contracts/staking/StakingService.sol +56 -23
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +11 -0
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +30 -4
- package/contracts/type/RoleId.sol +0 -12
- package/contracts/type/StateId.sol +14 -1
- package/contracts/type/UFixed.sol +4 -0
- package/contracts/upgradeability/ProxyManager.sol +2 -1
- package/package.json +4 -3
- 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/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,19 +1,16 @@
|
|
1
1
|
// SPDX-License-Identifier: UNLICENSED
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
|
5
4
|
|
6
5
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
7
6
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
8
|
-
import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
|
9
7
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
10
|
-
import {
|
11
|
-
import {
|
8
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
9
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
12
10
|
import {IRegistry} from "../registry/IRegistry.sol";
|
13
11
|
import {IInstance} from "./IInstance.sol";
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE, DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE} from "../type/RoleId.sol";
|
12
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
13
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
17
14
|
import {Str, StrLib} from "../type/String.sol";
|
18
15
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
19
16
|
import {VersionPart} from "../type/Version.sol";
|
@@ -26,6 +23,7 @@ contract InstanceAdmin is
|
|
26
23
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
27
24
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
28
25
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
26
|
+
string public constant RISK_SET_TAGET_NAME = "RiskSet";
|
29
27
|
|
30
28
|
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
31
29
|
|
@@ -34,20 +32,20 @@ contract InstanceAdmin is
|
|
34
32
|
error ErrorInstanceAdminReleaseMismatch();
|
35
33
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
36
34
|
|
37
|
-
IInstance _instance;
|
35
|
+
IInstance internal _instance;
|
38
36
|
IRegistry internal _registry;
|
39
|
-
uint64 _idNext;
|
37
|
+
uint64 internal _idNext;
|
40
38
|
|
41
|
-
|
39
|
+
IAuthorization internal _instanceAuthorization;
|
42
40
|
|
43
41
|
/// @dev Only used for master instance admin.
|
44
42
|
/// Contracts created via constructor come with disabled initializers.
|
45
43
|
constructor(
|
46
|
-
|
44
|
+
address instanceAuthorization
|
47
45
|
)
|
48
46
|
AccessAdmin()
|
49
47
|
{
|
50
|
-
_instanceAuthorization = instanceAuthorization;
|
48
|
+
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
51
49
|
}
|
52
50
|
|
53
51
|
/// @dev Initializes this instance admin with the provided instances authorization specification.
|
@@ -56,7 +54,7 @@ contract InstanceAdmin is
|
|
56
54
|
/// Important: Initialization of this instance admin is only complete after calling function initializeInstance.
|
57
55
|
function initialize(
|
58
56
|
AccessManagerCloneable accessManager,
|
59
|
-
|
57
|
+
address instanceAuthorization
|
60
58
|
)
|
61
59
|
external
|
62
60
|
initializer()
|
@@ -68,7 +66,7 @@ contract InstanceAdmin is
|
|
68
66
|
_createAdminAndPublicRoles();
|
69
67
|
|
70
68
|
// store instance authorization specification
|
71
|
-
_instanceAuthorization =
|
69
|
+
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
72
70
|
}
|
73
71
|
|
74
72
|
function _checkTargetIsReadyForAuthorization(address target)
|
@@ -96,7 +94,7 @@ contract InstanceAdmin is
|
|
96
94
|
_registry = _instance.getRegistry();
|
97
95
|
|
98
96
|
// check matching releases
|
99
|
-
if (_instanceAuthorization.getRelease() != _instance.
|
97
|
+
if (_instanceAuthorization.getRelease() != _instance.getRelease()) {
|
100
98
|
revert ErrorInstanceAdminReleaseMismatch();
|
101
99
|
}
|
102
100
|
|
@@ -104,22 +102,22 @@ contract InstanceAdmin is
|
|
104
102
|
_createRoles(_instanceAuthorization);
|
105
103
|
_createModuleTargetsWithRoles();
|
106
104
|
_createTargetAuthorizations(_instanceAuthorization);
|
107
|
-
|
108
|
-
// grant component owner roles to instance owner
|
109
|
-
_grantComponentOwnerRoles();
|
110
105
|
}
|
111
106
|
|
112
107
|
|
113
108
|
/// @dev Initializes the authorization for the specified component.
|
114
109
|
/// Important: The component MUST be registered.
|
115
110
|
function initializeComponentAuthorization(
|
116
|
-
|
117
|
-
IAuthorization authorization
|
111
|
+
IInstanceLinkedComponent component
|
118
112
|
)
|
119
113
|
external
|
120
114
|
{
|
121
115
|
_checkTargetIsReadyForAuthorization(address(component));
|
122
116
|
|
117
|
+
// get authorization specification
|
118
|
+
IAuthorization authorization = component.getAuthorization();
|
119
|
+
|
120
|
+
// create roles
|
123
121
|
_createRoles(authorization);
|
124
122
|
|
125
123
|
// create component target
|
@@ -135,12 +133,12 @@ contract InstanceAdmin is
|
|
135
133
|
true,
|
136
134
|
false);
|
137
135
|
|
138
|
-
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
139
136
|
FunctionInfo[] memory functions = new FunctionInfo[](3);
|
140
137
|
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
141
138
|
functions[1] = toFunction(TokenHandler.collectTokensToThreeRecipients.selector, "collectTokensToThreeRecipients");
|
142
139
|
functions[2] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
143
140
|
|
141
|
+
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
144
142
|
_authorizeTargetFunctions(
|
145
143
|
address(component.getTokenHandler()),
|
146
144
|
getPublicRole(),
|
@@ -148,23 +146,12 @@ contract InstanceAdmin is
|
|
148
146
|
|
149
147
|
_grantRoleToAccount(
|
150
148
|
authorization.getTargetRole(
|
151
|
-
authorization.
|
149
|
+
authorization.getMainTarget()),
|
152
150
|
address(component));
|
153
151
|
|
154
152
|
_createTargetAuthorizations(authorization);
|
155
153
|
}
|
156
154
|
|
157
|
-
|
158
|
-
function _grantComponentOwnerRoles()
|
159
|
-
internal
|
160
|
-
{
|
161
|
-
address instanceOwner = _registry.ownerOf(_instance.getNftId());
|
162
|
-
_grantRoleToAccount(DISTRIBUTION_OWNER_ROLE(), instanceOwner);
|
163
|
-
_grantRoleToAccount(ORACLE_OWNER_ROLE(), instanceOwner);
|
164
|
-
_grantRoleToAccount(POOL_OWNER_ROLE(), instanceOwner);
|
165
|
-
_grantRoleToAccount(PRODUCT_OWNER_ROLE(), instanceOwner);
|
166
|
-
}
|
167
|
-
|
168
155
|
/// @dev Creates a custom role
|
169
156
|
// TODO implement
|
170
157
|
// function createRole()
|
@@ -184,11 +171,20 @@ contract InstanceAdmin is
|
|
184
171
|
_grantRoleToAccount(roleId, account);
|
185
172
|
}
|
186
173
|
|
174
|
+
function setTargetLocked(address target, bool locked)
|
175
|
+
external
|
176
|
+
restricted()
|
177
|
+
{
|
178
|
+
_setTargetClosed(target, locked);
|
179
|
+
}
|
180
|
+
|
181
|
+
|
182
|
+
|
187
183
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
188
184
|
function getInstanceAuthorization()
|
189
185
|
external
|
190
186
|
view
|
191
|
-
returns (
|
187
|
+
returns (IAuthorization instanceAuthorizaion)
|
192
188
|
{
|
193
189
|
return _instanceAuthorization;
|
194
190
|
}
|
@@ -203,9 +199,12 @@ contract InstanceAdmin is
|
|
203
199
|
|
204
200
|
for(uint256 i = 0; i < roles.length; i++) {
|
205
201
|
roleId = roles[i];
|
206
|
-
|
207
|
-
|
208
|
-
|
202
|
+
|
203
|
+
if (!roleExists(roleId)) {
|
204
|
+
_createRole(
|
205
|
+
roleId,
|
206
|
+
authorization.getRoleInfo(roleId));
|
207
|
+
}
|
209
208
|
}
|
210
209
|
}
|
211
210
|
|
@@ -250,7 +249,7 @@ contract InstanceAdmin is
|
|
250
249
|
_createTarget(
|
251
250
|
target,
|
252
251
|
targetName,
|
253
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with
|
252
|
+
false, // check authority TODO check normal targets, don't check service targets (they share authority with release admin)
|
254
253
|
false);
|
255
254
|
|
256
255
|
// assign target role if defined
|
@@ -268,6 +267,7 @@ contract InstanceAdmin is
|
|
268
267
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
269
268
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
270
269
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
270
|
+
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TAGET_NAME);
|
271
271
|
|
272
272
|
// create targets for services that need to access the module targets
|
273
273
|
ObjectType[] memory serviceDomains = _instanceAuthorization.getServiceDomains();
|
@@ -2,47 +2,38 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {
|
5
|
-
|
5
|
+
ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK
|
6
6
|
} from "../../contracts/type/ObjectType.sol";
|
7
7
|
|
8
|
-
import {
|
9
|
-
|
10
|
-
} from "../../contracts/type/RoleId.sol";
|
11
|
-
|
12
|
-
import {BundleSet} from "../instance/BundleSet.sol";
|
8
|
+
import {BundleSet} from "../instance/BundleSet.sol";
|
9
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
13
10
|
import {IAccess} from "../authorization/IAccess.sol";
|
14
11
|
import {Instance} from "../instance/Instance.sol";
|
15
12
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
16
13
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
17
|
-
import {
|
14
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
18
15
|
|
19
16
|
|
20
17
|
contract InstanceAuthorizationV3
|
21
|
-
is
|
18
|
+
is Authorization
|
22
19
|
{
|
23
20
|
|
21
|
+
string public constant INSTANCE_ROLE_NAME = "InstanceRole";
|
22
|
+
|
24
23
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
25
24
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
26
25
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
27
26
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
28
28
|
|
29
|
-
|
30
|
-
string public constant DISTRIBUTION_OWNER_ROLE_NAME = "DistributionOwnerRole";
|
31
|
-
string public constant ORACLE_OWNER_ROLE_NAME = "OracleOwnerRole";
|
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) {}
|
29
|
+
constructor() Authorization(INSTANCE_TARGET_NAME) {}
|
36
30
|
|
37
31
|
|
38
32
|
function _setupRoles()
|
39
33
|
internal
|
40
34
|
override
|
41
35
|
{
|
42
|
-
|
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);
|
36
|
+
// empty implementation
|
46
37
|
}
|
47
38
|
|
48
39
|
|
@@ -53,22 +44,24 @@ contract InstanceAuthorizationV3
|
|
53
44
|
// instance target
|
54
45
|
_addTargetWithRole(
|
55
46
|
INSTANCE_TARGET_NAME,
|
56
|
-
|
47
|
+
_toTargetRoleId(INSTANCE()),
|
57
48
|
INSTANCE_ROLE_NAME);
|
58
49
|
|
59
50
|
// instance supporting targets
|
60
51
|
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
61
52
|
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
62
53
|
_addTarget(BUNDLE_SET_TARGET_NAME);
|
54
|
+
_addTarget(RISK_SET_TARGET_NAME);
|
63
55
|
|
64
56
|
// service targets relevant to instance
|
65
57
|
_addServiceTargetWithRole(INSTANCE());
|
58
|
+
_addServiceTargetWithRole(ACCOUNTING());
|
66
59
|
_addServiceTargetWithRole(COMPONENT());
|
67
60
|
_addServiceTargetWithRole(DISTRIBUTION());
|
68
61
|
_addServiceTargetWithRole(ORACLE());
|
69
62
|
_addServiceTargetWithRole(POOL());
|
70
63
|
_addServiceTargetWithRole(BUNDLE());
|
71
|
-
_addServiceTargetWithRole(
|
64
|
+
_addServiceTargetWithRole(RISK());
|
72
65
|
_addServiceTargetWithRole(APPLICATION());
|
73
66
|
_addServiceTargetWithRole(POLICY());
|
74
67
|
_addServiceTargetWithRole(CLAIM());
|
@@ -83,6 +76,7 @@ contract InstanceAuthorizationV3
|
|
83
76
|
_setupInstanceAdminAuthorization();
|
84
77
|
_setupInstanceStoreAuthorization();
|
85
78
|
_setupBundleSetAuthorization();
|
79
|
+
_setUpRiskSetAuthorization();
|
86
80
|
}
|
87
81
|
|
88
82
|
|
@@ -93,11 +87,31 @@ contract InstanceAuthorizationV3
|
|
93
87
|
|
94
88
|
// authorize bundle service role
|
95
89
|
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(BUNDLE()));
|
96
|
-
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
97
|
-
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
98
90
|
_authorize(functions, BundleSet.add.selector, "add");
|
99
91
|
_authorize(functions, BundleSet.lock.selector, "lock");
|
100
92
|
_authorize(functions, BundleSet.unlock.selector, "unlock");
|
93
|
+
|
94
|
+
// authorize bundle service role
|
95
|
+
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(POLICY()));
|
96
|
+
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
97
|
+
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
98
|
+
}
|
99
|
+
|
100
|
+
function _setUpRiskSetAuthorization()
|
101
|
+
internal
|
102
|
+
{
|
103
|
+
IAccess.FunctionInfo[] storage functions;
|
104
|
+
|
105
|
+
// authorize risk service role
|
106
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(RISK()));
|
107
|
+
_authorize(functions, RiskSet.add.selector, "add");
|
108
|
+
_authorize(functions, RiskSet.pause.selector, "pause");
|
109
|
+
_authorize(functions, RiskSet.activate.selector, "activate");
|
110
|
+
|
111
|
+
// authorize policy service role
|
112
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(POLICY()));
|
113
|
+
_authorize(functions, RiskSet.linkPolicy.selector, "linkPolicy");
|
114
|
+
_authorize(functions, RiskSet.unlinkPolicy.selector, "unlinkPolicy");
|
101
115
|
}
|
102
116
|
|
103
117
|
|
@@ -118,11 +132,12 @@ contract InstanceAuthorizationV3
|
|
118
132
|
IAccess.FunctionInfo[] storage functions;
|
119
133
|
|
120
134
|
// authorize instance role
|
121
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
135
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, _toTargetRoleId(INSTANCE()));
|
122
136
|
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
123
137
|
|
124
|
-
// authorize
|
125
|
-
|
138
|
+
// authorize component service role
|
139
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
140
|
+
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
126
141
|
}
|
127
142
|
|
128
143
|
|
@@ -131,6 +146,13 @@ contract InstanceAuthorizationV3
|
|
131
146
|
{
|
132
147
|
IAccess.FunctionInfo[] storage functions;
|
133
148
|
|
149
|
+
// authorize accounting service role
|
150
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ACCOUNTING()));
|
151
|
+
_authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
|
152
|
+
_authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
|
153
|
+
_authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
|
154
|
+
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
155
|
+
|
134
156
|
// authorize component service role
|
135
157
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
|
136
158
|
_authorize(functions, InstanceStore.createComponent.selector, "createComponent");
|
@@ -138,11 +160,7 @@ contract InstanceAuthorizationV3
|
|
138
160
|
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
139
161
|
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
140
162
|
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
141
|
-
|
142
|
-
_authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
|
143
|
-
_authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
|
144
|
-
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
145
|
-
|
163
|
+
|
146
164
|
// authorize distribution service role
|
147
165
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
148
166
|
_authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
|
@@ -174,7 +192,7 @@ contract InstanceAuthorizationV3
|
|
174
192
|
_authorize(functions, InstanceStore.decreaseLocked.selector, "decreaseLocked");
|
175
193
|
|
176
194
|
// authorize product service role
|
177
|
-
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(
|
195
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(RISK()));
|
178
196
|
_authorize(functions, InstanceStore.createRisk.selector, "createRisk");
|
179
197
|
_authorize(functions, InstanceStore.updateRisk.selector, "updateRisk");
|
180
198
|
_authorize(functions, InstanceStore.updateRiskState.selector, "updateRiskState");
|
@@ -2,12 +2,12 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {ClaimId} from "../type/ClaimId.sol";
|
5
|
+
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
6
6
|
import {DistributorType} from "../type/DistributorType.sol";
|
7
7
|
import {Key32} from "../type/Key32.sol";
|
8
8
|
import {NftId} from "../type/NftId.sol";
|
9
9
|
import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
|
10
|
-
import {PayoutId} from "../type/PayoutId.sol";
|
10
|
+
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
11
11
|
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
12
12
|
import {RequestId} from "../type/RequestId.sol";
|
13
13
|
import {RiskId} from "../type/RiskId.sol";
|
@@ -26,6 +26,8 @@ import {IRisk} from "../instance/module/IRisk.sol";
|
|
26
26
|
import {TimestampLib} from "../type/Timestamp.sol";
|
27
27
|
|
28
28
|
import {InstanceStore} from "./InstanceStore.sol";
|
29
|
+
import {BundleSet} from "./BundleSet.sol";
|
30
|
+
import {RiskSet} from "./RiskSet.sol";
|
29
31
|
|
30
32
|
|
31
33
|
contract InstanceReader {
|
@@ -37,6 +39,8 @@ contract InstanceReader {
|
|
37
39
|
|
38
40
|
IInstance internal _instance;
|
39
41
|
InstanceStore internal _store;
|
42
|
+
BundleSet internal _bundleSet;
|
43
|
+
RiskSet internal _riskSet;
|
40
44
|
|
41
45
|
/// @dev This initializer needs to be called from the instance itself.
|
42
46
|
function initialize() public {
|
@@ -56,6 +60,8 @@ contract InstanceReader {
|
|
56
60
|
_initialized = true;
|
57
61
|
_instance = IInstance(instanceAddress);
|
58
62
|
_store = _instance.getInstanceStore();
|
63
|
+
_bundleSet = _instance.getBundleSet();
|
64
|
+
_riskSet = _instance.getRiskSet();
|
59
65
|
}
|
60
66
|
|
61
67
|
|
@@ -99,6 +105,38 @@ contract InstanceReader {
|
|
99
105
|
return _store.getState(toPremiumKey(policyNftId));
|
100
106
|
}
|
101
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
|
+
|
102
140
|
function getBundleState(NftId bundleNftId)
|
103
141
|
public
|
104
142
|
view
|
@@ -107,14 +145,8 @@ contract InstanceReader {
|
|
107
145
|
return _store.getState(toBundleKey(bundleNftId));
|
108
146
|
}
|
109
147
|
|
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)
|
148
|
+
/// @dev Returns true iff policy is active.
|
149
|
+
function policyIsActive(NftId policyNftId)
|
118
150
|
public
|
119
151
|
view
|
120
152
|
returns (bool isCloseable)
|
@@ -123,17 +155,27 @@ contract InstanceReader {
|
|
123
155
|
|
124
156
|
if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
|
125
157
|
if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
|
126
|
-
if (info.
|
127
|
-
if (info.
|
158
|
+
if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
|
159
|
+
if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
|
160
|
+
|
161
|
+
return true;
|
162
|
+
}
|
128
163
|
|
129
|
-
|
130
|
-
|
164
|
+
function claims(NftId policyNftId)
|
165
|
+
public
|
166
|
+
view
|
167
|
+
returns (uint16 claims)
|
168
|
+
{
|
169
|
+
return getPolicyInfo(policyNftId).claimsCount;
|
170
|
+
}
|
131
171
|
|
132
|
-
// not closeable: not yet expired
|
133
|
-
if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
|
134
172
|
|
135
|
-
|
136
|
-
|
173
|
+
function getClaimId(uint idx)
|
174
|
+
public
|
175
|
+
view
|
176
|
+
returns (ClaimId claimId)
|
177
|
+
{
|
178
|
+
return ClaimIdLib.toClaimId(idx + 1);
|
137
179
|
}
|
138
180
|
|
139
181
|
function getClaimInfo(NftId policyNftId, ClaimId claimId)
|
@@ -147,6 +189,7 @@ contract InstanceReader {
|
|
147
189
|
}
|
148
190
|
}
|
149
191
|
|
192
|
+
|
150
193
|
function getClaimState(NftId policyNftId, ClaimId claimId)
|
151
194
|
public
|
152
195
|
view
|
@@ -155,6 +198,34 @@ contract InstanceReader {
|
|
155
198
|
return _store.getState(claimId.toKey32(policyNftId));
|
156
199
|
}
|
157
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
|
+
|
158
229
|
function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
|
159
230
|
public
|
160
231
|
view
|
@@ -174,6 +245,38 @@ contract InstanceReader {
|
|
174
245
|
return _store.getState(payoutId.toKey32(policyNftId));
|
175
246
|
}
|
176
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
|
+
|
177
280
|
function getRiskInfo(RiskId riskId)
|
178
281
|
public
|
179
282
|
view
|
@@ -185,6 +288,44 @@ contract InstanceReader {
|
|
185
288
|
}
|
186
289
|
}
|
187
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
|
+
|
188
329
|
function getTokenHandler(NftId componentNftId)
|
189
330
|
public
|
190
331
|
view
|
@@ -375,7 +516,7 @@ contract InstanceReader {
|
|
375
516
|
}
|
376
517
|
|
377
518
|
|
378
|
-
function
|
519
|
+
function isLocked(address target) public view returns (bool) {
|
379
520
|
return _instance.getInstanceAdmin().isTargetLocked(target);
|
380
521
|
}
|
381
522
|
|
@@ -420,6 +561,14 @@ contract InstanceReader {
|
|
420
561
|
return _store;
|
421
562
|
}
|
422
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
|
+
|
423
572
|
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
424
573
|
return UFixedLib.toUFixed(value, exp);
|
425
574
|
}
|