@etherisc/gif-next 0.0.2-8ce6c0b-352 → 0.0.2-8d69bcd-543
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 +158 -70
- 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 +166 -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 +97 -37
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +81 -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 +166 -376
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +144 -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 +245 -315
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +125 -123
- 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 +128 -76
- 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 +1487 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +555 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2048 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +527 -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 +1495 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +527 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1211 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1663 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +555 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2416 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +527 -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 +372 -136
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +120 -90
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +919 -315
- 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 +619 -492
- 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 +116 -326
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +146 -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 +143 -387
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +172 -27
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +434 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +163 -97
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +270 -27
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +124 -195
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +448 -217
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +109 -370
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +569 -396
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -91
- 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 +143 -26
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +435 -212
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +145 -107
- 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 +318 -8
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +361 -113
- 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 +486 -333
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +149 -99
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -312
- 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 +275 -160
- 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 +1795 -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 +412 -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 +508 -551
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +137 -125
- 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 +454 -210
- 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 +589 -15
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +140 -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 +55 -23
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +85 -105
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +212 -360
- 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 +125 -94
- 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 +100 -171
- 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 +153 -107
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
- 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 +61 -8
- 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 +7 -2
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +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/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/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 +52 -2
- 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 +189 -124
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +300 -202
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +10 -6
- package/contracts/authorization/IAuthorization.sol +19 -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 +3 -11
- package/contracts/distribution/Distribution.sol +36 -50
- package/contracts/distribution/DistributionService.sol +122 -117
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +2 -2
- package/contracts/distribution/IDistributionService.sol +16 -14
- 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 +107 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -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 +254 -84
- package/contracts/instance/InstanceAuthorizationV3.sol +56 -47
- package/contracts/instance/InstanceReader.sol +218 -27
- package/contracts/instance/InstanceService.sol +125 -164
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +24 -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/IDistribution.sol +0 -1
- 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 +15 -8
- package/contracts/pool/BundleService.sol +221 -80
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +33 -18
- package/contracts/pool/IPoolComponent.sol +21 -10
- package/contracts/pool/IPoolService.sol +53 -50
- package/contracts/pool/Pool.sol +150 -116
- package/contracts/pool/PoolService.sol +337 -160
- 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 +3 -14
- package/contracts/product/ClaimService.sol +428 -136
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +6 -2
- package/contracts/product/IClaimService.sol +44 -7
- package/contracts/product/IPolicyService.sol +46 -34
- 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 +501 -258
- 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 +161 -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 +94 -52
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +82 -121
- package/contracts/shared/ComponentService.sol +419 -349
- 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 +43 -39
- 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 +281 -27
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +7 -9
- package/contracts/staking/IStakingService.sol +0 -3
- package/contracts/staking/StakeManagerLib.sol +19 -26
- package/contracts/staking/Staking.sol +71 -59
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +13 -6
- package/contracts/staking/StakingService.sol +37 -40
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +27 -5
- 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/Referral.sol +1 -0
- package/contracts/type/RiskId.sol +35 -4
- package/contracts/type/RoleId.sol +23 -15
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +10 -5
- package/contracts/type/UFixed.sol +35 -122
- 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 -10
- 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,19 @@
|
|
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 {ObjectType} from "../type/ObjectType.sol";
|
13
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
16
14
|
import {Str, StrLib} from "../type/String.sol";
|
17
|
-
import {
|
15
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
16
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
18
17
|
|
19
18
|
|
20
19
|
contract InstanceAdmin is
|
@@ -24,126 +23,155 @@ contract InstanceAdmin is
|
|
24
23
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
25
24
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
26
25
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
26
|
+
string public constant RISK_SET_TAGET_NAME = "RiskSet";
|
27
27
|
|
28
28
|
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
29
29
|
|
30
|
+
error ErrorInstanceAdminCallerNotInstanceOwner(address caller);
|
31
|
+
error ErrorInstanceAdminInstanceAlreadyLocked();
|
30
32
|
error ErrorInstanceAdminNotRegistered(address target);
|
33
|
+
|
31
34
|
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
35
|
+
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
36
|
+
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
37
|
+
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
38
|
+
|
32
39
|
error ErrorInstanceAdminReleaseMismatch();
|
33
40
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
34
41
|
|
35
|
-
IInstance _instance;
|
42
|
+
IInstance internal _instance;
|
36
43
|
IRegistry internal _registry;
|
37
|
-
uint64
|
44
|
+
uint64 internal _customIdNext;
|
38
45
|
|
39
|
-
|
46
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
47
|
+
uint64 internal _components;
|
48
|
+
|
49
|
+
IAuthorization internal _instanceAuthorization;
|
50
|
+
|
51
|
+
|
52
|
+
modifier onlyInstanceOwner() {
|
53
|
+
if(msg.sender != _registry.ownerOf(address(_instance))) {
|
54
|
+
revert ErrorInstanceAdminCallerNotInstanceOwner(msg.sender);
|
55
|
+
}
|
56
|
+
_;
|
57
|
+
}
|
40
58
|
|
41
59
|
/// @dev Only used for master instance admin.
|
42
60
|
/// Contracts created via constructor come with disabled initializers.
|
43
61
|
constructor(
|
44
|
-
|
45
|
-
)
|
46
|
-
|
47
|
-
|
48
|
-
_instanceAuthorization = instanceAuthorization;
|
62
|
+
address instanceAuthorization
|
63
|
+
) {
|
64
|
+
initialize(new AccessManagerCloneable());
|
65
|
+
|
66
|
+
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
67
|
+
|
68
|
+
_disableInitializers();
|
49
69
|
}
|
50
70
|
|
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.
|
71
|
+
|
55
72
|
function initialize(
|
56
|
-
AccessManagerCloneable
|
57
|
-
|
73
|
+
AccessManagerCloneable clonedAccessManager,
|
74
|
+
IRegistry registry,
|
75
|
+
VersionPart release
|
58
76
|
)
|
59
77
|
external
|
60
|
-
initializer()
|
78
|
+
initializer()
|
61
79
|
{
|
62
|
-
|
63
|
-
_initializeAuthority(address(accessManager));
|
80
|
+
__AccessAdmin_init(clonedAccessManager);
|
64
81
|
|
65
|
-
|
66
|
-
|
82
|
+
clonedAccessManager.completeSetup(
|
83
|
+
address(registry),
|
84
|
+
release);
|
67
85
|
|
68
|
-
|
69
|
-
_instanceAuthorization = IModuleAuthorization(instanceAuthorization);
|
86
|
+
_registry = registry;
|
70
87
|
}
|
71
88
|
|
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.
|
89
|
+
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
90
|
+
/// Important: Initialization of instance admin is only complete after calling this function.
|
86
91
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
87
|
-
function
|
92
|
+
function completeSetup(
|
93
|
+
address instance,
|
94
|
+
address authorization
|
95
|
+
)
|
88
96
|
external
|
97
|
+
reinitializer(uint64(getRelease().toInt()))
|
98
|
+
onlyDeployer()
|
89
99
|
{
|
90
|
-
|
100
|
+
_components = 0;
|
101
|
+
_customIdNext = CUSTOM_ROLE_ID_MIN;
|
102
|
+
_instance = IInstance(instance);
|
103
|
+
_instanceAuthorization = IAuthorization(authorization);
|
91
104
|
|
92
|
-
|
93
|
-
_instance = IInstance(instanceAddress);
|
94
|
-
_registry = _instance.getRegistry();
|
105
|
+
_checkTargetIsReadyForAuthorization(instance);
|
95
106
|
|
96
107
|
// check matching releases
|
97
|
-
if (_instanceAuthorization.getRelease() !=
|
108
|
+
if (_instanceAuthorization.getRelease() != getRelease()) {
|
98
109
|
revert ErrorInstanceAdminReleaseMismatch();
|
99
110
|
}
|
100
111
|
|
112
|
+
// create instance role and target
|
113
|
+
_setupInstance(instance);
|
114
|
+
|
101
115
|
// add instance authorization
|
102
116
|
_createRoles(_instanceAuthorization);
|
103
|
-
_createModuleTargetsWithRoles();
|
104
|
-
_createTargetAuthorizations(_instanceAuthorization);
|
105
117
|
|
106
|
-
|
107
|
-
|
118
|
+
_setupInstanceHelperTargetsWithRoles();
|
119
|
+
_createTargetAuthorizations(_instanceAuthorization);
|
108
120
|
}
|
109
121
|
|
110
122
|
|
111
123
|
/// @dev Initializes the authorization for the specified component.
|
112
124
|
/// Important: The component MUST be registered.
|
113
125
|
function initializeComponentAuthorization(
|
114
|
-
|
115
|
-
IAuthorization authorization
|
126
|
+
IInstanceLinkedComponent component
|
116
127
|
)
|
117
128
|
external
|
129
|
+
restricted()
|
118
130
|
{
|
119
|
-
|
131
|
+
// checks
|
132
|
+
_checkTargetIsReadyForAuthorization(address(component));
|
133
|
+
|
134
|
+
// setup target and role for component (including token handler)
|
135
|
+
_setupComponentAndTokenHandler(component);
|
120
136
|
|
137
|
+
// create other roles
|
138
|
+
IAuthorization authorization = component.getAuthorization();
|
121
139
|
_createRoles(authorization);
|
140
|
+
|
141
|
+
FunctionInfo[] memory functions = new FunctionInfo[](2);
|
142
|
+
functions[0] = toFunction(TokenHandler.pullToken.selector, "pullTokens");
|
143
|
+
functions[1] = toFunction(TokenHandler.pushToken.selector, "pushToken");
|
144
|
+
|
145
|
+
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
146
|
+
_authorizeTargetFunctions(
|
147
|
+
address(component.getTokenHandler()),
|
148
|
+
getPublicRole(),
|
149
|
+
functions);
|
150
|
+
|
151
|
+
_createTargetAuthorizations(authorization);
|
152
|
+
}
|
153
|
+
|
154
|
+
// create instance role and target
|
155
|
+
function _setupInstance(address instance) internal {
|
156
|
+
// create instance role
|
157
|
+
RoleId instanceRoleId = _instanceAuthorization.getTargetRole(
|
158
|
+
_instanceAuthorization.getMainTarget());
|
159
|
+
|
160
|
+
_createRole(
|
161
|
+
instanceRoleId,
|
162
|
+
_instanceAuthorization.getRoleInfo(instanceRoleId));
|
122
163
|
|
123
|
-
// create
|
164
|
+
// create instance target
|
124
165
|
_createTarget(
|
125
|
-
|
126
|
-
|
166
|
+
instance,
|
167
|
+
_instanceAuthorization.getMainTargetName(),
|
127
168
|
true, // checkAuthority
|
128
169
|
false); // custom
|
129
170
|
|
171
|
+
// assign instance role to instance
|
130
172
|
_grantRoleToAccount(
|
131
|
-
|
132
|
-
|
133
|
-
componentAddress);
|
134
|
-
|
135
|
-
_createTargetAuthorizations(authorization);
|
136
|
-
}
|
137
|
-
|
138
|
-
|
139
|
-
function _grantComponentOwnerRoles()
|
140
|
-
internal
|
141
|
-
{
|
142
|
-
address instanceOwner = _registry.ownerOf(_instance.getNftId());
|
143
|
-
_grantRoleToAccount(DISTRIBUTION_OWNER_ROLE(), instanceOwner);
|
144
|
-
_grantRoleToAccount(ORACLE_OWNER_ROLE(), instanceOwner);
|
145
|
-
_grantRoleToAccount(POOL_OWNER_ROLE(), instanceOwner);
|
146
|
-
_grantRoleToAccount(PRODUCT_OWNER_ROLE(), instanceOwner);
|
173
|
+
instanceRoleId,
|
174
|
+
instance);
|
147
175
|
}
|
148
176
|
|
149
177
|
/// @dev Creates a custom role
|
@@ -165,32 +193,172 @@ contract InstanceAdmin is
|
|
165
193
|
_grantRoleToAccount(roleId, account);
|
166
194
|
}
|
167
195
|
|
196
|
+
|
197
|
+
function setInstanceLocked(bool locked)
|
198
|
+
external
|
199
|
+
onlyInstanceOwner()
|
200
|
+
{
|
201
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
202
|
+
|
203
|
+
if(accessManager.isLocked() == locked) {
|
204
|
+
revert ErrorInstanceAdminInstanceAlreadyLocked();
|
205
|
+
}
|
206
|
+
accessManager.setLocked(locked);
|
207
|
+
}
|
208
|
+
|
209
|
+
function setTargetLocked(address target, bool locked)
|
210
|
+
external
|
211
|
+
restricted()
|
212
|
+
{
|
213
|
+
_setTargetClosed(target, locked);
|
214
|
+
}
|
215
|
+
|
216
|
+
|
217
|
+
|
168
218
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
169
219
|
function getInstanceAuthorization()
|
170
220
|
external
|
171
221
|
view
|
172
|
-
returns (
|
222
|
+
returns (IAuthorization instanceAuthorizaion)
|
173
223
|
{
|
174
224
|
return _instanceAuthorization;
|
175
225
|
}
|
176
226
|
|
227
|
+
// ------------------- Internal functions ------------------- //
|
228
|
+
|
229
|
+
function _setupComponentAndTokenHandler(IInstanceLinkedComponent component)
|
230
|
+
internal
|
231
|
+
{
|
232
|
+
|
233
|
+
IAuthorization authorization = component.getAuthorization();
|
234
|
+
string memory targetName = authorization.getMainTargetName();
|
235
|
+
|
236
|
+
// create component role and target
|
237
|
+
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
238
|
+
|
239
|
+
// create component's target
|
240
|
+
_createTarget(
|
241
|
+
address(component),
|
242
|
+
targetName,
|
243
|
+
true, // checkAuthority
|
244
|
+
false); // custom
|
245
|
+
|
246
|
+
// create component's token handler target
|
247
|
+
_createTarget(
|
248
|
+
// TODO fetch token handler from instance
|
249
|
+
address(component.getTokenHandler()),
|
250
|
+
string(abi.encodePacked(targetName, "TH")),
|
251
|
+
true,
|
252
|
+
false);
|
253
|
+
|
254
|
+
// assign component role to component
|
255
|
+
_grantRoleToAccount(
|
256
|
+
componentRoleId,
|
257
|
+
address(component));
|
258
|
+
|
259
|
+
// token handler does not require its own role
|
260
|
+
// token handler is not calling other components
|
261
|
+
}
|
262
|
+
|
263
|
+
|
264
|
+
function _createComponentRoleId(
|
265
|
+
IInstanceLinkedComponent component,
|
266
|
+
IAuthorization authorization
|
267
|
+
)
|
268
|
+
internal
|
269
|
+
returns (RoleId componentRoleId)
|
270
|
+
{
|
271
|
+
// checks
|
272
|
+
// check component is not yet authorized
|
273
|
+
if (_targetRoleId[address(component)].gtz()) {
|
274
|
+
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
275
|
+
}
|
276
|
+
|
277
|
+
// check generic component role
|
278
|
+
RoleId genericComponentRoleId = authorization.getTargetRole(
|
279
|
+
authorization.getMainTarget());
|
280
|
+
|
281
|
+
if (!genericComponentRoleId.isComponentRole()) {
|
282
|
+
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
283
|
+
}
|
284
|
+
|
285
|
+
// check component role does not exist
|
286
|
+
componentRoleId = toComponentRole(
|
287
|
+
genericComponentRoleId,
|
288
|
+
_components);
|
289
|
+
|
290
|
+
if (roleExists(componentRoleId)) {
|
291
|
+
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
292
|
+
}
|
293
|
+
|
294
|
+
// check role info
|
295
|
+
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
296
|
+
genericComponentRoleId);
|
297
|
+
|
298
|
+
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
299
|
+
revert ErrorInstanceAdminRoleTypeNotContract(
|
300
|
+
componentRoleId,
|
301
|
+
roleInfo.roleType);
|
302
|
+
}
|
303
|
+
|
304
|
+
// effects
|
305
|
+
_targetRoleId[address(component)] = componentRoleId;
|
306
|
+
_components++;
|
307
|
+
|
308
|
+
_createRole(
|
309
|
+
componentRoleId,
|
310
|
+
roleInfo);
|
311
|
+
}
|
312
|
+
|
313
|
+
|
314
|
+
function _checkTargetIsReadyForAuthorization(address target)
|
315
|
+
internal
|
316
|
+
view
|
317
|
+
{
|
318
|
+
if (!_registry.isRegistered(target)) {
|
319
|
+
revert ErrorInstanceAdminNotRegistered(target);
|
320
|
+
}
|
321
|
+
|
322
|
+
if (targetExists(target)) {
|
323
|
+
revert ErrorInstanceAdminAlreadyAuthorized(target);
|
324
|
+
}
|
325
|
+
}
|
326
|
+
|
177
327
|
|
178
328
|
function _createRoles(IAuthorization authorization)
|
179
329
|
internal
|
180
330
|
{
|
181
331
|
RoleId[] memory roles = authorization.getRoles();
|
332
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
333
|
+
authorization.getMainTarget());
|
334
|
+
|
182
335
|
RoleId roleId;
|
183
336
|
RoleInfo memory roleInfo;
|
184
337
|
|
185
338
|
for(uint256 i = 0; i < roles.length; i++) {
|
339
|
+
|
186
340
|
roleId = roles[i];
|
187
|
-
|
188
|
-
|
189
|
-
|
341
|
+
|
342
|
+
// skip main target role, create role if not exists
|
343
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
344
|
+
_createRole(
|
345
|
+
roleId,
|
346
|
+
authorization.getRoleInfo(roleId));
|
347
|
+
}
|
190
348
|
}
|
191
349
|
}
|
192
350
|
|
193
351
|
|
352
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
353
|
+
internal
|
354
|
+
pure
|
355
|
+
returns (RoleId)
|
356
|
+
{
|
357
|
+
return RoleIdLib.toRoleId(
|
358
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
359
|
+
}
|
360
|
+
|
361
|
+
|
194
362
|
function _createTargetAuthorizations(IAuthorization authorization)
|
195
363
|
internal
|
196
364
|
{
|
@@ -231,7 +399,7 @@ contract InstanceAdmin is
|
|
231
399
|
_createTarget(
|
232
400
|
target,
|
233
401
|
targetName,
|
234
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with
|
402
|
+
false, // check authority TODO check normal targets, don't check service targets (they share authority with release admin)
|
235
403
|
false);
|
236
404
|
|
237
405
|
// assign target role if defined
|
@@ -241,14 +409,16 @@ contract InstanceAdmin is
|
|
241
409
|
}
|
242
410
|
}
|
243
411
|
|
244
|
-
function
|
412
|
+
function _setupInstanceHelperTargetsWithRoles()
|
245
413
|
internal
|
246
414
|
{
|
415
|
+
// _checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
416
|
+
|
247
417
|
// create module targets
|
248
|
-
_checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
249
418
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
250
419
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
251
420
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
421
|
+
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TAGET_NAME);
|
252
422
|
|
253
423
|
// create targets for services that need to access the module targets
|
254
424
|
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
|
|