@etherisc/gif-next 0.0.2-e9c5694-914 → 0.0.2-ea09fbf-195
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -6
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +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 +103 -55
- 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 +2 -2
- 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 +37 -5
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +106 -186
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -89
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +154 -108
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +75 -53
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +44 -58
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +50 -3
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +101 -164
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +49 -17
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +258 -290
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +17 -17
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +137 -129
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +90 -126
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +225 -162
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +630 -317
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +94 -47
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +77 -20
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +131 -56
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +239 -92
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +40 -27
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +478 -197
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +104 -74
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +49 -27
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +410 -370
- 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 +2 -2
- 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/ObjectSetHelper.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelper.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +74 -154
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
- 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 +44 -58
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +58 -90
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +112 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +69 -27
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +57 -104
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +49 -17
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +128 -226
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +60 -74
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +46 -60
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -97
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +104 -78
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +57 -128
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +175 -174
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +64 -38
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +105 -63
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +45 -27
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +163 -175
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +251 -144
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +79 -57
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +61 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +143 -3
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +65 -22
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +150 -144
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +158 -140
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +73 -47
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +99 -76
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +60 -38
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +163 -175
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +88 -73
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +54 -24
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +31 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- 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/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +69 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +188 -213
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -46
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +42 -20
- 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 +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +310 -52
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- 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 +57 -75
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +250 -421
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +71 -61
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +454 -5
- 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 +44 -44
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +134 -248
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +44 -58
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -89
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -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 +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +388 -35
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +62 -80
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +27 -3
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +3 -3
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +134 -173
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +58 -46
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +73 -50
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +46 -24
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +129 -129
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +23 -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 +3 -3
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- 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 +2 -2
- 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 +62 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +3 -3
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -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 +18 -2
- 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 +136 -73
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/IAccessAdmin.sol +6 -3
- package/contracts/distribution/BasicDistribution.sol +6 -6
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +32 -30
- package/contracts/distribution/DistributionService.sol +34 -32
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +5 -6
- package/contracts/examples/fire/FirePool.sol +22 -5
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -0
- package/contracts/examples/fire/FireProduct.sol +31 -8
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +7 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +33 -2
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +40 -21
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +8 -8
- package/contracts/instance/IInstanceService.sol +9 -9
- package/contracts/instance/Instance.sol +20 -17
- package/contracts/instance/InstanceAdmin.sol +96 -47
- package/contracts/instance/InstanceAuthorizationV3.sol +45 -14
- package/contracts/instance/InstanceReader.sol +108 -7
- package/contracts/instance/InstanceService.sol +73 -82
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelper.sol +30 -0
- package/contracts/instance/module/IComponents.sol +4 -4
- package/contracts/instance/module/IPolicy.sol +2 -1
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +92 -73
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +24 -3
- package/contracts/pool/BasicPoolAuthorization.sol +12 -1
- package/contracts/pool/BundleService.sol +26 -94
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +2 -24
- package/contracts/pool/IPoolComponent.sol +1 -7
- package/contracts/pool/IPoolService.sol +12 -26
- package/contracts/pool/Pool.sol +112 -102
- package/contracts/pool/PoolService.sol +171 -100
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +15 -15
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +9 -11
- package/contracts/product/BasicProductAuthorization.sol +1 -2
- package/contracts/product/ClaimService.sol +147 -51
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +5 -2
- package/contracts/product/IClaimService.sol +13 -0
- package/contracts/product/IPolicyService.sol +17 -7
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/PolicyService.sol +244 -199
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +23 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +47 -39
- package/contracts/product/RiskService.sol +78 -23
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +8 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +12 -3
- package/contracts/registry/RegistryAdmin.sol +121 -225
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +129 -119
- package/contracts/registry/ServiceAuthorizationV3.sol +88 -40
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +59 -98
- package/contracts/shared/ComponentService.sol +206 -251
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +15 -13
- package/contracts/shared/ContractLib.sol +223 -9
- package/contracts/shared/IComponent.sol +4 -17
- package/contracts/shared/IComponentService.sol +20 -24
- package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InstanceLinkedComponent.sol +2 -18
- package/contracts/shared/NftOwnable.sol +4 -4
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +44 -20
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +316 -66
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +9 -4
- package/contracts/staking/Staking.sol +62 -33
- package/contracts/staking/StakingService.sol +41 -9
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +32 -18
- package/contracts/type/RiskId.sol +23 -6
- package/contracts/type/RoleId.sol +5 -2
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +9 -119
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +3 -3
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
@@ -2,6 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
5
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
5
6
|
import {IAccess} from "../authorization/IAccess.sol";
|
6
7
|
import {IRegistry} from "./IRegistry.sol";
|
7
8
|
import {IService} from "../shared/IService.sol";
|
@@ -10,14 +11,16 @@ import {IStaking} from "../staking/IStaking.sol";
|
|
10
11
|
import {ObjectType, ObjectTypeLib, ALL, REGISTRY, STAKING, POOL, RELEASE} from "../type/ObjectType.sol";
|
11
12
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
12
13
|
import {RoleId, RoleIdLib, ADMIN_ROLE, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
14
|
+
import {Staking} from "../staking/Staking.sol";
|
13
15
|
import {StakingStore} from "../staking/StakingStore.sol";
|
14
16
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
15
17
|
import {TokenRegistry} from "./TokenRegistry.sol";
|
16
|
-
import {VersionPart} from "../type/Version.sol";
|
18
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
17
19
|
|
18
20
|
/*
|
19
21
|
1) GIF_MANAGER_ROLE
|
20
22
|
- can have arbitrary number of members
|
23
|
+
- responsible for release preparation
|
21
24
|
- responsible for services registrations
|
22
25
|
- responsible for token registration and activation
|
23
26
|
|
@@ -25,28 +28,37 @@ import {VersionPart} from "../type/Version.sol";
|
|
25
28
|
- admin of GIF_MANAGER_ROLE
|
26
29
|
- MUST have 1 member at any time
|
27
30
|
- granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
|
28
|
-
- responsible for creation and
|
31
|
+
- responsible for creation, activation and locking/unlocking of releases
|
29
32
|
*/
|
33
|
+
|
34
|
+
/// @dev The RegistryAdmin contract implements the central authorization for the GIF core contracts.
|
35
|
+
/// These are the release independent registry and staking contracts and their respective helper contracts.
|
36
|
+
/// The RegistryAdmin also manages the access from service contracts to the GIF core contracts
|
30
37
|
contract RegistryAdmin is
|
31
38
|
AccessAdmin
|
32
39
|
{
|
40
|
+
/// @dev gif core roles
|
33
41
|
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
34
42
|
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
35
|
-
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
36
43
|
string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
|
44
|
+
string public constant STAKING_ROLE_NAME = "StakingRole";
|
45
|
+
|
46
|
+
/// @dev gif roles for external contracts
|
37
47
|
string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
|
48
|
+
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
38
49
|
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
39
|
-
string public constant STAKING_ROLE_NAME = "StakingRole";
|
40
50
|
|
51
|
+
/// @dev gif core targets
|
52
|
+
string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
|
41
53
|
string public constant REGISTRY_TARGET_NAME = "Registry";
|
42
54
|
string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
|
43
|
-
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
44
55
|
string public constant STAKING_TARGET_NAME = "Staking";
|
56
|
+
string public constant STAKING_TH_TARGET_NAME = "StakingTH";
|
45
57
|
string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
|
58
|
+
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
59
|
+
string public constant TOKEN_HANDLER_TARGET_NAME = "TokenHandler";
|
46
60
|
|
47
61
|
uint8 public constant MAX_NUM_RELEASES = 99;
|
48
|
-
// TODO consider deleting this
|
49
|
-
mapping(address service => VersionPart majorVersion) private _ServiceRelease;
|
50
62
|
|
51
63
|
address internal _registry;
|
52
64
|
address private _releaseRegistry;
|
@@ -54,17 +66,26 @@ contract RegistryAdmin is
|
|
54
66
|
address private _staking;
|
55
67
|
address private _stakingStore;
|
56
68
|
|
57
|
-
constructor()
|
69
|
+
constructor() {
|
70
|
+
initialize(new AccessManagerCloneable());
|
71
|
+
}
|
58
72
|
|
59
73
|
function completeSetup(
|
60
74
|
IRegistry registry,
|
61
75
|
address gifAdmin,
|
62
76
|
address gifManager
|
63
77
|
)
|
64
|
-
|
65
|
-
|
78
|
+
public
|
79
|
+
virtual
|
80
|
+
reinitializer(type(uint8).max)
|
66
81
|
onlyDeployer()
|
67
82
|
{
|
83
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
84
|
+
accessManager.completeSetup(
|
85
|
+
address(registry),
|
86
|
+
VersionPartLib.toVersionPart(type(uint8).max),
|
87
|
+
false);
|
88
|
+
|
68
89
|
_registry = address(registry);
|
69
90
|
_releaseRegistry = registry.getReleaseRegistryAddress();
|
70
91
|
_tokenRegistry = registry.getTokenRegistryAddress();
|
@@ -72,48 +93,22 @@ contract RegistryAdmin is
|
|
72
93
|
_stakingStore = address(
|
73
94
|
IStaking(_staking).getStakingStore());
|
74
95
|
|
75
|
-
|
76
|
-
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
96
|
+
_createTargets();
|
77
97
|
|
78
98
|
_setupGifAdminRole(gifAdmin);
|
79
99
|
_setupGifManagerRole(gifManager);
|
80
100
|
|
81
|
-
|
82
|
-
|
83
|
-
_setupStaking();
|
101
|
+
_setupRegistryRoles();
|
102
|
+
_setupStakingRoles();
|
84
103
|
}
|
85
104
|
|
86
|
-
|
87
|
-
/// @dev Sets up authorizaion for specified service.
|
88
|
-
/// For all authorized services its authorized functions are enabled.
|
89
|
-
/// Permissioned function: Access is restricted to release manager.
|
90
|
-
function authorizeService(
|
91
|
-
IServiceAuthorization serviceAuthorization,
|
92
|
-
IService service,
|
93
|
-
ObjectType serviceDomain,
|
94
|
-
VersionPart releaseVersion
|
95
|
-
)
|
96
|
-
external
|
97
|
-
restricted()
|
98
|
-
{
|
99
|
-
_createServiceTargetAndRole(service, serviceDomain, releaseVersion);
|
100
|
-
_authorizeServiceFunctions(serviceAuthorization, service, serviceDomain, releaseVersion);
|
101
|
-
}
|
102
|
-
|
103
|
-
function grantServiceRole(
|
104
|
-
IService service,
|
105
|
-
ObjectType domain,
|
106
|
-
VersionPart version
|
107
|
-
)
|
105
|
+
/*function transferAdmin(address to)
|
108
106
|
external
|
109
|
-
restricted
|
107
|
+
restricted // only with GIF_ADMIN_ROLE or nft owner
|
110
108
|
{
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
version),
|
115
|
-
address(service));
|
116
|
-
}
|
109
|
+
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
110
|
+
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
111
|
+
}*/
|
117
112
|
|
118
113
|
function grantServiceRoleForAllVersions(IService service, ObjectType domain)
|
119
114
|
external
|
@@ -124,21 +119,6 @@ contract RegistryAdmin is
|
|
124
119
|
address(service));
|
125
120
|
}
|
126
121
|
|
127
|
-
function setServiceLocked(IService service, bool locked)
|
128
|
-
external
|
129
|
-
restricted()
|
130
|
-
{
|
131
|
-
_setTargetClosed(address(service), locked);
|
132
|
-
}
|
133
|
-
|
134
|
-
/*function transferAdmin(address to)
|
135
|
-
external
|
136
|
-
restricted // only with GIF_ADMIN_ROLE or nft owner
|
137
|
-
{
|
138
|
-
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
139
|
-
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
140
|
-
}*/
|
141
|
-
|
142
122
|
//--- view functions ----------------------------------------------------//
|
143
123
|
|
144
124
|
function getGifAdminRole() external view returns (RoleId) {
|
@@ -149,96 +129,29 @@ contract RegistryAdmin is
|
|
149
129
|
return GIF_MANAGER_ROLE();
|
150
130
|
}
|
151
131
|
|
152
|
-
//--- private functions
|
132
|
+
//--- private initialization functions -------------------------------------------//
|
153
133
|
|
154
|
-
function
|
155
|
-
|
156
|
-
|
157
|
-
VersionPart releaseVersion
|
158
|
-
)
|
159
|
-
private
|
134
|
+
function _createTargets()
|
135
|
+
private
|
136
|
+
onlyInitializing()
|
160
137
|
{
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
// create service target
|
165
|
-
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
166
|
-
baseName, "Service", versionInt);
|
167
|
-
|
168
|
-
_createTarget(
|
169
|
-
address(service),
|
170
|
-
serviceTargetName,
|
171
|
-
true,
|
172
|
-
false);
|
173
|
-
|
174
|
-
_setTargetClosed(address(service), true);
|
175
|
-
|
176
|
-
// create service role
|
177
|
-
RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
|
178
|
-
serviceDomain,
|
179
|
-
releaseVersion);
|
180
|
-
|
181
|
-
_createRole(
|
182
|
-
serviceRoleId,
|
183
|
-
toRole({
|
184
|
-
adminRoleId: ADMIN_ROLE(),
|
185
|
-
roleType: RoleType.Contract,
|
186
|
-
maxMemberCount: 1,
|
187
|
-
name: ObjectTypeLib.toVersionedName(
|
188
|
-
baseName,
|
189
|
-
"ServiceRole",
|
190
|
-
versionInt)}));
|
191
|
-
|
192
|
-
_grantRoleToAccount(
|
193
|
-
serviceRoleId,
|
194
|
-
address(service));
|
195
|
-
}
|
196
|
-
|
138
|
+
IStaking staking = IStaking(_staking);
|
139
|
+
address tokenHandler = address(staking.getTokenHandler());
|
197
140
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
{
|
206
|
-
ObjectType authorizedDomain;
|
207
|
-
RoleId authorizedRoleId;
|
208
|
-
|
209
|
-
ObjectType[] memory authorizedDomains = serviceAuthorization.getAuthorizedDomains(serviceDomain);
|
210
|
-
|
211
|
-
for (uint256 i = 0; i < authorizedDomains.length; i++) {
|
212
|
-
authorizedDomain = authorizedDomains[i];
|
213
|
-
|
214
|
-
// derive authorized role from authorized domain
|
215
|
-
if (authorizedDomain == ALL()) {
|
216
|
-
authorizedRoleId = PUBLIC_ROLE();
|
217
|
-
} else {
|
218
|
-
authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
|
219
|
-
authorizedDomain,
|
220
|
-
releaseVersion);
|
221
|
-
}
|
222
|
-
|
223
|
-
// get authorized functions for authorized domain
|
224
|
-
IAccess.FunctionInfo[] memory authorizatedFunctions = serviceAuthorization.getAuthorizedFunctions(
|
225
|
-
serviceDomain,
|
226
|
-
authorizedDomain);
|
227
|
-
|
228
|
-
_authorizeTargetFunctions(
|
229
|
-
address(service),
|
230
|
-
authorizedRoleId,
|
231
|
-
authorizatedFunctions);
|
232
|
-
}
|
141
|
+
_createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, false, false);
|
142
|
+
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
143
|
+
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
|
144
|
+
_createTarget(_staking, STAKING_TARGET_NAME, true, false);
|
145
|
+
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
|
146
|
+
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
147
|
+
_createTarget(tokenHandler, TOKEN_HANDLER_TARGET_NAME, true, false);
|
233
148
|
}
|
234
149
|
|
235
|
-
//--- private initialization functions -------------------------------------------//
|
236
|
-
|
237
150
|
function _setupGifAdminRole(address gifAdmin)
|
238
151
|
private
|
239
152
|
onlyInitializing()
|
240
153
|
{
|
241
|
-
|
154
|
+
// create gif admin role
|
242
155
|
_createRole(
|
243
156
|
GIF_ADMIN_ROLE(),
|
244
157
|
toRole({
|
@@ -247,18 +160,17 @@ contract RegistryAdmin is
|
|
247
160
|
maxMemberCount: 2, // TODO decide on max member count
|
248
161
|
name: GIF_ADMIN_ROLE_NAME}));
|
249
162
|
|
250
|
-
// for
|
163
|
+
// grant permissions to the gif admin role for registry contract
|
251
164
|
FunctionInfo[] memory functions;
|
252
165
|
functions = new FunctionInfo[](1);
|
253
166
|
functions[0] = toFunction(IRegistry.registerRegistry.selector, "registerRegistry");
|
254
167
|
_authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
|
255
168
|
|
256
|
-
// for
|
257
|
-
functions = new FunctionInfo[](
|
169
|
+
// grant permissions to the gif admin role for release registry contract
|
170
|
+
functions = new FunctionInfo[](3);
|
258
171
|
functions[0] = toFunction(ReleaseRegistry.createNextRelease.selector, "createNextRelease");
|
259
172
|
functions[1] = toFunction(ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
|
260
|
-
functions[2] = toFunction(ReleaseRegistry.
|
261
|
-
functions[3] = toFunction(ReleaseRegistry.unpauseRelease.selector, "unpauseRelease");
|
173
|
+
functions[2] = toFunction(ReleaseRegistry.setActive.selector, "setActive");
|
262
174
|
_authorizeTargetFunctions(_releaseRegistry, GIF_ADMIN_ROLE(), functions);
|
263
175
|
|
264
176
|
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
@@ -268,16 +180,16 @@ contract RegistryAdmin is
|
|
268
180
|
private
|
269
181
|
onlyInitializing()
|
270
182
|
{
|
271
|
-
|
183
|
+
// create gif manager role
|
272
184
|
_createRole(
|
273
185
|
GIF_MANAGER_ROLE(),
|
274
186
|
toRole({
|
275
187
|
adminRoleId: ADMIN_ROLE(),
|
276
188
|
roleType: RoleType.Gif,
|
277
|
-
maxMemberCount: 1,
|
189
|
+
maxMemberCount: 1, // TODO decide on max member count
|
278
190
|
name: GIF_MANAGER_ROLE_NAME}));
|
279
191
|
|
280
|
-
// for
|
192
|
+
// grant permissions to the gif manager role for token registry contract
|
281
193
|
FunctionInfo[] memory functions;
|
282
194
|
functions = new FunctionInfo[](5);
|
283
195
|
functions[0] = toFunction(TokenRegistry.registerToken.selector, "registerToken");
|
@@ -288,7 +200,7 @@ contract RegistryAdmin is
|
|
288
200
|
functions[4] = toFunction(TokenRegistry.setActiveWithVersionCheck.selector, "setActiveWithVersionCheck");
|
289
201
|
_authorizeTargetFunctions(_tokenRegistry, GIF_MANAGER_ROLE(), functions);
|
290
202
|
|
291
|
-
// for
|
203
|
+
// grant permissions to the gif manager role for release registry contract
|
292
204
|
functions = new FunctionInfo[](2);
|
293
205
|
functions[0] = toFunction(ReleaseRegistry.prepareNextRelease.selector, "prepareNextRelease");
|
294
206
|
functions[1] = toFunction(ReleaseRegistry.registerService.selector, "registerService");
|
@@ -297,14 +209,12 @@ contract RegistryAdmin is
|
|
297
209
|
_grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
|
298
210
|
}
|
299
211
|
|
300
|
-
|
301
|
-
|
302
|
-
private
|
212
|
+
function _setupRegistryRoles()
|
213
|
+
private
|
303
214
|
onlyInitializing()
|
304
215
|
{
|
305
|
-
|
306
|
-
|
307
|
-
|
216
|
+
// TODO use RELEASE_REGISTRY_ROLE instead
|
217
|
+
// create and grant release registry role
|
308
218
|
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
309
219
|
_createRole(
|
310
220
|
releaseRegistryRoleId,
|
@@ -313,27 +223,20 @@ contract RegistryAdmin is
|
|
313
223
|
roleType: RoleType.Contract,
|
314
224
|
maxMemberCount: 1,
|
315
225
|
name: RELEASE_REGISTRY_ROLE_NAME}));
|
226
|
+
_grantRoleToAccount(releaseRegistryRoleId, _releaseRegistry);
|
316
227
|
|
228
|
+
// grant permissions to the release registry role for release admin contract
|
317
229
|
FunctionInfo[] memory functions;
|
318
|
-
functions = new FunctionInfo[](
|
319
|
-
functions[0] = toFunction(RegistryAdmin.
|
320
|
-
functions[1] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
321
|
-
functions[2] = toFunction(RegistryAdmin.grantServiceRole.selector, "grantServiceRole");
|
322
|
-
functions[3] = toFunction(RegistryAdmin.setServiceLocked.selector, "setServiceLocked");
|
230
|
+
functions = new FunctionInfo[](1);
|
231
|
+
functions[0] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
323
232
|
_authorizeTargetFunctions(address(this), releaseRegistryRoleId, functions);
|
324
233
|
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
function _setupRegistry()
|
330
|
-
internal
|
331
|
-
virtual
|
332
|
-
onlyInitializing()
|
333
|
-
{
|
334
|
-
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
234
|
+
// grant permissions to the release registry role for registry contract
|
235
|
+
functions = new FunctionInfo[](1);
|
236
|
+
functions[0] = toFunction(IRegistry.registerService.selector, "registerService");
|
237
|
+
_authorizeTargetFunctions(_registry, releaseRegistryRoleId, functions);
|
335
238
|
|
336
|
-
//
|
239
|
+
// create registry service role
|
337
240
|
RoleId registryServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(REGISTRY());
|
338
241
|
_createRole(
|
339
242
|
registryServiceRoleId,
|
@@ -343,29 +246,56 @@ contract RegistryAdmin is
|
|
343
246
|
maxMemberCount: MAX_NUM_RELEASES,
|
344
247
|
name: REGISTRY_SERVICE_ROLE_NAME}));
|
345
248
|
|
346
|
-
//
|
347
|
-
FunctionInfo[] memory functions;
|
249
|
+
// grant permissions to the registry service role for registry contract
|
348
250
|
functions = new FunctionInfo[](2);
|
349
251
|
functions[0] = toFunction(IRegistry.register.selector, "register");
|
350
252
|
functions[1] = toFunction(IRegistry.registerWithCustomType.selector, "registerWithCustomType");
|
351
253
|
_authorizeTargetFunctions(_registry, registryServiceRoleId, functions);
|
352
|
-
|
353
|
-
// authorize release registry
|
354
|
-
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
355
|
-
functions = new FunctionInfo[](1);
|
356
|
-
functions[0] = toFunction(IRegistry.registerService.selector, "registerService");
|
357
|
-
_authorizeTargetFunctions(_registry, releaseRegistryRoleId, functions);
|
358
254
|
}
|
359
255
|
|
360
256
|
|
361
|
-
function
|
257
|
+
function _setupStakingRoles()
|
362
258
|
private
|
363
259
|
onlyInitializing()
|
364
260
|
{
|
365
|
-
|
366
|
-
|
261
|
+
// create and grant staking contract role
|
262
|
+
RoleId stakingRoleId = RoleIdLib.roleForType(STAKING());
|
263
|
+
_createRole(
|
264
|
+
stakingRoleId,
|
265
|
+
toRole({
|
266
|
+
adminRoleId: ADMIN_ROLE(),
|
267
|
+
roleType: RoleType.Contract,
|
268
|
+
maxMemberCount: 1,
|
269
|
+
name: STAKING_ROLE_NAME}));
|
270
|
+
_grantRoleToAccount(stakingRoleId, _staking);
|
367
271
|
|
368
|
-
// staking
|
272
|
+
// grant permissions to the staking role for staking store contract
|
273
|
+
FunctionInfo[] memory functions;
|
274
|
+
functions = new FunctionInfo[](14);
|
275
|
+
functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
|
276
|
+
functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
|
277
|
+
functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
|
278
|
+
functions[3] = toFunction(StakingStore.increaseReserves.selector, "increaseReserves");
|
279
|
+
functions[4] = toFunction(StakingStore.decreaseReserves.selector, "decreaseReserves");
|
280
|
+
functions[5] = toFunction(StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
281
|
+
functions[6] = toFunction(StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
282
|
+
functions[7] = toFunction(StakingStore.create.selector, "create");
|
283
|
+
functions[8] = toFunction(StakingStore.update.selector, "update");
|
284
|
+
functions[9] = toFunction(StakingStore.increaseStake.selector, "increaseStake");
|
285
|
+
functions[10] = toFunction(StakingStore.restakeRewards.selector, "restakeRewards");
|
286
|
+
functions[11] = toFunction(StakingStore.updateRewards.selector, "updateRewards");
|
287
|
+
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
288
|
+
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
289
|
+
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
290
|
+
|
291
|
+
// grant permissions to the staking role for token handler contract
|
292
|
+
IStaking staking = IStaking(_staking);
|
293
|
+
functions = new FunctionInfo[](2);
|
294
|
+
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
295
|
+
functions[1] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
296
|
+
_authorizeTargetFunctions(address(staking.getTokenHandler()), stakingRoleId, functions);
|
297
|
+
|
298
|
+
// create staking service role
|
369
299
|
RoleId stakingServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(STAKING());
|
370
300
|
_createRole(
|
371
301
|
stakingServiceRoleId,
|
@@ -375,8 +305,8 @@ contract RegistryAdmin is
|
|
375
305
|
maxMemberCount: MAX_NUM_RELEASES,
|
376
306
|
name: STAKING_SERVICE_ROLE_NAME}));
|
377
307
|
|
378
|
-
|
379
|
-
functions = new FunctionInfo[](
|
308
|
+
// grant permissions to the staking service role for staking contract
|
309
|
+
functions = new FunctionInfo[](11);
|
380
310
|
functions[0] = toFunction(IStaking.registerTarget.selector, "registerTarget");
|
381
311
|
functions[1] = toFunction(IStaking.setLockingPeriod.selector, "setLockingPeriod");
|
382
312
|
functions[2] = toFunction(IStaking.setRewardRate.selector, "setRewardRate");
|
@@ -388,11 +318,9 @@ contract RegistryAdmin is
|
|
388
318
|
functions[8] = toFunction(IStaking.restake.selector, "restake");
|
389
319
|
functions[9] = toFunction(IStaking.updateRewards.selector, "updateRewards");
|
390
320
|
functions[10] = toFunction(IStaking.claimRewards.selector, "claimRewards");
|
391
|
-
functions[11] = toFunction(IStaking.collectDipAmount.selector, "collectDipAmount");
|
392
|
-
functions[12] = toFunction(IStaking.transferDipAmount.selector, "transferDipAmount");
|
393
321
|
_authorizeTargetFunctions(_staking, stakingServiceRoleId, functions);
|
394
322
|
|
395
|
-
//
|
323
|
+
// create pool service role
|
396
324
|
RoleId poolServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(POOL());
|
397
325
|
_createRole(
|
398
326
|
poolServiceRoleId,
|
@@ -402,47 +330,15 @@ contract RegistryAdmin is
|
|
402
330
|
maxMemberCount: MAX_NUM_RELEASES,
|
403
331
|
name: POOL_SERVICE_ROLE_NAME}));
|
404
332
|
|
405
|
-
// staking
|
333
|
+
// grant permissions to the pool service role for staking contract
|
406
334
|
functions = new FunctionInfo[](2);
|
407
335
|
functions[0] = toFunction(IStaking.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
408
336
|
functions[1] = toFunction(IStaking.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
409
337
|
_authorizeTargetFunctions(_staking, poolServiceRoleId, functions);
|
410
338
|
|
411
|
-
//
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
toRole({
|
416
|
-
adminRoleId: ADMIN_ROLE(),
|
417
|
-
roleType: RoleType.Contract,
|
418
|
-
maxMemberCount: 1,
|
419
|
-
name: STAKING_ROLE_NAME}));
|
420
|
-
|
421
|
-
functions = new FunctionInfo[](14);
|
422
|
-
functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
|
423
|
-
functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
|
424
|
-
functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
|
425
|
-
functions[3] = toFunction(StakingStore.increaseReserves.selector, "increaseReserves");
|
426
|
-
functions[4] = toFunction(StakingStore.decreaseReserves.selector, "decreaseReserves");
|
427
|
-
functions[5] = toFunction(StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
428
|
-
functions[6] = toFunction(StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
429
|
-
functions[7] = toFunction(StakingStore.create.selector, "create");
|
430
|
-
functions[8] = toFunction(StakingStore.update.selector, "update");
|
431
|
-
functions[9] = toFunction(StakingStore.increaseStake.selector, "increaseStake");
|
432
|
-
functions[10] = toFunction(StakingStore.restakeRewards.selector, "restakeRewards");
|
433
|
-
functions[11] = toFunction(StakingStore.updateRewards.selector, "updateRewards");
|
434
|
-
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
435
|
-
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
436
|
-
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
437
|
-
|
438
|
-
_grantRoleToAccount(stakingRoleId, _staking);
|
439
|
-
|
440
|
-
// grant token handler authorizations
|
441
|
-
IStaking staking = IStaking(_staking);
|
442
|
-
functions = new FunctionInfo[](2);
|
443
|
-
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
444
|
-
functions[1] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
445
|
-
|
446
|
-
_authorizeTargetFunctions(address(staking.getTokenHandler()), stakingRoleId, functions);
|
339
|
+
// grant permissions to public role for staking contract
|
340
|
+
functions = new FunctionInfo[](1);
|
341
|
+
functions[0] = toFunction(Staking.approveTokenHandler.selector, "approveTokenHandler");
|
342
|
+
_authorizeTargetFunctions(_staking, PUBLIC_ROLE(), functions);
|
447
343
|
}
|
448
344
|
}
|
@@ -33,11 +33,11 @@ contract RegistryService is
|
|
33
33
|
initializer()
|
34
34
|
{
|
35
35
|
(
|
36
|
-
address
|
37
|
-
address
|
36
|
+
address authority,
|
37
|
+
address registry
|
38
38
|
) = abi.decode(data, (address, address));
|
39
39
|
|
40
|
-
|
40
|
+
__Service_init(authority, registry, owner);
|
41
41
|
_registerInterface(type(IRegistryService).interfaceId);
|
42
42
|
}
|
43
43
|
|
@@ -31,7 +31,7 @@ contract RegistryServiceManager is
|
|
31
31
|
}
|
32
32
|
|
33
33
|
RegistryService srv = new RegistryService{ salt: salt }();
|
34
|
-
bytes memory data = abi.encode(
|
34
|
+
bytes memory data = abi.encode(authority, registry);
|
35
35
|
IVersionable versionable = initialize(
|
36
36
|
registry,
|
37
37
|
address(srv),
|