@etherisc/gif-next 3.0.0-9a6ca4b-922 → 3.0.0-a511887-523
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/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +168 -53
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +154 -63
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +107 -20
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +114 -59
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +96 -96
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
- 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 +45 -3
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +18 -42
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +158 -67
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +112 -49
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +227 -112
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +184 -93
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +124 -48
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +106 -19
- 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 +187 -76
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +224 -113
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
- 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 +193 -74
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +192 -73
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +200 -81
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +200 -81
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +117 -17
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +118 -31
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +180 -33
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +192 -146
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +167 -56
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +148 -59
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- 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 +158 -67
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
- 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 +128 -52
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +113 -26
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +116 -53
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +184 -69
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +159 -68
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +119 -56
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +199 -84
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +171 -80
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +106 -19
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +131 -55
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +113 -26
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +119 -56
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +25 -20
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +210 -95
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +172 -81
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +165 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +153 -62
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +112 -49
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +211 -96
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +176 -85
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +106 -19
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +106 -19
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +113 -26
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +113 -26
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +124 -48
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +106 -19
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +204 -89
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +169 -78
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +186 -71
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +160 -69
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +112 -49
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +161 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +151 -60
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +219 -185
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
- 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 +314 -96
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +192 -142
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +302 -213
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +162 -55
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +192 -146
- 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 +173 -144
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +124 -31
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +198 -298
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +166 -91
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +24 -44
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +136 -30
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +113 -209
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +124 -48
- 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/INftOwnable.sol/INftOwnable.json +44 -2
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +44 -2
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -17
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +44 -2
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +106 -19
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +112 -49
- 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 +46 -4
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +46 -4
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +116 -16
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +46 -4
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +105 -18
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +132 -39
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +106 -19
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +195 -86
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +156 -71
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +46 -4
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +157 -42
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +149 -58
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +274 -200
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- 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/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- 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/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 +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- 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 +4 -4
- 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 +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- 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/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +109 -40
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
- package/contracts/accounting/AccountingService.sol +2 -2
- package/contracts/accounting/AccountingServiceManager.sol +3 -3
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +19 -16
- package/contracts/authorization/AccessManagerCloneable.sol +24 -48
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +2 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
- package/contracts/distribution/DistributionService.sol +11 -8
- package/contracts/distribution/DistributionServiceManager.sol +3 -3
- package/contracts/instance/Instance.sol +2 -5
- package/contracts/instance/InstanceAdmin.sol +9 -14
- package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
- package/contracts/instance/InstanceService.sol +4 -4
- package/contracts/instance/InstanceServiceManager.sol +3 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
- package/contracts/oracle/Oracle.sol +3 -2
- package/contracts/oracle/OracleService.sol +1 -1
- package/contracts/oracle/OracleServiceManager.sol +3 -3
- package/contracts/pool/BasicPoolAuthorization.sol +5 -4
- package/contracts/pool/BundleService.sol +5 -5
- package/contracts/pool/BundleServiceManager.sol +3 -3
- package/contracts/pool/PoolLib.sol +7 -4
- package/contracts/pool/PoolService.sol +3 -3
- package/contracts/pool/PoolServiceManager.sol +3 -3
- package/contracts/product/ApplicationService.sol +4 -5
- package/contracts/product/ApplicationServiceManager.sol +3 -3
- package/contracts/product/BasicProductAuthorization.sol +5 -4
- package/contracts/product/ClaimService.sol +1 -1
- package/contracts/product/ClaimServiceManager.sol +3 -3
- package/contracts/product/PolicyService.sol +1 -1
- package/contracts/product/PolicyServiceManager.sol +3 -3
- package/contracts/product/PricingService.sol +1 -1
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/RiskService.sol +1 -1
- package/contracts/product/RiskServiceManager.sol +3 -3
- package/contracts/registry/IRegistry.sol +20 -14
- package/contracts/registry/IRegistryService.sol +10 -14
- package/contracts/registry/IRelease.sol +0 -3
- package/contracts/registry/Registry.sol +124 -78
- package/contracts/registry/RegistryAdmin.sol +9 -15
- package/contracts/registry/RegistryAuthorization.sol +2 -1
- package/contracts/registry/RegistryService.sol +96 -78
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +14 -12
- package/contracts/registry/ReleaseRegistry.sol +52 -50
- package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
- package/contracts/shared/Component.sol +24 -17
- package/contracts/shared/ComponentService.sol +28 -101
- package/contracts/shared/ComponentServiceManager.sol +3 -3
- package/contracts/shared/IComponent.sol +5 -3
- package/contracts/shared/IComponentService.sol +0 -14
- package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
- package/contracts/shared/IRegisterable.sol +8 -3
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/IVersionable.sol +19 -0
- package/contracts/shared/InstanceLinkedComponent.sol +33 -78
- package/contracts/shared/NftOwnable.sol +1 -14
- package/contracts/shared/PolicyHolder.sol +2 -2
- package/contracts/shared/Registerable.sol +36 -18
- package/contracts/shared/RegistryLinked.sol +11 -4
- package/contracts/shared/Service.sol +6 -5
- package/contracts/shared/TokenHandler.sol +4 -1
- package/contracts/shared/Versionable.sol +47 -0
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +7 -17
- package/contracts/staking/StakingManager.sol +3 -3
- package/contracts/staking/StakingService.sol +10 -7
- package/contracts/staking/StakingServiceManager.sol +3 -4
- package/contracts/staking/StakingStore.sol +10 -8
- package/contracts/type/Version.sol +15 -16
- package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
- package/contracts/upgradeability/ProxyManager.sol +46 -50
- package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
- package/package.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
@@ -14,13 +14,14 @@ import {AccessAdminLib} from "./AccessAdminLib.sol";
|
|
14
14
|
import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
|
15
15
|
import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
|
16
16
|
import {ContractLib} from "../shared/ContractLib.sol";
|
17
|
-
import {NftId
|
17
|
+
import {NftId} from "../type/NftId.sol";
|
18
18
|
import {ObjectType} from "../type/ObjectType.sol";
|
19
19
|
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
20
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
20
21
|
import {Selector, SelectorSetLib} from "../type/Selector.sol";
|
21
22
|
import {Str, StrLib} from "../type/String.sol";
|
22
23
|
import {TimestampLib} from "../type/Timestamp.sol";
|
23
|
-
import {VersionPart} from "../type/Version.sol";
|
24
|
+
import {VersionPartLib, VersionPart} from "../type/Version.sol";
|
24
25
|
|
25
26
|
|
26
27
|
/**
|
@@ -30,6 +31,7 @@ import {VersionPart} from "../type/Version.sol";
|
|
30
31
|
*/
|
31
32
|
contract AccessAdmin is
|
32
33
|
AccessManagedUpgradeable,
|
34
|
+
RegistryLinked,
|
33
35
|
IAccessAdmin
|
34
36
|
{
|
35
37
|
using EnumerableSet for EnumerableSet.AddressSet;
|
@@ -91,12 +93,16 @@ contract AccessAdmin is
|
|
91
93
|
/// Internally initializes access manager with this admin and creates basic role setup.
|
92
94
|
function initialize(
|
93
95
|
address authority,
|
94
|
-
string memory adminName
|
96
|
+
string memory adminName,
|
97
|
+
VersionPart release
|
95
98
|
)
|
96
99
|
public
|
97
|
-
initializer()
|
98
100
|
{
|
99
|
-
|
101
|
+
if(_getInitializedVersion() != 0) {
|
102
|
+
revert InvalidInitialization();
|
103
|
+
}
|
104
|
+
|
105
|
+
__AccessAdmin_init(authority, adminName, release);
|
100
106
|
}
|
101
107
|
|
102
108
|
|
@@ -106,14 +112,16 @@ contract AccessAdmin is
|
|
106
112
|
/// - this function as well as any completeSetup functions MUST be called in the same tx.
|
107
113
|
function __AccessAdmin_init(
|
108
114
|
address authority,
|
109
|
-
string memory adminName
|
115
|
+
string memory adminName,
|
116
|
+
VersionPart release
|
110
117
|
)
|
111
118
|
internal
|
112
|
-
|
119
|
+
reinitializer(release.toInt())
|
113
120
|
{
|
114
121
|
AccessAdminLib.checkInitParameters(authority, adminName);
|
122
|
+
|
115
123
|
_authority = AccessManagerCloneable(authority);
|
116
|
-
_authority.initialize(address(this));
|
124
|
+
_authority.initialize(address(this), release);
|
117
125
|
|
118
126
|
// delayed additional check for authority after its initialization
|
119
127
|
if (!ContractLib.isAuthority(authority)) {
|
@@ -121,7 +129,7 @@ contract AccessAdmin is
|
|
121
129
|
}
|
122
130
|
|
123
131
|
// effects
|
124
|
-
// set and initialize this
|
132
|
+
// set and initialize this contract as
|
125
133
|
// the admin (ADMIN_ROLE) of the provided authority
|
126
134
|
__AccessManaged_init(authority);
|
127
135
|
|
@@ -129,7 +137,7 @@ contract AccessAdmin is
|
|
129
137
|
_adminName = adminName;
|
130
138
|
|
131
139
|
// set initial linked NFT ID to zero
|
132
|
-
_linkedNftId = NftIdLib.zero();
|
140
|
+
//_linkedNftId = NftIdLib.zero();
|
133
141
|
|
134
142
|
// setup admin role
|
135
143
|
_createRoleUnchecked(
|
@@ -149,12 +157,7 @@ contract AccessAdmin is
|
|
149
157
|
//--- view functions for access admin ---------------------------------------//
|
150
158
|
|
151
159
|
function getRelease() public view virtual returns (VersionPart release) {
|
152
|
-
return
|
153
|
-
}
|
154
|
-
|
155
|
-
|
156
|
-
function getRegistry() public view returns (IRegistry registry) {
|
157
|
-
return _authority.getRegistry();
|
160
|
+
return VersionPartLib.toVersionPart(uint8(_getInitializedVersion()));
|
158
161
|
}
|
159
162
|
|
160
163
|
|
@@ -4,9 +4,9 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
|
5
5
|
import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
|
6
6
|
|
7
|
+
import {IAccessAdmin} from "./IAccessAdmin.sol";
|
7
8
|
import {InitializableERC165} from "../shared/InitializableERC165.sol";
|
8
|
-
import {
|
9
|
-
import {VersionPart} from "../type/Version.sol";
|
9
|
+
import {VersionPartLib, VersionPart} from "../type/Version.sol";
|
10
10
|
|
11
11
|
|
12
12
|
/// @dev An AccessManager based on OpenZeppelin that is cloneable and has a central lock property.
|
@@ -14,8 +14,7 @@ import {VersionPart} from "../type/Version.sol";
|
|
14
14
|
/// Cloned by upon release preparation and instance cloning.
|
15
15
|
contract AccessManagerCloneable is
|
16
16
|
AccessManagerUpgradeable,
|
17
|
-
InitializableERC165
|
18
|
-
RegistryLinked
|
17
|
+
InitializableERC165
|
19
18
|
{
|
20
19
|
error ErrorAccessManagerCallerNotAdmin(address caller);
|
21
20
|
error ErrorAccessManagerRegistryAlreadySet(address registry);
|
@@ -24,7 +23,6 @@ contract AccessManagerCloneable is
|
|
24
23
|
error ErrorAccessManagerTargetAdminLocked(address target);
|
25
24
|
error ErrorAccessManagerCallerAdminLocked(address caller);
|
26
25
|
|
27
|
-
VersionPart private _release;
|
28
26
|
bool private _isLocked;
|
29
27
|
|
30
28
|
|
@@ -36,34 +34,36 @@ contract AccessManagerCloneable is
|
|
36
34
|
_;
|
37
35
|
}
|
38
36
|
|
39
|
-
|
40
|
-
function initialize(address admin)
|
37
|
+
function initialize(address adminAddress, VersionPart release)
|
41
38
|
public
|
42
|
-
|
39
|
+
|
43
40
|
{
|
44
|
-
|
45
|
-
|
41
|
+
if(_getInitializedVersion() != 0) {
|
42
|
+
revert InvalidInitialization();
|
43
|
+
}
|
46
44
|
|
47
|
-
|
45
|
+
AccessManagerCloneable_init(adminAddress, release);
|
48
46
|
}
|
49
47
|
|
50
|
-
|
51
|
-
|
52
|
-
/// Links the access manager to the registry and sets the release version.
|
53
|
-
function completeSetup(
|
54
|
-
address registry,
|
48
|
+
function AccessManagerCloneable_init(
|
49
|
+
address admin,
|
55
50
|
VersionPart release
|
56
51
|
)
|
57
|
-
|
58
|
-
|
59
|
-
reinitializer(uint64(release.toInt()))
|
52
|
+
internal
|
53
|
+
reinitializer(release.toInt())
|
60
54
|
{
|
61
|
-
|
62
|
-
|
55
|
+
if (!release.isValidRelease()) {
|
56
|
+
revert ErrorAccessManagerInvalidRelease(release);
|
57
|
+
}
|
58
|
+
|
59
|
+
__ERC165_init();
|
60
|
+
__AccessManager_init(admin);
|
61
|
+
|
62
|
+
_registerInterface(type(IAccessManager).interfaceId);
|
63
63
|
}
|
64
64
|
|
65
65
|
/// @dev Returns true if the caller is authorized to call the target with the given selector and the manager lock is not set to locked.
|
66
|
-
///
|
66
|
+
/// Return values as in OpenZeppelin AccessManager.
|
67
67
|
/// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
|
68
68
|
function canCall(
|
69
69
|
address caller,
|
@@ -101,10 +101,10 @@ contract AccessManagerCloneable is
|
|
101
101
|
/// For the registry admin release 3 is returned.
|
102
102
|
/// For the release admin and the instance admin the actual release version is returned.
|
103
103
|
function getRelease() external view returns (VersionPart release) {
|
104
|
-
return
|
104
|
+
return VersionPartLib.toVersionPart(
|
105
|
+
uint8(_getInitializedVersion()));
|
105
106
|
}
|
106
107
|
|
107
|
-
|
108
108
|
/// @dev Returns true iff all contracts of this access manager are locked.
|
109
109
|
function isLocked()
|
110
110
|
public
|
@@ -113,28 +113,4 @@ contract AccessManagerCloneable is
|
|
113
113
|
{
|
114
114
|
return _isLocked;
|
115
115
|
}
|
116
|
-
|
117
|
-
|
118
|
-
function _checkAndSetRelease(VersionPart release)
|
119
|
-
internal
|
120
|
-
{
|
121
|
-
if (!release.isValidRelease()) {
|
122
|
-
revert ErrorAccessManagerInvalidRelease(release);
|
123
|
-
}
|
124
|
-
|
125
|
-
_release = release;
|
126
|
-
}
|
127
|
-
|
128
|
-
|
129
|
-
function _checkAndSetRegistry(address registry)
|
130
|
-
internal
|
131
|
-
{
|
132
|
-
// checks
|
133
|
-
if(address(getRegistry()) != address(0)) {
|
134
|
-
revert ErrorAccessManagerRegistryAlreadySet(address(getRegistry()) );
|
135
|
-
}
|
136
|
-
|
137
|
-
// effects
|
138
|
-
__RegistryLinked_init(registry);
|
139
|
-
}
|
140
116
|
}
|
@@ -9,7 +9,7 @@ import {ObjectType} from "../type/ObjectType.sol";
|
|
9
9
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
10
10
|
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
11
11
|
import {Str, StrLib} from "../type/String.sol";
|
12
|
-
|
12
|
+
import {VersionPart} from "../type/Version.sol";
|
13
13
|
|
14
14
|
contract Authorization is
|
15
15
|
ServiceAuthorization,
|
@@ -30,7 +30,7 @@ contract Authorization is
|
|
30
30
|
constructor(
|
31
31
|
string memory mainTargetName,
|
32
32
|
ObjectType domain,
|
33
|
-
|
33
|
+
VersionPart release,
|
34
34
|
string memory commitHash,
|
35
35
|
IAccess.TargetType targetType,
|
36
36
|
bool includeTokenHandler
|
@@ -6,7 +6,6 @@ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessMana
|
|
6
6
|
import {IAccess} from "./IAccess.sol";
|
7
7
|
import {IAuthorization} from "./IAuthorization.sol";
|
8
8
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
9
|
-
import {IRelease} from "../registry/IRelease.sol";
|
10
9
|
|
11
10
|
import {Blocknumber} from "../type/Blocknumber.sol";
|
12
11
|
import {NftId} from "../type/NftId.sol";
|
@@ -19,8 +18,7 @@ import {VersionPart} from "../type/Version.sol";
|
|
19
18
|
interface IAccessAdmin is
|
20
19
|
IAccessManaged,
|
21
20
|
IAccess,
|
22
|
-
IRegistryLinked
|
23
|
-
IRelease
|
21
|
+
IRegistryLinked
|
24
22
|
{
|
25
23
|
|
26
24
|
// roles, targets and functions
|
@@ -139,4 +137,5 @@ interface IAccessAdmin is
|
|
139
137
|
|
140
138
|
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
141
139
|
function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
|
140
|
+
function getRelease() external view returns (VersionPart);
|
142
141
|
}
|
@@ -16,7 +16,7 @@ interface IServiceAuthorization is
|
|
16
16
|
|
17
17
|
error ErrorAuthorizationMainTargetNameEmpty();
|
18
18
|
error ErrorAuthorizationTargetDomainZero();
|
19
|
-
error ErrorAuthorizationReleaseInvalid(
|
19
|
+
error ErrorAuthorizationReleaseInvalid(VersionPart release);
|
20
20
|
error ErrorAuthorizationCommitHashInvalid(string commitHash);
|
21
21
|
|
22
22
|
/// @dev Returns the main domain of the authorization.
|
@@ -30,7 +30,7 @@ contract ServiceAuthorization is
|
|
30
30
|
string public constant ROLE_NAME_SUFFIX = "_Role";
|
31
31
|
|
32
32
|
ObjectType public immutable DOMAIN;
|
33
|
-
|
33
|
+
VersionPart internal immutable _release;
|
34
34
|
string internal _commitHash;
|
35
35
|
|
36
36
|
string internal _mainTargetName;
|
@@ -55,7 +55,7 @@ contract ServiceAuthorization is
|
|
55
55
|
constructor(
|
56
56
|
string memory mainTargetName,
|
57
57
|
ObjectType domain,
|
58
|
-
|
58
|
+
VersionPart release,
|
59
59
|
string memory commitHash
|
60
60
|
)
|
61
61
|
{
|
@@ -68,7 +68,7 @@ contract ServiceAuthorization is
|
|
68
68
|
revert ErrorAuthorizationTargetDomainZero();
|
69
69
|
}
|
70
70
|
|
71
|
-
if (
|
71
|
+
if (!VersionPartLib.isValidRelease(release)) {
|
72
72
|
revert ErrorAuthorizationReleaseInvalid(release);
|
73
73
|
}
|
74
74
|
|
@@ -103,7 +103,7 @@ contract ServiceAuthorization is
|
|
103
103
|
|
104
104
|
/// @inheritdoc IServiceAuthorization
|
105
105
|
function getRelease() public view returns(VersionPart release) {
|
106
|
-
return
|
106
|
+
return _release;
|
107
107
|
}
|
108
108
|
|
109
109
|
/// @inheritdoc IServiceAuthorization
|
@@ -2,15 +2,16 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
-
import {
|
5
|
+
import {IComponent} from "../shared/IInstanceLinkedComponent.sol";
|
6
6
|
|
7
7
|
import {Authorization} from "../authorization/Authorization.sol";
|
8
8
|
import {BasicDistribution} from "./BasicDistribution.sol";
|
9
9
|
import {Distribution} from "./Distribution.sol";
|
10
10
|
import {COMPONENT, DISTRIBUTION} from "../type/ObjectType.sol";
|
11
11
|
import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
12
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
12
13
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
13
|
-
|
14
|
+
import {VersionPartLib} from "../type/Version.sol";
|
14
15
|
|
15
16
|
contract BasicDistributionAuthorization
|
16
17
|
is Authorization
|
@@ -20,7 +21,7 @@ contract BasicDistributionAuthorization
|
|
20
21
|
Authorization(
|
21
22
|
distributionName,
|
22
23
|
DISTRIBUTION(),
|
23
|
-
|
24
|
+
GIF_INITIAL_RELEASE(),
|
24
25
|
COMMIT_HASH,
|
25
26
|
TargetType.Component,
|
26
27
|
true)
|
@@ -60,7 +61,7 @@ contract BasicDistributionAuthorization
|
|
60
61
|
_authorize(functions, BasicDistribution.changeDistributorType.selector, "changeDistributorType");
|
61
62
|
_authorize(functions, BasicDistribution.createReferral.selector, "createReferral");
|
62
63
|
|
63
|
-
_authorize(functions,
|
64
|
+
_authorize(functions, IComponent.withdrawFees.selector, "withdrawFees");
|
64
65
|
_authorize(functions, Distribution.withdrawCommission.selector, "withdrawCommission");
|
65
66
|
}
|
66
67
|
}
|
@@ -44,7 +44,7 @@ contract DistributionService is
|
|
44
44
|
)
|
45
45
|
internal
|
46
46
|
virtual override
|
47
|
-
|
47
|
+
onlyInitializing()
|
48
48
|
{
|
49
49
|
(
|
50
50
|
address authority,
|
@@ -134,11 +134,12 @@ contract DistributionService is
|
|
134
134
|
NftIdLib.zero(),
|
135
135
|
distributionNftId,
|
136
136
|
DISTRIBUTOR(),
|
137
|
+
getRelease(),
|
137
138
|
true, // intercepting property for bundles is defined on pool
|
138
|
-
address(0),
|
139
|
-
|
140
|
-
|
141
|
-
|
139
|
+
address(0)),
|
140
|
+
distributor,
|
141
|
+
""
|
142
|
+
);
|
142
143
|
|
143
144
|
IDistribution.DistributorInfo memory info = IDistribution.DistributorInfo({
|
144
145
|
distributorType: distributorType,
|
@@ -197,9 +198,11 @@ contract DistributionService is
|
|
197
198
|
revert ErrorDistributionServiceExpirationInvalid(expiryAt);
|
198
199
|
}
|
199
200
|
|
200
|
-
|
201
|
-
|
202
|
-
|
201
|
+
{
|
202
|
+
NftId distributorDistributionNftId = getRegistry().getParentNftId(distributorNftId);
|
203
|
+
if (distributorDistributionNftId != distributionNftId) {
|
204
|
+
revert ErrorDistributionServiceDistributorDistributionMismatch(distributorNftId, distributorDistributionNftId, distributionNftId);
|
205
|
+
}
|
203
206
|
}
|
204
207
|
|
205
208
|
{
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {DistributionService} from "./DistributionService.sol";
|
7
7
|
|
@@ -18,13 +18,13 @@ contract DistributionServiceManager is ProxyManager {
|
|
18
18
|
{
|
19
19
|
DistributionService svc = new DistributionService{salt: salt}();
|
20
20
|
bytes memory data = abi.encode(authority, registry);
|
21
|
-
|
21
|
+
IUpgradeable upgradeable = initialize(
|
22
22
|
registry,
|
23
23
|
address(svc),
|
24
24
|
data,
|
25
25
|
salt);
|
26
26
|
|
27
|
-
_distributionService = DistributionService(address(
|
27
|
+
_distributionService = DistributionService(address(upgradeable));
|
28
28
|
}
|
29
29
|
|
30
30
|
//--- view functions ----------------------------------------------------//
|
@@ -26,8 +26,6 @@ contract Instance is
|
|
26
26
|
IInstance,
|
27
27
|
Registerable
|
28
28
|
{
|
29
|
-
bool private _initialized;
|
30
|
-
|
31
29
|
IComponentService internal _componentService;
|
32
30
|
IInstanceService internal _instanceService;
|
33
31
|
|
@@ -60,7 +58,6 @@ contract Instance is
|
|
60
58
|
function initialize(
|
61
59
|
InstanceContracts memory instanceContracts,
|
62
60
|
IRegistry registry,
|
63
|
-
VersionPart release,
|
64
61
|
address initialOwner,
|
65
62
|
bool tokenRegistryDisabled // only disable for testing
|
66
63
|
)
|
@@ -100,12 +97,12 @@ contract Instance is
|
|
100
97
|
_componentService = IComponentService(
|
101
98
|
getRegistry().getServiceAddress(
|
102
99
|
COMPONENT(),
|
103
|
-
|
100
|
+
getRelease()));
|
104
101
|
|
105
102
|
_instanceService = IInstanceService(
|
106
103
|
getRegistry().getServiceAddress(
|
107
104
|
INSTANCE(),
|
108
|
-
|
105
|
+
getRelease()));
|
109
106
|
|
110
107
|
_tokenRegistryDisabled = tokenRegistryDisabled;
|
111
108
|
|
@@ -11,8 +11,9 @@ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
|
11
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
12
|
import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
13
13
|
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
14
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
14
15
|
import {Str} from "../type/String.sol";
|
15
|
-
import {VersionPart} from "../type/Version.sol";
|
16
|
+
import {VersionPartLib, VersionPart} from "../type/Version.sol";
|
16
17
|
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
17
18
|
|
18
19
|
|
@@ -26,13 +27,12 @@ contract InstanceAdmin is
|
|
26
27
|
error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
|
27
28
|
|
28
29
|
IInstance internal _instance;
|
29
|
-
IRegistry internal _registry;
|
30
30
|
|
31
31
|
uint64 internal _customRoleIdNext;
|
32
32
|
|
33
33
|
|
34
34
|
modifier onlyInstanceService() {
|
35
|
-
if (msg.sender !=
|
35
|
+
if (msg.sender != getRegistry().getServiceAddress(INSTANCE(), getRelease())) {
|
36
36
|
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
37
37
|
}
|
38
38
|
_;
|
@@ -43,7 +43,8 @@ contract InstanceAdmin is
|
|
43
43
|
constructor(address accessManager) {
|
44
44
|
initialize(
|
45
45
|
accessManager,
|
46
|
-
"MasterInstanceAdmin"
|
46
|
+
"MasterInstanceAdmin",
|
47
|
+
GIF_INITIAL_RELEASE());
|
47
48
|
}
|
48
49
|
|
49
50
|
|
@@ -53,30 +54,24 @@ contract InstanceAdmin is
|
|
53
54
|
function completeSetup(
|
54
55
|
address registry,
|
55
56
|
address authorization,
|
56
|
-
VersionPart release,
|
57
57
|
address instance
|
58
58
|
)
|
59
59
|
external
|
60
|
-
reinitializer(uint64(release.toInt()))
|
61
60
|
{
|
62
61
|
// checks
|
63
62
|
AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
|
64
63
|
|
65
64
|
// effects
|
66
|
-
AccessManagerCloneable(
|
67
|
-
authority()).completeSetup(
|
68
|
-
registry,
|
69
|
-
release);
|
70
|
-
|
71
65
|
AccessAdminLib.checkAuthorization(
|
72
66
|
address(_authorization),
|
73
67
|
authorization,
|
74
68
|
INSTANCE(), // expectedDomain
|
75
|
-
|
69
|
+
getRelease(), // expectedRelease
|
76
70
|
false, // expectServiceAuthorization
|
77
71
|
true); // checkAlreadyInitialized
|
78
72
|
|
79
|
-
|
73
|
+
__RegistryLinked_init(registry);
|
74
|
+
|
80
75
|
_instance = IInstance(instance);
|
81
76
|
_authorization = IAuthorization(authorization);
|
82
77
|
_customRoleIdNext = 0;
|
@@ -105,7 +100,7 @@ contract InstanceAdmin is
|
|
105
100
|
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
106
101
|
ObjectType serviceDomain = serviceDomains[i];
|
107
102
|
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
108
|
-
address service =
|
103
|
+
address service = getRegistry().getServiceAddress(serviceDomain, getRelease());
|
109
104
|
|
110
105
|
_grantRoleToAccount(
|
111
106
|
serviceRoleId,
|
@@ -13,7 +13,9 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
13
13
|
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
14
14
|
import {ProductStore} from "../instance/ProductStore.sol";
|
15
15
|
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
16
|
-
import {
|
16
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
17
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
18
|
+
import {VersionPartLib} from "../type/Version.sol";
|
17
19
|
|
18
20
|
|
19
21
|
contract InstanceAuthorizationV3
|
@@ -27,7 +29,7 @@ contract InstanceAuthorizationV3
|
|
27
29
|
Authorization(
|
28
30
|
INSTANCE_TARGET_NAME,
|
29
31
|
INSTANCE(),
|
30
|
-
|
32
|
+
GIF_INITIAL_RELEASE(),
|
31
33
|
COMMIT_HASH,
|
32
34
|
TargetType.Instance,
|
33
35
|
false)
|
@@ -206,7 +206,6 @@ contract InstanceService is
|
|
206
206
|
instanceAdmin.completeSetup(
|
207
207
|
address(getRegistry()),
|
208
208
|
address(instanceAuthorization),
|
209
|
-
getRelease(),
|
210
209
|
address(instance));
|
211
210
|
|
212
211
|
// hard checks for newly cloned instance
|
@@ -349,6 +348,7 @@ contract InstanceService is
|
|
349
348
|
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
350
349
|
if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
|
351
350
|
|
351
|
+
// TODO check instance cluster release
|
352
352
|
if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
|
353
353
|
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
354
354
|
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
@@ -419,7 +419,8 @@ contract InstanceService is
|
|
419
419
|
|
420
420
|
clonedAdmin.initialize(
|
421
421
|
address(clonedAccessManager),
|
422
|
-
"InstanceAdmin"
|
422
|
+
"InstanceAdmin",
|
423
|
+
getRelease());
|
423
424
|
}
|
424
425
|
|
425
426
|
|
@@ -446,7 +447,6 @@ contract InstanceService is
|
|
446
447
|
instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
|
447
448
|
}),
|
448
449
|
getRegistry(),
|
449
|
-
getRelease(),
|
450
450
|
instanceOwner,
|
451
451
|
allowAnyToken);
|
452
452
|
|
@@ -461,7 +461,7 @@ contract InstanceService is
|
|
461
461
|
)
|
462
462
|
internal
|
463
463
|
virtual override
|
464
|
-
|
464
|
+
onlyInitializing()
|
465
465
|
{
|
466
466
|
(
|
467
467
|
address authority,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {InstanceService} from "./InstanceService.sol";
|
7
7
|
|
@@ -18,13 +18,13 @@ contract InstanceServiceManager is ProxyManager {
|
|
18
18
|
{
|
19
19
|
InstanceService svc = new InstanceService{salt: salt}();
|
20
20
|
bytes memory data = abi.encode(authority, registry);
|
21
|
-
|
21
|
+
IUpgradeable upgradeable = initialize(
|
22
22
|
registry,
|
23
23
|
address(svc),
|
24
24
|
data,
|
25
25
|
salt);
|
26
26
|
|
27
|
-
_instanceService = InstanceService(address(
|
27
|
+
_instanceService = InstanceService(address(upgradeable));
|
28
28
|
}
|
29
29
|
|
30
30
|
//--- view functions ----------------------------------------------------//
|
@@ -8,6 +8,8 @@ import {IAccess} from "../authorization/IAccess.sol";
|
|
8
8
|
import {IOracle} from "./IOracle.sol";
|
9
9
|
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
10
10
|
import {RoleId} from "../type/RoleId.sol";
|
11
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
12
|
+
import {VersionPartLib} from "../type/Version.sol";
|
11
13
|
|
12
14
|
|
13
15
|
contract BasicOracleAuthorization
|
@@ -21,7 +23,7 @@ contract BasicOracleAuthorization
|
|
21
23
|
Authorization(
|
22
24
|
componentName,
|
23
25
|
ORACLE(),
|
24
|
-
|
26
|
+
GIF_INITIAL_RELEASE(),
|
25
27
|
commitHash,
|
26
28
|
TargetType.Component,
|
27
29
|
false)
|
@@ -5,10 +5,11 @@ import {Amount} from "../type/Amount.sol";
|
|
5
5
|
import {COMPONENT, PRODUCT, ORACLE} from "../type/ObjectType.sol";
|
6
6
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
7
|
import {IComponentService} from "../shared/IComponentService.sol";
|
8
|
-
import {
|
8
|
+
import {IComponent} from "../shared/IComponent.sol";
|
9
9
|
import {IOracleComponent} from "./IOracleComponent.sol";
|
10
10
|
import {IOracleService} from "./IOracleService.sol";
|
11
11
|
import {NftId} from "../type/NftId.sol";
|
12
|
+
import {Component} from "../shared/Component.sol";
|
12
13
|
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
13
14
|
import {RequestId} from "../type/RequestId.sol";
|
14
15
|
import {Timestamp} from "../type/Timestamp.sol";
|
@@ -66,7 +67,7 @@ abstract contract Oracle is
|
|
66
67
|
function withdrawFees(Amount amount)
|
67
68
|
external
|
68
69
|
virtual
|
69
|
-
override(
|
70
|
+
override(IComponent, Component)
|
70
71
|
onlyOwner()
|
71
72
|
restricted()
|
72
73
|
returns (Amount)
|