@etherisc/gif-next 0.0.2-e987ccf-894 → 0.0.2-e9c25ee-730
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 +81 -7
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +677 -258
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1255 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
- 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 +496 -206
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +159 -450
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +90 -330
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +410 -289
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +180 -122
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -172
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +238 -70
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +471 -48
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +222 -64
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +475 -144
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1132 -392
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1319 -452
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +239 -238
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +822 -806
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +123 -322
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- 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 +98 -121
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +99 -274
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +132 -98
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +139 -314
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +164 -377
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +116 -138
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +129 -163
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +287 -265
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +127 -313
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +494 -511
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +170 -108
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +191 -164
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -98
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +258 -372
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +407 -242
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +150 -124
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +131 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +245 -59
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +117 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +252 -214
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +358 -264
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +349 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +151 -109
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +180 -241
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +111 -113
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +250 -364
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -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 +341 -41
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +547 -102
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +821 -372
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2160 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +487 -253
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +81 -227
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +520 -644
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +143 -131
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +616 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +463 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -121
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +98 -273
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +197 -118
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +288 -341
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +136 -105
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +205 -168
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +113 -95
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +545 -261
- package/contracts/authorization/AccessAdminLib.sol +379 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +246 -202
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +79 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +254 -24
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +39 -89
- package/contracts/distribution/DistributionService.sol +215 -111
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +6 -8
- package/contracts/distribution/IDistributionService.sol +32 -24
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +96 -43
- package/contracts/instance/IInstanceService.sol +43 -30
- package/contracts/instance/Instance.sol +183 -96
- package/contracts/instance/InstanceAdmin.sol +462 -178
- package/contracts/instance/InstanceAuthorizationV3.sol +113 -54
- package/contracts/instance/InstanceReader.sol +384 -67
- package/contracts/instance/InstanceService.sol +262 -205
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +13 -6
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +6 -3
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +29 -13
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +33 -12
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +7 -19
- package/contracts/oracle/OracleService.sol +113 -81
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +33 -9
- package/contracts/pool/BundleService.sol +93 -136
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +15 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +70 -65
- package/contracts/pool/Pool.sol +137 -120
- package/contracts/pool/PoolLib.sol +260 -0
- package/contracts/pool/PoolService.sol +462 -238
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +48 -23
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +10 -13
- package/contracts/product/BasicProductAuthorization.sol +30 -12
- package/contracts/product/ClaimService.sol +364 -150
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +43 -8
- package/contracts/product/IPolicyService.sol +35 -13
- package/contracts/product/IPricingService.sol +10 -9
- package/contracts/product/IProductComponent.sol +27 -4
- package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -9
- package/contracts/product/PolicyService.sol +343 -255
- package/contracts/product/PolicyServiceLib.sol +86 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +38 -30
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +139 -78
- package/contracts/product/RiskService.sol +154 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +63 -27
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +356 -202
- package/contracts/registry/RegistryAdmin.sol +203 -286
- package/contracts/registry/RegistryAuthorization.sol +277 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +268 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +272 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +197 -55
- package/contracts/registry/TokenRegistry.sol +10 -9
- package/contracts/shared/Component.sol +65 -123
- package/contracts/shared/ComponentService.sol +437 -370
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +27 -16
- package/contracts/shared/ContractLib.sol +292 -0
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +44 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +4 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -49
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +28 -8
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +17 -33
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +25 -13
- package/contracts/staking/IStakingService.sol +16 -4
- package/contracts/staking/Staking.sol +101 -52
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +96 -21
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +82 -25
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- 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 +69 -37
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +8 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +79 -43
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/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 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/product/ProductService.sol +0 -99
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,178 +1,264 @@
|
|
1
1
|
// SPDX-License-Identifier: UNLICENSED
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
6
|
-
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
7
|
-
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
8
|
-
import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
9
5
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
10
|
-
import {
|
11
|
-
import {IModuleAuthorization} from "../authorization/IModuleAuthorization.sol";
|
6
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
12
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
13
8
|
import {IInstance} from "./IInstance.sol";
|
14
|
-
|
15
|
-
import {
|
16
|
-
import {
|
9
|
+
|
10
|
+
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
12
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
13
|
+
import {NftId} from "../type/NftId.sol";
|
14
|
+
import {ObjectType, INSTANCE, ORACLE} from "../type/ObjectType.sol";
|
15
|
+
import {RoleId, RoleIdLib, ADMIN_ROLE} from "../type/RoleId.sol";
|
17
16
|
import {Str, StrLib} from "../type/String.sol";
|
18
17
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
19
|
-
import {
|
18
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
19
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
20
20
|
|
21
21
|
|
22
22
|
contract InstanceAdmin is
|
23
23
|
AccessAdmin
|
24
24
|
{
|
25
25
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
26
|
-
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
27
26
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
27
|
+
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
28
28
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
29
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
30
|
+
|
31
|
+
error ErrorInstanceAdminNotInstanceService(address caller);
|
29
32
|
|
30
|
-
|
33
|
+
error ErrorInstanceAdminNotCustomRole(RoleId roleId);
|
34
|
+
|
35
|
+
error ErrorInstanceAdminNotRegistered(address instance);
|
36
|
+
error ErrorInstanceAdminAlreadyAuthorized(address instance);
|
37
|
+
|
38
|
+
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
39
|
+
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
40
|
+
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
31
41
|
|
32
|
-
error ErrorInstanceAdminNotRegistered(address target);
|
33
|
-
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
34
42
|
error ErrorInstanceAdminReleaseMismatch();
|
35
43
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
36
44
|
|
37
|
-
IInstance _instance;
|
45
|
+
IInstance internal _instance;
|
38
46
|
IRegistry internal _registry;
|
39
|
-
|
47
|
+
VersionPart internal _release;
|
48
|
+
|
49
|
+
uint64 internal _customRoleIdNext;
|
50
|
+
|
51
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
52
|
+
uint64 internal _components;
|
40
53
|
|
41
|
-
|
54
|
+
|
55
|
+
modifier onlyInstanceService() {
|
56
|
+
if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
|
57
|
+
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
58
|
+
}
|
59
|
+
_;
|
60
|
+
}
|
42
61
|
|
43
62
|
/// @dev Only used for master instance admin.
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
AccessAdmin()
|
49
|
-
{
|
50
|
-
_instanceAuthorization = instanceAuthorization;
|
63
|
+
constructor(address accessManager) {
|
64
|
+
initialize(
|
65
|
+
accessManager,
|
66
|
+
"MasterInstanceAdmin");
|
51
67
|
}
|
52
68
|
|
53
|
-
|
54
|
-
///
|
55
|
-
///
|
56
|
-
/// Important:
|
57
|
-
function
|
58
|
-
|
59
|
-
|
69
|
+
|
70
|
+
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
71
|
+
/// Important: Initialization of instance admin is only complete after calling this function.
|
72
|
+
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
73
|
+
function completeSetup(
|
74
|
+
address registry,
|
75
|
+
address instance,
|
76
|
+
address authorization,
|
77
|
+
VersionPart release
|
60
78
|
)
|
61
79
|
external
|
62
|
-
|
80
|
+
reinitializer(uint64(release.toInt()))
|
81
|
+
onlyDeployer()
|
63
82
|
{
|
64
|
-
//
|
65
|
-
|
83
|
+
// checks
|
84
|
+
AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
|
66
85
|
|
67
|
-
|
68
|
-
|
86
|
+
AccessManagerCloneable(
|
87
|
+
authority()).completeSetup(
|
88
|
+
registry,
|
89
|
+
release);
|
69
90
|
|
70
|
-
|
71
|
-
_instanceAuthorization = IModuleAuthorization(instanceAuthorization);
|
72
|
-
}
|
91
|
+
_checkAuthorization(authorization, INSTANCE(), release, true);
|
73
92
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
{
|
78
|
-
if (address(_registry) != address(0) && !_registry.isRegistered(target)) {
|
79
|
-
revert ErrorInstanceAdminNotRegistered(target);
|
80
|
-
}
|
93
|
+
// effects
|
94
|
+
_registry = IRegistry(registry);
|
95
|
+
_release = release;
|
81
96
|
|
82
|
-
|
83
|
-
|
84
|
-
|
97
|
+
_instance = IInstance(instance);
|
98
|
+
_authorization = IAuthorization(authorization);
|
99
|
+
_components = 0;
|
100
|
+
_customRoleIdNext = 0;
|
101
|
+
|
102
|
+
// link nft ownability to instance
|
103
|
+
_linkToNftOwnable(instance);
|
104
|
+
|
105
|
+
// TODO cleanup
|
106
|
+
// // create instance role and target
|
107
|
+
// _setupInstance(instance);
|
108
|
+
|
109
|
+
_setupServiceRoles(_authorization);
|
110
|
+
|
111
|
+
_createTargets(_authorization);
|
112
|
+
|
113
|
+
// add instance authorization
|
114
|
+
_createRoles(_authorization);
|
115
|
+
|
116
|
+
// _setupInstanceHelperTargetsWithRoles();
|
117
|
+
_createTargetAuthorizations(_authorization);
|
85
118
|
}
|
86
119
|
|
87
|
-
/// @dev Completes the initialization of this instance admin using the provided instance.
|
88
|
-
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
89
|
-
function initializeInstanceAuthorization(address instanceAddress)
|
90
|
-
external
|
91
|
-
{
|
92
|
-
_checkTargetIsReadyForAuthorization(instanceAddress);
|
93
120
|
|
94
|
-
|
95
|
-
|
96
|
-
|
121
|
+
/// @dev grants the service roles to the service addresses based on the authorization specification.
|
122
|
+
/// Service addresses used for the granting are determined by the registry and the release of this instance.
|
123
|
+
function _setupServiceRoles(IAuthorization authorization)
|
124
|
+
internal
|
125
|
+
{
|
126
|
+
ObjectType[] memory serviceDomains = authorization.getServiceDomains();
|
127
|
+
|
128
|
+
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
129
|
+
ObjectType serviceDomain = serviceDomains[i];
|
130
|
+
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
131
|
+
string memory serviceRoleName = authorization.getRoleName(serviceRoleId);
|
132
|
+
|
133
|
+
// create service role if missing
|
134
|
+
if (!roleExists(serviceRoleId)) {
|
135
|
+
_createRole(
|
136
|
+
serviceRoleId,
|
137
|
+
AccessAdminLib.toRole(
|
138
|
+
ADMIN_ROLE(),
|
139
|
+
IAccess.RoleType.Contract,
|
140
|
+
1,
|
141
|
+
serviceRoleName));
|
142
|
+
}
|
97
143
|
|
98
|
-
|
99
|
-
|
100
|
-
|
144
|
+
// grant service role to service
|
145
|
+
address service = _registry.getServiceAddress(serviceDomain, _release);
|
146
|
+
_grantRoleToAccount(
|
147
|
+
serviceRoleId,
|
148
|
+
service);
|
101
149
|
}
|
150
|
+
}
|
102
151
|
|
103
|
-
// add instance authorization
|
104
|
-
_createRoles(_instanceAuthorization);
|
105
|
-
_createModuleTargetsWithRoles();
|
106
|
-
_createTargetAuthorizations(_instanceAuthorization);
|
107
152
|
|
108
|
-
|
109
|
-
|
153
|
+
function _createTargets(IAuthorization authorization)
|
154
|
+
internal
|
155
|
+
{
|
156
|
+
// TODO cleanup
|
157
|
+
// _createTargetWithRole(address(this), INSTANCE_ADMIN_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(INSTANCE_ADMIN_TARGET_NAME)));
|
158
|
+
// _createTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(INSTANCE_STORE_TARGET_NAME)));
|
159
|
+
// _createTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(BUNDLE_SET_TARGET_NAME)));
|
160
|
+
// _createTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(RISK_SET_TARGET_NAME)));
|
161
|
+
|
162
|
+
_createManagedTarget(address(_instance), authorization.getMainTargetName(), TargetType.Instance);
|
163
|
+
_createManagedTarget(address(this), INSTANCE_ADMIN_TARGET_NAME, TargetType.Instance);
|
164
|
+
_createManagedTarget(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME, TargetType.Instance);
|
165
|
+
_createManagedTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME, TargetType.Instance);
|
166
|
+
_createManagedTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME, TargetType.Instance);
|
110
167
|
}
|
111
168
|
|
112
169
|
|
113
170
|
/// @dev Initializes the authorization for the specified component.
|
114
171
|
/// Important: The component MUST be registered.
|
115
172
|
function initializeComponentAuthorization(
|
116
|
-
|
117
|
-
|
173
|
+
address componentAddress,
|
174
|
+
ObjectType expectedType
|
118
175
|
)
|
119
176
|
external
|
177
|
+
restricted()
|
120
178
|
{
|
121
|
-
|
179
|
+
// checks
|
180
|
+
AccessAdminLib.checkIsRegistered(address(getRegistry()), componentAddress, expectedType);
|
122
181
|
|
123
|
-
|
182
|
+
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
183
|
+
IAuthorization authorization = component.getAuthorization();
|
184
|
+
_checkAuthorization(address(authorization), expectedType, getRelease(), false);
|
124
185
|
|
125
|
-
//
|
126
|
-
|
127
|
-
|
128
|
-
authorization.getTargetName(),
|
129
|
-
true, // checkAuthority
|
130
|
-
false); // custom
|
131
|
-
|
132
|
-
_createTarget(
|
133
|
-
address(component.getTokenHandler()),
|
134
|
-
string(abi.encodePacked(authorization.getTargetName(), "TH")),
|
135
|
-
true,
|
136
|
-
false);
|
137
|
-
|
138
|
-
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
139
|
-
FunctionInfo[] memory functions = new FunctionInfo[](3);
|
140
|
-
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
141
|
-
functions[1] = toFunction(TokenHandler.collectTokensToThreeRecipients.selector, "collectTokensToThreeRecipients");
|
142
|
-
functions[2] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
143
|
-
|
144
|
-
_authorizeTargetFunctions(
|
145
|
-
address(component.getTokenHandler()),
|
146
|
-
getPublicRole(),
|
147
|
-
functions);
|
148
|
-
|
149
|
-
_grantRoleToAccount(
|
150
|
-
authorization.getTargetRole(
|
151
|
-
authorization.getTarget()),
|
152
|
-
address(component));
|
153
|
-
|
186
|
+
// effects
|
187
|
+
_createRoles(authorization);
|
188
|
+
_createManagedTarget(componentAddress, authorization.getMainTargetName(), TargetType.Component);
|
154
189
|
_createTargetAuthorizations(authorization);
|
190
|
+
|
191
|
+
// increase component count
|
192
|
+
_components++;
|
155
193
|
}
|
156
194
|
|
195
|
+
function getRelease()
|
196
|
+
public
|
197
|
+
view
|
198
|
+
override
|
199
|
+
returns (VersionPart release)
|
200
|
+
{
|
201
|
+
return _release;
|
202
|
+
}
|
157
203
|
|
158
|
-
|
159
|
-
|
204
|
+
// TODO cleanup
|
205
|
+
// // create instance role and target
|
206
|
+
// function _setupInstance(address instance) internal {
|
207
|
+
|
208
|
+
// // create instance role
|
209
|
+
// RoleId instanceRoleId = _authorization.getTargetRole(
|
210
|
+
// _authorization.getMainTarget());
|
211
|
+
|
212
|
+
// _createRole(
|
213
|
+
// instanceRoleId,
|
214
|
+
// _authorization.getRoleInfo(instanceRoleId));
|
215
|
+
|
216
|
+
// // create instance target
|
217
|
+
// _createTarget(
|
218
|
+
// instance,
|
219
|
+
// _authorization.getMainTargetName(),
|
220
|
+
// true, // checkAuthority
|
221
|
+
// false); // custom
|
222
|
+
|
223
|
+
// // assign instance role to instance
|
224
|
+
// _grantRoleToAccount(
|
225
|
+
// instanceRoleId,
|
226
|
+
// instance);
|
227
|
+
// }
|
228
|
+
|
229
|
+
|
230
|
+
/// @dev Creates a custom role.
|
231
|
+
function createRole(
|
232
|
+
string memory roleName,
|
233
|
+
RoleId adminRoleId,
|
234
|
+
uint32 maxMemberCount
|
235
|
+
)
|
236
|
+
external
|
237
|
+
restricted()
|
238
|
+
returns (RoleId roleId)
|
160
239
|
{
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
240
|
+
// create roleId
|
241
|
+
roleId = AccessAdminLib.getCustomRoleId(_customRoleIdNext++);
|
242
|
+
|
243
|
+
// create role
|
244
|
+
_createRole(
|
245
|
+
roleId,
|
246
|
+
AccessAdminLib.toRole(
|
247
|
+
adminRoleId,
|
248
|
+
IAccess.RoleType.Custom,
|
249
|
+
maxMemberCount,
|
250
|
+
roleName));
|
166
251
|
}
|
167
252
|
|
168
|
-
/// @dev Creates a custom role
|
169
|
-
// TODO implement
|
170
|
-
// function createRole()
|
171
|
-
// external
|
172
|
-
// restricted()
|
173
|
-
// {
|
174
253
|
|
175
|
-
|
254
|
+
/// @dev Activtes/pauses the specified role.
|
255
|
+
function setRoleActive(RoleId roleId, bool active)
|
256
|
+
external
|
257
|
+
restricted()
|
258
|
+
{
|
259
|
+
_setRoleActive(roleId, active);
|
260
|
+
}
|
261
|
+
|
176
262
|
|
177
263
|
/// @dev Grants the provided role to the specified account
|
178
264
|
function grantRole(
|
@@ -184,102 +270,300 @@ contract InstanceAdmin is
|
|
184
270
|
_grantRoleToAccount(roleId, account);
|
185
271
|
}
|
186
272
|
|
273
|
+
|
274
|
+
/// @dev Revokes the provided role from the specified account
|
275
|
+
function revokeRole(
|
276
|
+
RoleId roleId,
|
277
|
+
address account)
|
278
|
+
external
|
279
|
+
restricted()
|
280
|
+
{
|
281
|
+
_revokeRoleFromAccount(roleId, account);
|
282
|
+
}
|
283
|
+
|
284
|
+
|
285
|
+
/// @dev Create a new custom target.
|
286
|
+
/// The target needs to be an access managed contract.
|
287
|
+
function createTarget(
|
288
|
+
address target,
|
289
|
+
string memory name
|
290
|
+
)
|
291
|
+
external
|
292
|
+
restricted()
|
293
|
+
returns (RoleId contractRoleId)
|
294
|
+
{
|
295
|
+
return _createManagedTarget(
|
296
|
+
target,
|
297
|
+
name,
|
298
|
+
TargetType.Custom);
|
299
|
+
|
300
|
+
// TODO cleanup
|
301
|
+
// if (targetRoleId != RoleIdLib.zero()) {
|
302
|
+
// if (getRoleInfo(targetRoleId).roleType != IAccess.RoleType.Custom) {
|
303
|
+
// revert ErrorInstanceAdminNotCustomRole(targetRoleId);
|
304
|
+
// }
|
305
|
+
|
306
|
+
// _grantRoleToAccount(targetRoleId, target);
|
307
|
+
// }
|
308
|
+
}
|
309
|
+
|
310
|
+
|
311
|
+
function setInstanceLocked(bool locked)
|
312
|
+
external
|
313
|
+
// not restricted(): need to operate on locked instances to unlock instance
|
314
|
+
onlyInstanceService()
|
315
|
+
{
|
316
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
317
|
+
accessManager.setLocked(locked);
|
318
|
+
}
|
319
|
+
|
320
|
+
|
321
|
+
function setTargetLocked(address target, bool locked)
|
322
|
+
external
|
323
|
+
// not restricted(): might need to operate on targets while instance is locked
|
324
|
+
onlyInstanceService()
|
325
|
+
{
|
326
|
+
_setTargetLocked(target, locked);
|
327
|
+
}
|
328
|
+
|
329
|
+
|
330
|
+
function setComponentLocked(address target, bool locked)
|
331
|
+
external
|
332
|
+
restricted()
|
333
|
+
{
|
334
|
+
_setTargetLocked(target, locked);
|
335
|
+
}
|
336
|
+
|
337
|
+
/// @dev Returns the number of components that have been registered with this instance.
|
338
|
+
function components()
|
339
|
+
external
|
340
|
+
view
|
341
|
+
returns (uint64)
|
342
|
+
{
|
343
|
+
return _components;
|
344
|
+
}
|
345
|
+
|
187
346
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
188
347
|
function getInstanceAuthorization()
|
189
348
|
external
|
190
349
|
view
|
191
|
-
returns (
|
350
|
+
returns (IAuthorization instanceAuthorizaion)
|
192
351
|
{
|
193
|
-
return
|
352
|
+
return _authorization;
|
194
353
|
}
|
195
354
|
|
355
|
+
// ------------------- Internal functions ------------------- //
|
356
|
+
|
357
|
+
// TODO cleanup
|
358
|
+
// function _setupComponentAndTokenHandler(
|
359
|
+
// IInstanceLinkedComponent component,
|
360
|
+
// ObjectType componentType
|
361
|
+
// )
|
362
|
+
// internal
|
363
|
+
// {
|
364
|
+
|
365
|
+
// IAuthorization authorization = component.getAuthorization();
|
366
|
+
// string memory targetName = authorization.getMainTargetName();
|
367
|
+
|
368
|
+
// // create component role and target
|
369
|
+
// RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
370
|
+
|
371
|
+
// // create component's target
|
372
|
+
// _createTarget(
|
373
|
+
// address(component),
|
374
|
+
// targetName,
|
375
|
+
// true, // checkAuthority
|
376
|
+
// false); // custom
|
377
|
+
|
378
|
+
// // create component's token handler target if app
|
379
|
+
// if (componentType != ORACLE()) {
|
380
|
+
// NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
381
|
+
// address tokenHandler = address(
|
382
|
+
// _instance.getInstanceReader().getComponentInfo(
|
383
|
+
// componentNftId).tokenHandler);
|
384
|
+
|
385
|
+
// _createTarget(
|
386
|
+
// tokenHandler,
|
387
|
+
// authorization.getTokenHandlerName(),
|
388
|
+
// true,
|
389
|
+
// false);
|
390
|
+
|
391
|
+
// // token handler does not require its own role
|
392
|
+
// // token handler is not calling other components
|
393
|
+
// }
|
394
|
+
|
395
|
+
// // assign component role to component
|
396
|
+
// _grantRoleToAccount(
|
397
|
+
// componentRoleId,
|
398
|
+
// address(component));
|
399
|
+
// }
|
400
|
+
|
401
|
+
|
402
|
+
// function _createComponentRoleId(
|
403
|
+
// IInstanceLinkedComponent component,
|
404
|
+
// IAuthorization authorization
|
405
|
+
// )
|
406
|
+
// internal
|
407
|
+
// returns (RoleId componentRoleId)
|
408
|
+
// {
|
409
|
+
// // checks
|
410
|
+
// // check component is not yet authorized
|
411
|
+
// if (_targetRoleId[address(component)].gtz()) {
|
412
|
+
// revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
413
|
+
// }
|
414
|
+
|
415
|
+
// // check generic component role
|
416
|
+
// RoleId genericComponentRoleId = authorization.getTargetRole(
|
417
|
+
// authorization.getMainTarget());
|
418
|
+
|
419
|
+
// if (!genericComponentRoleId.isComponentRole()) {
|
420
|
+
// revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
421
|
+
// }
|
422
|
+
|
423
|
+
// // check component role does not exist
|
424
|
+
// componentRoleId = toComponentRole(
|
425
|
+
// genericComponentRoleId,
|
426
|
+
// _components);
|
427
|
+
|
428
|
+
// if (roleExists(componentRoleId)) {
|
429
|
+
// revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
430
|
+
// }
|
431
|
+
|
432
|
+
// // check role info
|
433
|
+
// IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
434
|
+
// genericComponentRoleId);
|
435
|
+
|
436
|
+
// if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
437
|
+
// revert ErrorInstanceAdminRoleTypeNotContract(
|
438
|
+
// componentRoleId,
|
439
|
+
// roleInfo.roleType);
|
440
|
+
// }
|
441
|
+
|
442
|
+
// // effects
|
443
|
+
// _targetRoleId[address(component)] = componentRoleId;
|
444
|
+
// _components++;
|
445
|
+
|
446
|
+
// _createRole(
|
447
|
+
// componentRoleId,
|
448
|
+
// roleInfo);
|
449
|
+
// }
|
450
|
+
|
196
451
|
|
197
452
|
function _createRoles(IAuthorization authorization)
|
198
453
|
internal
|
199
454
|
{
|
200
455
|
RoleId[] memory roles = authorization.getRoles();
|
201
|
-
RoleId
|
202
|
-
|
456
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
457
|
+
authorization.getMainTarget());
|
203
458
|
|
204
459
|
for(uint256 i = 0; i < roles.length; i++) {
|
205
|
-
roleId = roles[i];
|
206
|
-
|
207
|
-
|
208
|
-
|
460
|
+
RoleId roleId = roles[i];
|
461
|
+
|
462
|
+
// skip main target role, create role if not exists
|
463
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
464
|
+
_createRole(
|
465
|
+
roleId,
|
466
|
+
authorization.getRoleInfo(roleId));
|
467
|
+
}
|
209
468
|
}
|
210
469
|
}
|
211
470
|
|
212
471
|
|
472
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
473
|
+
internal
|
474
|
+
pure
|
475
|
+
returns (RoleId)
|
476
|
+
{
|
477
|
+
return RoleIdLib.toRoleId(
|
478
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
479
|
+
}
|
480
|
+
|
481
|
+
|
213
482
|
function _createTargetAuthorizations(IAuthorization authorization)
|
214
483
|
internal
|
215
484
|
{
|
485
|
+
// TODO cleanup
|
486
|
+
// Str[] memory targets = authorization.getTargets();
|
487
|
+
// Str target;
|
488
|
+
|
489
|
+
// for(uint256 i = 0; i < targets.length; i++) {
|
490
|
+
// target = targets[i];
|
491
|
+
// RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
492
|
+
// RoleId authorizedRole;
|
493
|
+
|
494
|
+
// for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
495
|
+
// authorizedRole = authorizedRoles[j];
|
496
|
+
|
497
|
+
// _authorizeTargetFunctions(
|
498
|
+
// getTargetForName(target),
|
499
|
+
// authorizedRole,
|
500
|
+
// authorization.getAuthorizedFunctions(
|
501
|
+
// target,
|
502
|
+
// authorizedRole),
|
503
|
+
// true);
|
504
|
+
// }
|
505
|
+
// }
|
216
506
|
Str[] memory targets = authorization.getTargets();
|
217
507
|
Str target;
|
218
508
|
|
219
509
|
for(uint256 i = 0; i < targets.length; i++) {
|
220
510
|
target = targets[i];
|
221
511
|
RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
222
|
-
RoleId authorizedRole;
|
223
512
|
|
224
513
|
for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
225
|
-
|
226
|
-
|
227
|
-
_authorizeTargetFunctions(
|
228
|
-
getTargetForName(target),
|
229
|
-
authorizedRole,
|
230
|
-
authorization.getAuthorizedFunctions(
|
231
|
-
target,
|
232
|
-
authorizedRole));
|
514
|
+
_authorizeFunctions(authorization, target, authorizedRoles[j]);
|
233
515
|
}
|
234
516
|
}
|
235
517
|
}
|
236
518
|
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
519
|
+
// TODO cleanup
|
520
|
+
// function _checkAndCreateTargetWithRole(
|
521
|
+
// address target,
|
522
|
+
// string memory targetName
|
523
|
+
// )
|
524
|
+
// internal
|
525
|
+
// {
|
526
|
+
// // check that target name is defined in authorization specification
|
527
|
+
// Str name = StrLib.toStr(targetName);
|
528
|
+
// if (!_authorization.targetExists(name)) {
|
529
|
+
// revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
530
|
+
// }
|
531
|
+
|
532
|
+
// // create named target
|
533
|
+
// _createTarget(
|
534
|
+
// target,
|
535
|
+
// targetName,
|
536
|
+
// false, // check authority TODO check normal targets, don't check service targets (they share authority with release admin)
|
537
|
+
// false);
|
538
|
+
|
539
|
+
// // assign target role if defined
|
540
|
+
// RoleId targetRoleId = _authorization.getTargetRole(name);
|
541
|
+
// if (targetRoleId != RoleIdLib.zero()) {
|
542
|
+
// _grantRoleToAccount(targetRoleId, target);
|
543
|
+
// }
|
544
|
+
// }
|
248
545
|
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
targetName,
|
253
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with registry admin)
|
254
|
-
false);
|
255
|
-
|
256
|
-
// assign target role if defined
|
257
|
-
RoleId targetRoleId = _instanceAuthorization.getTargetRole(name);
|
258
|
-
if (targetRoleId != RoleIdLib.zero()) {
|
259
|
-
_grantRoleToAccount(targetRoleId, target);
|
260
|
-
}
|
261
|
-
}
|
546
|
+
// function _setupInstanceHelperTargetsWithRoles()
|
547
|
+
// internal
|
548
|
+
// {
|
262
549
|
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
_instanceAuthorization.getServiceTarget(serviceDomain).toString());
|
283
|
-
}
|
284
|
-
}
|
550
|
+
// // create module targets
|
551
|
+
// _checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
552
|
+
// _checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
553
|
+
// _checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
554
|
+
// _checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
555
|
+
|
556
|
+
// // create targets for services that need to access the instance targets
|
557
|
+
// ObjectType[] memory serviceDomains = _authorization.getServiceDomains();
|
558
|
+
// VersionPart release = _authorization.getRelease();
|
559
|
+
// ObjectType serviceDomain;
|
560
|
+
|
561
|
+
// for (uint256 i = 0; i < serviceDomains.length; i++) {
|
562
|
+
// serviceDomain = serviceDomains[i];
|
563
|
+
|
564
|
+
// _checkAndCreateTargetWithRole(
|
565
|
+
// _registry.getServiceAddress(serviceDomain, release),
|
566
|
+
// _authorization.getServiceTarget(serviceDomain).toString());
|
567
|
+
// }
|
568
|
+
// }
|
285
569
|
}
|