@etherisc/gif-next 0.0.2-b1fff40-773 → 0.0.2-b214449-558
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 +46 -8
- 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 +203 -77
- 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/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +200 -16
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +142 -44
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +107 -15
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +163 -389
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +206 -27
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +103 -321
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +239 -295
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +125 -119
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +115 -143
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +127 -64
- 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 +1475 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -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 +1479 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2408 -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 +158 -57
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -103
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +194 -154
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +433 -143
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +150 -90
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +980 -326
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +131 -266
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +102 -92
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +651 -514
- 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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +114 -340
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +180 -29
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +102 -130
- 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 +90 -308
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +119 -387
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +206 -27
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +275 -314
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +122 -108
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +172 -97
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +124 -219
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +464 -312
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +109 -394
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +653 -532
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +163 -97
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +134 -184
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +91 -93
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +243 -400
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +206 -27
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +140 -114
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +94 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +326 -125
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +136 -83
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +235 -202
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +57 -4
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +424 -326
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +145 -99
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +227 -314
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +241 -398
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -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 +334 -34
- 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 +540 -95
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +349 -167
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -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 +420 -246
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +501 -626
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +136 -128
- 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 +541 -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 +89 -88
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +446 -276
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +102 -130
- 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 +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +89 -307
- 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 +585 -12
- 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 +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +134 -125
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +77 -16
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +76 -106
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +210 -366
- 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 +122 -95
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +122 -164
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +99 -85
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +149 -108
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +55 -24
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +33 -9
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +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 +118 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -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 +23 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +71 -70
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +232 -134
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +321 -202
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +17 -10
- package/contracts/authorization/IAuthorization.sol +27 -7
- package/contracts/authorization/IServiceAuthorization.sol +3 -1
- package/contracts/authorization/ServiceAuthorization.sol +26 -10
- package/contracts/distribution/BasicDistribution.sol +12 -22
- package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
- package/contracts/distribution/Distribution.sol +36 -50
- package/contracts/distribution/DistributionService.sol +113 -93
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +14 -11
- 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 +438 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +21 -37
- package/contracts/instance/IInstanceService.sol +9 -29
- package/contracts/instance/Instance.sol +59 -66
- package/contracts/instance/InstanceAdmin.sol +259 -83
- package/contracts/instance/InstanceAuthorizationV3.sol +56 -47
- package/contracts/instance/InstanceReader.sol +263 -43
- package/contracts/instance/InstanceService.sol +125 -164
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +23 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +11 -4
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +14 -14
- package/contracts/instance/module/IPolicy.sol +26 -25
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +0 -1
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +9 -23
- package/contracts/oracle/OracleService.sol +113 -81
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +38 -27
- package/contracts/pool/BasicPoolAuthorization.sol +32 -11
- package/contracts/pool/BundleService.sol +179 -125
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +29 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +90 -75
- package/contracts/pool/Pool.sol +145 -128
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +540 -217
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +72 -43
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +13 -44
- package/contracts/product/BasicProductAuthorization.sol +24 -11
- package/contracts/product/ClaimService.sol +368 -153
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +6 -2
- package/contracts/product/IClaimService.sol +44 -8
- package/contracts/product/IPolicyService.sol +49 -36
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +516 -267
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +66 -62
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +160 -89
- package/contracts/product/RiskService.sol +145 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +60 -28
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +357 -203
- package/contracts/registry/RegistryAdmin.sol +171 -182
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +258 -234
- package/contracts/registry/ServiceAuthorizationV3.sol +99 -52
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +74 -127
- package/contracts/shared/ComponentService.sol +426 -385
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +253 -0
- package/contracts/shared/IComponent.sol +8 -17
- package/contracts/shared/IComponentService.sol +41 -37
- package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
- package/contracts/shared/InstanceLinkedComponent.sol +73 -48
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +31 -11
- package/contracts/shared/PolicyHolder.sol +17 -57
- package/contracts/shared/Registerable.sol +55 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +15 -32
- package/contracts/shared/TokenHandler.sol +309 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +7 -9
- package/contracts/staking/IStakingService.sol +8 -3
- package/contracts/staking/StakeManagerLib.sol +19 -26
- package/contracts/staking/Staking.sol +71 -61
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +13 -6
- package/contracts/staking/StakingService.sol +54 -35
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/Blocknumber.sol +7 -1
- 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 +52 -20
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +35 -4
- package/contracts/type/RoleId.sol +23 -15
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +10 -5
- package/contracts/type/UFixed.sol +13 -119
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +68 -34
- package/contracts/upgradeability/Versionable.sol +2 -2
- 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/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/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- 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,20 +1,20 @@
|
|
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 {
|
6
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
11
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
12
8
|
import {IInstance} from "./IInstance.sol";
|
13
|
-
|
14
|
-
import {
|
15
|
-
import {
|
9
|
+
|
10
|
+
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
|
+
import {NftId} from "../type/NftId.sol";
|
13
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
14
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
16
15
|
import {Str, StrLib} from "../type/String.sol";
|
17
|
-
import {
|
16
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
17
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
18
18
|
|
19
19
|
|
20
20
|
contract InstanceAdmin is
|
@@ -24,126 +24,156 @@ contract InstanceAdmin is
|
|
24
24
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
25
25
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
26
26
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
|
+
string public constant RISK_SET_TAGET_NAME = "RiskSet";
|
27
28
|
|
28
29
|
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
29
30
|
|
31
|
+
error ErrorInstanceAdminCallerNotInstanceOwner(address caller);
|
32
|
+
error ErrorInstanceAdminInstanceAlreadyLocked();
|
30
33
|
error ErrorInstanceAdminNotRegistered(address target);
|
34
|
+
|
31
35
|
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
36
|
+
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
37
|
+
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
38
|
+
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
39
|
+
|
32
40
|
error ErrorInstanceAdminReleaseMismatch();
|
33
41
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
34
42
|
|
35
|
-
IInstance _instance;
|
43
|
+
IInstance internal _instance;
|
36
44
|
IRegistry internal _registry;
|
37
|
-
uint64
|
45
|
+
uint64 internal _customIdNext;
|
38
46
|
|
39
|
-
|
47
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
48
|
+
uint64 internal _components;
|
49
|
+
|
50
|
+
IAuthorization internal _instanceAuthorization;
|
51
|
+
|
52
|
+
|
53
|
+
modifier onlyInstanceOwner() {
|
54
|
+
if(msg.sender != _registry.ownerOf(address(_instance))) {
|
55
|
+
revert ErrorInstanceAdminCallerNotInstanceOwner(msg.sender);
|
56
|
+
}
|
57
|
+
_;
|
58
|
+
}
|
40
59
|
|
41
60
|
/// @dev Only used for master instance admin.
|
42
61
|
/// Contracts created via constructor come with disabled initializers.
|
43
62
|
constructor(
|
44
|
-
|
45
|
-
)
|
46
|
-
|
47
|
-
|
48
|
-
_instanceAuthorization = instanceAuthorization;
|
63
|
+
address instanceAuthorization
|
64
|
+
) {
|
65
|
+
initialize(new AccessManagerCloneable());
|
66
|
+
|
67
|
+
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
68
|
+
|
69
|
+
_disableInitializers();
|
49
70
|
}
|
50
71
|
|
51
|
-
|
52
|
-
/// Internally the function creates an instance specific OpenZeppelin AccessManager that is used as the authority
|
53
|
-
/// for the inststance authorizatios.
|
54
|
-
/// Important: Initialization of this instance admin is only complete after calling function initializeInstance.
|
72
|
+
|
55
73
|
function initialize(
|
56
|
-
AccessManagerCloneable
|
57
|
-
|
74
|
+
AccessManagerCloneable clonedAccessManager,
|
75
|
+
IRegistry registry,
|
76
|
+
VersionPart release
|
58
77
|
)
|
59
78
|
external
|
60
|
-
initializer()
|
79
|
+
initializer()
|
61
80
|
{
|
62
|
-
|
63
|
-
_initializeAuthority(address(accessManager));
|
81
|
+
__AccessAdmin_init(clonedAccessManager);
|
64
82
|
|
65
|
-
|
66
|
-
|
83
|
+
clonedAccessManager.completeSetup(
|
84
|
+
address(registry),
|
85
|
+
release);
|
67
86
|
|
68
|
-
|
69
|
-
_instanceAuthorization = IModuleAuthorization(instanceAuthorization);
|
87
|
+
_registry = registry;
|
70
88
|
}
|
71
89
|
|
72
|
-
|
73
|
-
|
74
|
-
view
|
75
|
-
{
|
76
|
-
if (address(_registry) != address(0) && !_registry.isRegistered(target)) {
|
77
|
-
revert ErrorInstanceAdminNotRegistered(target);
|
78
|
-
}
|
79
|
-
|
80
|
-
if (targetExists(target)) {
|
81
|
-
revert ErrorInstanceAdminAlreadyAuthorized(target);
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
/// @dev Completes the initialization of this instance admin using the provided instance.
|
90
|
+
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
91
|
+
/// Important: Initialization of instance admin is only complete after calling this function.
|
86
92
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
87
|
-
function
|
93
|
+
function completeSetup(
|
94
|
+
address instance,
|
95
|
+
address authorization
|
96
|
+
)
|
88
97
|
external
|
98
|
+
reinitializer(uint64(getRelease().toInt()))
|
99
|
+
onlyDeployer()
|
89
100
|
{
|
90
|
-
|
101
|
+
_components = 0;
|
102
|
+
_customIdNext = CUSTOM_ROLE_ID_MIN;
|
103
|
+
_instance = IInstance(instance);
|
104
|
+
_instanceAuthorization = IAuthorization(authorization);
|
91
105
|
|
92
|
-
|
93
|
-
_instance = IInstance(instanceAddress);
|
94
|
-
_registry = _instance.getRegistry();
|
106
|
+
_checkTargetIsReadyForAuthorization(instance);
|
95
107
|
|
96
108
|
// check matching releases
|
97
|
-
if (_instanceAuthorization.getRelease() !=
|
109
|
+
if (_instanceAuthorization.getRelease() != getRelease()) {
|
98
110
|
revert ErrorInstanceAdminReleaseMismatch();
|
99
111
|
}
|
100
112
|
|
113
|
+
// create instance role and target
|
114
|
+
_setupInstance(instance);
|
115
|
+
|
101
116
|
// add instance authorization
|
102
117
|
_createRoles(_instanceAuthorization);
|
103
|
-
_createModuleTargetsWithRoles();
|
104
|
-
_createTargetAuthorizations(_instanceAuthorization);
|
105
118
|
|
106
|
-
|
107
|
-
|
119
|
+
_setupInstanceHelperTargetsWithRoles();
|
120
|
+
_createTargetAuthorizations(_instanceAuthorization);
|
108
121
|
}
|
109
122
|
|
110
123
|
|
111
124
|
/// @dev Initializes the authorization for the specified component.
|
112
125
|
/// Important: The component MUST be registered.
|
113
126
|
function initializeComponentAuthorization(
|
114
|
-
|
115
|
-
IAuthorization authorization
|
127
|
+
IInstanceLinkedComponent component
|
116
128
|
)
|
117
129
|
external
|
130
|
+
restricted()
|
118
131
|
{
|
119
|
-
|
132
|
+
// checks
|
133
|
+
_checkTargetIsReadyForAuthorization(address(component));
|
134
|
+
|
135
|
+
// setup target and role for component (including token handler)
|
136
|
+
_setupComponentAndTokenHandler(component);
|
120
137
|
|
138
|
+
// create other roles
|
139
|
+
IAuthorization authorization = component.getAuthorization();
|
121
140
|
_createRoles(authorization);
|
122
141
|
|
123
|
-
//
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
true, // checkAuthority
|
128
|
-
false); // custom
|
142
|
+
// TODO cleanup
|
143
|
+
// FunctionInfo[] memory functions = new FunctionInfo[](2);
|
144
|
+
// functions[0] = toFunction(TokenHandler.pullToken.selector, "pullToken");
|
145
|
+
// functions[1] = toFunction(TokenHandler.pushToken.selector, "pushToken");
|
129
146
|
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
147
|
+
// // FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
148
|
+
// _authorizeTargetFunctions(
|
149
|
+
// address(component.getTokenHandler()),
|
150
|
+
// getPublicRole(),
|
151
|
+
// functions);
|
134
152
|
|
135
153
|
_createTargetAuthorizations(authorization);
|
136
154
|
}
|
137
155
|
|
156
|
+
// create instance role and target
|
157
|
+
function _setupInstance(address instance) internal {
|
158
|
+
// create instance role
|
159
|
+
RoleId instanceRoleId = _instanceAuthorization.getTargetRole(
|
160
|
+
_instanceAuthorization.getMainTarget());
|
138
161
|
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
162
|
+
_createRole(
|
163
|
+
instanceRoleId,
|
164
|
+
_instanceAuthorization.getRoleInfo(instanceRoleId));
|
165
|
+
|
166
|
+
// create instance target
|
167
|
+
_createTarget(
|
168
|
+
instance,
|
169
|
+
_instanceAuthorization.getMainTargetName(),
|
170
|
+
true, // checkAuthority
|
171
|
+
false); // custom
|
172
|
+
|
173
|
+
// assign instance role to instance
|
174
|
+
_grantRoleToAccount(
|
175
|
+
instanceRoleId,
|
176
|
+
instance);
|
147
177
|
}
|
148
178
|
|
149
179
|
/// @dev Creates a custom role
|
@@ -165,32 +195,176 @@ contract InstanceAdmin is
|
|
165
195
|
_grantRoleToAccount(roleId, account);
|
166
196
|
}
|
167
197
|
|
198
|
+
|
199
|
+
function setInstanceLocked(bool locked)
|
200
|
+
external
|
201
|
+
onlyInstanceOwner()
|
202
|
+
{
|
203
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
204
|
+
|
205
|
+
if(accessManager.isLocked() == locked) {
|
206
|
+
revert ErrorInstanceAdminInstanceAlreadyLocked();
|
207
|
+
}
|
208
|
+
accessManager.setLocked(locked);
|
209
|
+
}
|
210
|
+
|
211
|
+
function setTargetLocked(address target, bool locked)
|
212
|
+
external
|
213
|
+
restricted()
|
214
|
+
{
|
215
|
+
_setTargetClosed(target, locked);
|
216
|
+
}
|
217
|
+
|
218
|
+
|
219
|
+
|
168
220
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
169
221
|
function getInstanceAuthorization()
|
170
222
|
external
|
171
223
|
view
|
172
|
-
returns (
|
224
|
+
returns (IAuthorization instanceAuthorizaion)
|
173
225
|
{
|
174
226
|
return _instanceAuthorization;
|
175
227
|
}
|
176
228
|
|
229
|
+
// ------------------- Internal functions ------------------- //
|
230
|
+
|
231
|
+
function _setupComponentAndTokenHandler(IInstanceLinkedComponent component)
|
232
|
+
internal
|
233
|
+
{
|
234
|
+
|
235
|
+
IAuthorization authorization = component.getAuthorization();
|
236
|
+
string memory targetName = authorization.getMainTargetName();
|
237
|
+
|
238
|
+
// create component role and target
|
239
|
+
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
240
|
+
|
241
|
+
// create component's target
|
242
|
+
_createTarget(
|
243
|
+
address(component),
|
244
|
+
targetName,
|
245
|
+
true, // checkAuthority
|
246
|
+
false); // custom
|
247
|
+
|
248
|
+
// create component's token handler target
|
249
|
+
NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
250
|
+
address tokenHandler = address(
|
251
|
+
_instance.getInstanceReader().getComponentInfo(
|
252
|
+
componentNftId).tokenHandler);
|
253
|
+
|
254
|
+
_createTarget(
|
255
|
+
tokenHandler,
|
256
|
+
authorization.getTokenHandlerName(),
|
257
|
+
true,
|
258
|
+
false);
|
259
|
+
|
260
|
+
// assign component role to component
|
261
|
+
_grantRoleToAccount(
|
262
|
+
componentRoleId,
|
263
|
+
address(component));
|
264
|
+
|
265
|
+
// token handler does not require its own role
|
266
|
+
// token handler is not calling other components
|
267
|
+
}
|
268
|
+
|
269
|
+
|
270
|
+
function _createComponentRoleId(
|
271
|
+
IInstanceLinkedComponent component,
|
272
|
+
IAuthorization authorization
|
273
|
+
)
|
274
|
+
internal
|
275
|
+
returns (RoleId componentRoleId)
|
276
|
+
{
|
277
|
+
// checks
|
278
|
+
// check component is not yet authorized
|
279
|
+
if (_targetRoleId[address(component)].gtz()) {
|
280
|
+
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
281
|
+
}
|
282
|
+
|
283
|
+
// check generic component role
|
284
|
+
RoleId genericComponentRoleId = authorization.getTargetRole(
|
285
|
+
authorization.getMainTarget());
|
286
|
+
|
287
|
+
if (!genericComponentRoleId.isComponentRole()) {
|
288
|
+
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
289
|
+
}
|
290
|
+
|
291
|
+
// check component role does not exist
|
292
|
+
componentRoleId = toComponentRole(
|
293
|
+
genericComponentRoleId,
|
294
|
+
_components);
|
295
|
+
|
296
|
+
if (roleExists(componentRoleId)) {
|
297
|
+
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
298
|
+
}
|
299
|
+
|
300
|
+
// check role info
|
301
|
+
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
302
|
+
genericComponentRoleId);
|
303
|
+
|
304
|
+
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
305
|
+
revert ErrorInstanceAdminRoleTypeNotContract(
|
306
|
+
componentRoleId,
|
307
|
+
roleInfo.roleType);
|
308
|
+
}
|
309
|
+
|
310
|
+
// effects
|
311
|
+
_targetRoleId[address(component)] = componentRoleId;
|
312
|
+
_components++;
|
313
|
+
|
314
|
+
_createRole(
|
315
|
+
componentRoleId,
|
316
|
+
roleInfo);
|
317
|
+
}
|
318
|
+
|
319
|
+
|
320
|
+
function _checkTargetIsReadyForAuthorization(address target)
|
321
|
+
internal
|
322
|
+
view
|
323
|
+
{
|
324
|
+
if (!_registry.isRegistered(target)) {
|
325
|
+
revert ErrorInstanceAdminNotRegistered(target);
|
326
|
+
}
|
327
|
+
|
328
|
+
if (targetExists(target)) {
|
329
|
+
revert ErrorInstanceAdminAlreadyAuthorized(target);
|
330
|
+
}
|
331
|
+
}
|
332
|
+
|
177
333
|
|
178
334
|
function _createRoles(IAuthorization authorization)
|
179
335
|
internal
|
180
336
|
{
|
181
337
|
RoleId[] memory roles = authorization.getRoles();
|
338
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
339
|
+
authorization.getMainTarget());
|
340
|
+
|
182
341
|
RoleId roleId;
|
183
342
|
RoleInfo memory roleInfo;
|
184
343
|
|
185
344
|
for(uint256 i = 0; i < roles.length; i++) {
|
345
|
+
|
186
346
|
roleId = roles[i];
|
187
|
-
|
188
|
-
|
189
|
-
|
347
|
+
|
348
|
+
// skip main target role, create role if not exists
|
349
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
350
|
+
_createRole(
|
351
|
+
roleId,
|
352
|
+
authorization.getRoleInfo(roleId));
|
353
|
+
}
|
190
354
|
}
|
191
355
|
}
|
192
356
|
|
193
357
|
|
358
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
359
|
+
internal
|
360
|
+
pure
|
361
|
+
returns (RoleId)
|
362
|
+
{
|
363
|
+
return RoleIdLib.toRoleId(
|
364
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
365
|
+
}
|
366
|
+
|
367
|
+
|
194
368
|
function _createTargetAuthorizations(IAuthorization authorization)
|
195
369
|
internal
|
196
370
|
{
|
@@ -231,7 +405,7 @@ contract InstanceAdmin is
|
|
231
405
|
_createTarget(
|
232
406
|
target,
|
233
407
|
targetName,
|
234
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with
|
408
|
+
false, // check authority TODO check normal targets, don't check service targets (they share authority with release admin)
|
235
409
|
false);
|
236
410
|
|
237
411
|
// assign target role if defined
|
@@ -241,14 +415,16 @@ contract InstanceAdmin is
|
|
241
415
|
}
|
242
416
|
}
|
243
417
|
|
244
|
-
function
|
418
|
+
function _setupInstanceHelperTargetsWithRoles()
|
245
419
|
internal
|
246
420
|
{
|
421
|
+
// _checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
422
|
+
|
247
423
|
// create module targets
|
248
|
-
_checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
249
424
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
250
425
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
251
426
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
427
|
+
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TAGET_NAME);
|
252
428
|
|
253
429
|
// create targets for services that need to access the module targets
|
254
430
|
ObjectType[] memory serviceDomains = _instanceAuthorization.getServiceDomains();
|
@@ -2,75 +2,53 @@
|
|
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 {
|
18
|
-
import {RoleId} from "../type/RoleId.sol";
|
19
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
14
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
20
15
|
|
21
16
|
|
22
17
|
contract InstanceAuthorizationV3
|
23
|
-
is
|
18
|
+
is Authorization
|
24
19
|
{
|
25
20
|
|
21
|
+
string public constant INSTANCE_ROLE_NAME = "InstanceRole";
|
22
|
+
|
26
23
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
27
24
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
28
25
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
29
26
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
30
28
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
string public constant POOL_OWNER_ROLE_NAME = "PoolOwnerRole";
|
35
|
-
string public constant PRODUCT_OWNER_ROLE_NAME = "ProductOwnerRole";
|
36
|
-
|
37
|
-
constructor() ModuleAuthorization(INSTANCE_TARGET_NAME) {}
|
38
|
-
|
39
|
-
|
40
|
-
function _setupRoles()
|
41
|
-
internal
|
42
|
-
override
|
43
|
-
{
|
44
|
-
_addGifRole(DISTRIBUTION_OWNER_ROLE(), DISTRIBUTION_OWNER_ROLE_NAME);
|
45
|
-
_addGifRole(ORACLE_OWNER_ROLE(), ORACLE_OWNER_ROLE_NAME);
|
46
|
-
_addGifRole(POOL_OWNER_ROLE(), POOL_OWNER_ROLE_NAME);
|
47
|
-
_addGifRole(PRODUCT_OWNER_ROLE(), PRODUCT_OWNER_ROLE_NAME);
|
48
|
-
}
|
49
|
-
|
29
|
+
constructor()
|
30
|
+
Authorization(INSTANCE_TARGET_NAME, INSTANCE())
|
31
|
+
{ }
|
50
32
|
|
51
33
|
function _setupTargets()
|
52
34
|
internal
|
53
35
|
override
|
54
36
|
{
|
55
|
-
// instance target
|
56
|
-
_addTargetWithRole(
|
57
|
-
INSTANCE_TARGET_NAME,
|
58
|
-
_getTargetRoleId(INSTANCE()),
|
59
|
-
INSTANCE_ROLE_NAME);
|
60
|
-
|
61
37
|
// instance supporting targets
|
62
38
|
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
63
39
|
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
64
40
|
_addTarget(BUNDLE_SET_TARGET_NAME);
|
41
|
+
_addTarget(RISK_SET_TARGET_NAME);
|
65
42
|
|
66
43
|
// service targets relevant to instance
|
67
44
|
_addServiceTargetWithRole(INSTANCE());
|
45
|
+
_addServiceTargetWithRole(ACCOUNTING());
|
68
46
|
_addServiceTargetWithRole(COMPONENT());
|
69
47
|
_addServiceTargetWithRole(DISTRIBUTION());
|
70
48
|
_addServiceTargetWithRole(ORACLE());
|
71
49
|
_addServiceTargetWithRole(POOL());
|
72
50
|
_addServiceTargetWithRole(BUNDLE());
|
73
|
-
_addServiceTargetWithRole(
|
51
|
+
_addServiceTargetWithRole(RISK());
|
74
52
|
_addServiceTargetWithRole(APPLICATION());
|
75
53
|
_addServiceTargetWithRole(POLICY());
|
76
54
|
_addServiceTargetWithRole(CLAIM());
|
@@ -85,6 +63,7 @@ contract InstanceAuthorizationV3
|
|
85
63
|
_setupInstanceAdminAuthorization();
|
86
64
|
_setupInstanceStoreAuthorization();
|
87
65
|
_setupBundleSetAuthorization();
|
66
|
+
_setUpRiskSetAuthorization();
|
88
67
|
}
|
89
68
|
|
90
69
|
|
@@ -95,11 +74,31 @@ contract InstanceAuthorizationV3
|
|
95
74
|
|
96
75
|
// authorize bundle service role
|
97
76
|
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(BUNDLE()));
|
98
|
-
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
99
|
-
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
100
77
|
_authorize(functions, BundleSet.add.selector, "add");
|
101
78
|
_authorize(functions, BundleSet.lock.selector, "lock");
|
102
79
|
_authorize(functions, BundleSet.unlock.selector, "unlock");
|
80
|
+
|
81
|
+
// authorize bundle service role
|
82
|
+
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(POLICY()));
|
83
|
+
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
84
|
+
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
85
|
+
}
|
86
|
+
|
87
|
+
function _setUpRiskSetAuthorization()
|
88
|
+
internal
|
89
|
+
{
|
90
|
+
IAccess.FunctionInfo[] storage functions;
|
91
|
+
|
92
|
+
// authorize risk service role
|
93
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(RISK()));
|
94
|
+
_authorize(functions, RiskSet.add.selector, "add");
|
95
|
+
_authorize(functions, RiskSet.pause.selector, "pause");
|
96
|
+
_authorize(functions, RiskSet.activate.selector, "activate");
|
97
|
+
|
98
|
+
// authorize policy service role
|
99
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(POLICY()));
|
100
|
+
_authorize(functions, RiskSet.linkPolicy.selector, "linkPolicy");
|
101
|
+
_authorize(functions, RiskSet.unlinkPolicy.selector, "unlinkPolicy");
|
103
102
|
}
|
104
103
|
|
105
104
|
|
@@ -120,11 +119,13 @@ contract InstanceAuthorizationV3
|
|
120
119
|
IAccess.FunctionInfo[] storage functions;
|
121
120
|
|
122
121
|
// authorize instance role
|
123
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
122
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getComponentRole(INSTANCE()));
|
124
123
|
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
125
124
|
|
126
|
-
// authorize
|
127
|
-
|
125
|
+
// authorize component service role
|
126
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
127
|
+
_authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
|
128
|
+
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
128
129
|
}
|
129
130
|
|
130
131
|
|
@@ -133,6 +134,13 @@ contract InstanceAuthorizationV3
|
|
133
134
|
{
|
134
135
|
IAccess.FunctionInfo[] storage functions;
|
135
136
|
|
137
|
+
// authorize accounting service role
|
138
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ACCOUNTING()));
|
139
|
+
_authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
|
140
|
+
_authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
|
141
|
+
_authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
|
142
|
+
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
143
|
+
|
136
144
|
// authorize component service role
|
137
145
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
|
138
146
|
_authorize(functions, InstanceStore.createComponent.selector, "createComponent");
|
@@ -140,11 +148,9 @@ contract InstanceAuthorizationV3
|
|
140
148
|
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
141
149
|
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
142
150
|
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
143
|
-
_authorize(functions, InstanceStore.
|
144
|
-
_authorize(functions, InstanceStore.
|
145
|
-
|
146
|
-
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
147
|
-
|
151
|
+
_authorize(functions, InstanceStore.createFee.selector, "createFee");
|
152
|
+
_authorize(functions, InstanceStore.updateFee.selector, "updateFee");
|
153
|
+
|
148
154
|
// authorize distribution service role
|
149
155
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
150
156
|
_authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
|
@@ -176,7 +182,7 @@ contract InstanceAuthorizationV3
|
|
176
182
|
_authorize(functions, InstanceStore.decreaseLocked.selector, "decreaseLocked");
|
177
183
|
|
178
184
|
// authorize product service role
|
179
|
-
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(
|
185
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(RISK()));
|
180
186
|
_authorize(functions, InstanceStore.createRisk.selector, "createRisk");
|
181
187
|
_authorize(functions, InstanceStore.updateRisk.selector, "updateRisk");
|
182
188
|
_authorize(functions, InstanceStore.updateRiskState.selector, "updateRiskState");
|
@@ -191,6 +197,8 @@ contract InstanceAuthorizationV3
|
|
191
197
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(POLICY()));
|
192
198
|
_authorize(functions, InstanceStore.updatePolicy.selector, "updatePolicy");
|
193
199
|
_authorize(functions, InstanceStore.updatePolicyState.selector, "updatePolicyState");
|
200
|
+
_authorize(functions, InstanceStore.createPremium.selector, "createPremium");
|
201
|
+
_authorize(functions, InstanceStore.updatePremiumState.selector, "updatePremiumState");
|
194
202
|
|
195
203
|
// authorize claim service role
|
196
204
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(CLAIM()));
|
@@ -199,6 +207,7 @@ contract InstanceAuthorizationV3
|
|
199
207
|
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
200
208
|
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
201
209
|
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
210
|
+
_authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
|
202
211
|
}
|
203
212
|
}
|
204
213
|
|