@etherisc/gif-next 0.0.2-edd8f00-238 → 0.0.2-edff8e2-153
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 +37 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +95 -252
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +10 -10
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1548 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +46 -228
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +269 -90
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +83 -55
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +100 -132
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +134 -16
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +6 -19
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +32 -44
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +35 -96
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +132 -140
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -125
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +35 -59
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +79 -207
- 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 +6 -6
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1185 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +43 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +43 -96
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +32 -32
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +34 -34
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1470 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +437 -61
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +119 -43
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +224 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -252
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +189 -54
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +44 -353
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +289 -90
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +68 -36
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +32 -32
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +34 -34
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +72 -72
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +54 -54
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +86 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +32 -42
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +169 -52
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +59 -43
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +63 -58
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +47 -47
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +32 -153
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +20 -20
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +28 -28
- 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 +50 -46
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +0 -183
- 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 +101 -73
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +234 -389
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -27
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +6 -29
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +24 -16
- 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/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +271 -86
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +77 -61
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +153 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +32 -0
- 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/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +32 -53
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +4 -77
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +0 -23
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -6
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
- 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/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +42 -32
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -44
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +6 -29
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +40 -40
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +26 -26
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +31 -31
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +135 -153
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +27 -22
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- 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/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -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 +55 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +117 -14
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/{shared → authorization}/AccessAdmin.sol +135 -303
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +218 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/{shared → authorization}/IAccessAdmin.sol +22 -54
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/{registry → authorization}/IServiceAuthorization.sol +5 -5
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/{registry → authorization}/ServiceAuthorization.sol +17 -17
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +144 -110
- package/contracts/distribution/DistributionService.sol +71 -31
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +25 -39
- package/contracts/distribution/IDistributionService.sol +17 -1
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +8 -9
- package/contracts/instance/IInstanceService.sol +13 -18
- package/contracts/instance/Instance.sol +61 -70
- package/contracts/instance/InstanceAdmin.sol +202 -267
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +30 -9
- package/contracts/instance/InstanceService.sol +74 -70
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +7 -2
- package/contracts/instance/base/ObjectLifecycle.sol +55 -45
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -12
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -7
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +16 -0
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/Oracle.sol +72 -51
- package/contracts/oracle/OracleServiceManager.sol +2 -5
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +182 -36
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +31 -4
- package/contracts/pool/IPoolComponent.sol +6 -60
- package/contracts/pool/IPoolService.sol +15 -16
- package/contracts/pool/Pool.sol +166 -137
- package/contracts/pool/PoolService.sol +157 -73
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +12 -36
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +52 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +7 -32
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IPolicyService.sol +8 -2
- package/contracts/product/IProductComponent.sol +7 -9
- package/contracts/product/PolicyService.sol +72 -18
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +122 -88
- package/contracts/product/ProductService.sol +7 -32
- package/contracts/product/ProductServiceManager.sol +2 -5
- package/contracts/registry/IRegistry.sol +26 -16
- package/contracts/registry/IRegistryService.sol +6 -6
- package/contracts/registry/Registry.sol +81 -87
- package/contracts/registry/RegistryAdmin.sol +118 -86
- package/contracts/registry/RegistryService.sol +4 -18
- package/contracts/registry/RegistryServiceManager.sol +2 -2
- package/contracts/registry/ReleaseLifecycle.sol +8 -9
- package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +97 -135
- package/contracts/registry/ServiceAuthorizationV3.sol +14 -14
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +13 -14
- package/contracts/shared/ComponentService.sol +101 -70
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/IComponentService.sol +15 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -0
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +47 -19
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +16 -10
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +2 -2
- package/contracts/shared/PolicyHolder.sol +2 -5
- package/contracts/shared/Service.sol +3 -4
- package/contracts/staking/IStaking.sol +1 -2
- package/contracts/staking/IStakingService.sol +12 -5
- package/contracts/staking/Staking.sol +20 -17
- package/contracts/staking/StakingLifecycle.sol +5 -6
- package/contracts/staking/StakingManager.sol +2 -6
- package/contracts/staking/StakingReader.sol +12 -16
- package/contracts/staking/StakingServiceManager.sol +2 -2
- package/contracts/staking/StakingStore.sol +12 -22
- package/contracts/type/Amount.sol +12 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ObjectType.sol +37 -7
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RoleId.sol +55 -82
- package/contracts/type/Seconds.sol +13 -1
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +34 -9
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +3 -4
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +5 -3
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1234
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -190
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
- package/contracts/shared/AccessManagerCustom.sol +0 -741
- package/contracts/shared/AccessManagerExtended.sol +0 -481
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,32 +1,18 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {ERC165Checker} from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
|
5
|
-
// import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
6
|
-
|
7
|
-
import {IRegistry} from "./IRegistry.sol";
|
8
|
-
import {IInstance} from "../instance/IInstance.sol";
|
9
|
-
|
10
4
|
import {IComponent} from "../../contracts/shared/IComponent.sol";
|
5
|
+
import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
|
6
|
+
import {IInstance} from "../instance/IInstance.sol";
|
11
7
|
import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
|
12
8
|
import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
|
13
|
-
import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
|
14
|
-
|
15
|
-
import {IVersionable} from "../../contracts/shared/IVersionable.sol";
|
16
|
-
import {Versionable} from "../../contracts/shared/Versionable.sol";
|
17
9
|
import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
|
10
|
+
import {IRegistry} from "./IRegistry.sol";
|
11
|
+
import {IRegistryService} from "./IRegistryService.sol";
|
18
12
|
|
19
|
-
import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/type/RoleId.sol";
|
20
13
|
import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE} from "../../contracts/type/ObjectType.sol";
|
21
|
-
import {StateId, ACTIVE, PAUSED} from "../../contracts/type/StateId.sol";
|
22
14
|
import {NftId, NftIdLib} from "../../contracts/type/NftId.sol";
|
23
|
-
import {Fee, FeeLib} from "../../contracts/type/Fee.sol";
|
24
|
-
import {Version, VersionPart, VersionLib} from "../../contracts/type/Version.sol";
|
25
|
-
|
26
15
|
import {Service} from "../shared/Service.sol";
|
27
|
-
import {IService} from "../shared/IService.sol";
|
28
|
-
import {IRegistryService} from "./IRegistryService.sol";
|
29
|
-
import {Registry} from "./Registry.sol";
|
30
16
|
|
31
17
|
contract RegistryService is
|
32
18
|
Service,
|
@@ -1,8 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IVersionable} from "../
|
5
|
-
import {ProxyManager} from "../
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {RegistryService} from "./RegistryService.sol";
|
7
7
|
|
8
8
|
contract RegistryServiceManager is
|
@@ -13,16 +13,15 @@ contract ReleaseLifecycle is
|
|
13
13
|
}
|
14
14
|
|
15
15
|
function _setupLifecycle()
|
16
|
-
|
16
|
+
internal
|
17
|
+
override
|
17
18
|
{
|
18
|
-
|
19
|
+
setInitialState(RELEASE(), SCHEDULED());
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
_isValidTransition[RELEASE()][PAUSED()][CLOSED()] = true;
|
26
|
-
//_isValidTransition[RELEASE()][ACTIVE()][FREE()] = true;
|
21
|
+
setStateTransition(RELEASE(), SCHEDULED(), DEPLOYING());
|
22
|
+
setStateTransition(RELEASE(), DEPLOYING(), DEPLOYING());
|
23
|
+
setStateTransition(RELEASE(), DEPLOYING(), ACTIVE());
|
24
|
+
setStateTransition(RELEASE(), ACTIVE(), PAUSED());
|
25
|
+
setStateTransition(RELEASE(), PAUSED(), ACTIVE());
|
27
26
|
}
|
28
27
|
}
|
@@ -18,7 +18,6 @@ import {StateId, INITIAL, SCHEDULED, DEPLOYING, ACTIVE, PAUSED, CLOSED} from "..
|
|
18
18
|
import {Version, VersionLib, VersionPart, VersionPartLib} from "../type/Version.sol";
|
19
19
|
|
20
20
|
import {IService} from "../shared/IService.sol";
|
21
|
-
import {AccessManagerExtendedWithDisableInitializeable} from "../shared/AccessManagerExtendedWithDisableInitializeable.sol";
|
22
21
|
import {ILifecycle} from "../shared/ILifecycle.sol";
|
23
22
|
import {INftOwnable} from "../shared/INftOwnable.sol";
|
24
23
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
@@ -26,15 +25,14 @@ import {IRegisterable} from "../shared/IRegisterable.sol";
|
|
26
25
|
import {IRegistry} from "./IRegistry.sol";
|
27
26
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
28
27
|
import {IRegistryService} from "./IRegistryService.sol";
|
29
|
-
import {IServiceAuthorization} from "
|
30
|
-
import {IAccessAdmin} from "../
|
28
|
+
import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
|
29
|
+
import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
|
31
30
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
32
31
|
import {Registry} from "./Registry.sol";
|
33
32
|
import {TokenRegistry} from "./TokenRegistry.sol";
|
34
33
|
import {ReleaseLifecycle} from "./ReleaseLifecycle.sol";
|
35
34
|
|
36
|
-
|
37
|
-
contract ReleaseManager is
|
35
|
+
contract ReleaseRegistry is
|
38
36
|
AccessManaged,
|
39
37
|
ReleaseLifecycle,
|
40
38
|
IRegistryLinked
|
@@ -43,66 +41,65 @@ contract ReleaseManager is
|
|
43
41
|
|
44
42
|
uint256 public constant INITIAL_GIF_VERSION = 3;
|
45
43
|
|
46
|
-
event LogReleaseCreation(VersionPart version, bytes32 salt
|
44
|
+
event LogReleaseCreation(VersionPart version, bytes32 salt);
|
47
45
|
event LogReleaseActivation(VersionPart version);
|
48
46
|
event LogReleaseDisabled(VersionPart version);
|
49
47
|
event LogReleaseEnabled(VersionPart version);
|
50
|
-
event LogReleaseClosed(VersionPart version);
|
51
48
|
|
52
49
|
// constructor
|
53
|
-
error
|
50
|
+
error ErrorReleaseRegistryNotRegistry(Registry registry);
|
54
51
|
|
55
52
|
// createNextRelease
|
56
|
-
error
|
53
|
+
error ErrorReleaseRegistryReleaseCreationDisallowed(VersionPart version, StateId currentStateId);
|
57
54
|
|
58
55
|
// prepareRelease
|
59
|
-
error
|
60
|
-
error
|
61
|
-
error
|
62
|
-
error
|
56
|
+
error ErrorReleaseRegistryReleasePreparationDisallowed(VersionPart version, StateId currentStateId);
|
57
|
+
error ErrorReleaseRegistryReleaseAlreadyPrepared(VersionPart version, StateId currentStateId);
|
58
|
+
error ErrorReleaseRegistryVersionMismatch(VersionPart expected, VersionPart actual);
|
59
|
+
error ErrorReleaseRegistryNoDomains(VersionPart version);
|
63
60
|
|
64
61
|
// registerService
|
65
|
-
error
|
66
|
-
error
|
67
|
-
error
|
68
|
-
error
|
69
|
-
error
|
62
|
+
error ErrorReleaseRegistryNoServiceRegistrationExpected();
|
63
|
+
error ErrorReleaseRegistryServiceRegistrationDisallowed(StateId currentStateId);
|
64
|
+
error ErrorReleaseRegistryServiceDomainMismatch(ObjectType expectedDomain, ObjectType actualDomain);
|
65
|
+
error ErrorReleaseRegistryNotService(address notService);
|
66
|
+
error ErrorReleaseRegistryServiceAddressMismatch(address expected, address actual);
|
70
67
|
|
71
68
|
// activateNextRelease
|
72
|
-
error
|
73
|
-
error
|
74
|
-
error
|
75
|
-
error
|
69
|
+
error ErrorReleaseRegistryReleaseActivationDisallowed(VersionPart releaseVersion, StateId currentStateId);
|
70
|
+
error ErrorReleaseRegistryReleaseNotCreated(VersionPart releaseVersion);
|
71
|
+
error ErrorReleaseRegistryReleaseRegistrationNotFinished(VersionPart releaseVersion, uint awaitingRegistration);
|
72
|
+
error ErrorReleaseRegistryReleaseAlreadyActivated(VersionPart releaseVersion);
|
76
73
|
|
77
74
|
// disableRelease
|
78
|
-
error
|
79
|
-
error
|
75
|
+
error ErrorReleaseRegistryReleaseNotActivated(VersionPart releaseVersion);
|
76
|
+
error ErrorReleaseRegistryReleaseAlreadyDisabled(VersionPart releaseVersion);
|
80
77
|
|
81
78
|
// _verifyService
|
82
|
-
error
|
83
|
-
error
|
79
|
+
error ErrorReleaseRegistryServiceReleaseAuthorityMismatch(IService service, address serviceAuthority, address releaseAuthority);
|
80
|
+
error ErrorReleaseRegistryServiceReleaseVersionMismatch(IService service, VersionPart serviceVersion, VersionPart releaseVersion);
|
84
81
|
|
85
82
|
// _verifyServiceInfo
|
86
|
-
error
|
87
|
-
error
|
88
|
-
error
|
89
|
-
error
|
90
|
-
error
|
91
|
-
error
|
83
|
+
error ErrorReleaseRegistryServiceInfoAddressInvalid(IService service, address expected);
|
84
|
+
error ErrorReleaseRegistryServiceInfoInterceptorInvalid(IService service, bool isInterceptor);
|
85
|
+
error ErrorReleaseRegistryServiceInfoTypeInvalid(IService service, ObjectType expected, ObjectType found);
|
86
|
+
error ErrorReleaseRegistryServiceInfoOwnerInvalid(IService service, address expected, address found);
|
87
|
+
error ErrorReleaseRegistryServiceSelfRegistration(IService service);
|
88
|
+
error ErrorReleaseRegistryServiceOwnerRegistered(IService service, address owner);
|
92
89
|
|
93
90
|
Seconds public constant MIN_DISABLE_DELAY = Seconds.wrap(60 * 24 * 365); // 1 year
|
94
91
|
|
95
|
-
RegistryAdmin
|
96
|
-
|
97
|
-
|
92
|
+
RegistryAdmin public immutable _admin;
|
93
|
+
Registry public immutable _registry;
|
94
|
+
IRegisterable private _staking;
|
95
|
+
address private _stakingOwner;
|
98
96
|
|
99
|
-
// TODO remove once it's clear that release authority will always be registry authority
|
100
|
-
mapping(VersionPart version => address authority) internal _releaseAccessManager;
|
101
97
|
mapping(VersionPart version => IRegistry.ReleaseInfo info) internal _releaseInfo;
|
102
|
-
mapping(address registryService => VersionPart version) _releaseVersionByAddress;
|
103
|
-
|
104
98
|
mapping(VersionPart version => IServiceAuthorization authz) internal _serviceAuthorization;
|
105
99
|
|
100
|
+
// TODO check where/why this is used
|
101
|
+
mapping(address registryService => VersionPart version) _releaseVersionByAddress;
|
102
|
+
|
106
103
|
VersionPart private _initial;// first active version
|
107
104
|
VersionPart internal _latest; // latest active version
|
108
105
|
VersionPart internal _next; // version to create and activate
|
@@ -116,7 +113,7 @@ contract ReleaseManager is
|
|
116
113
|
{
|
117
114
|
// TODO move this part to RegistryLinked constructor
|
118
115
|
if(!_isRegistry(address(registry))) {
|
119
|
-
revert
|
116
|
+
revert ErrorReleaseRegistryNotRegistry(registry);
|
120
117
|
}
|
121
118
|
|
122
119
|
setAuthority(registry.getAuthority());
|
@@ -126,11 +123,6 @@ contract ReleaseManager is
|
|
126
123
|
|
127
124
|
_initial = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION);
|
128
125
|
_next = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION - 1);
|
129
|
-
|
130
|
-
//AccessManagerExtendedWithDisableInitializeable masterReleaseAccessManager = new AccessManagerExtendedWithDisableInitializeable();
|
131
|
-
//masterReleaseAccessManager.initialize(address(this));
|
132
|
-
//masterReleaseAccessManager.disable();
|
133
|
-
//_releaseAccessManagerCodeAddress = address(masterReleaseAccessManager);
|
134
126
|
}
|
135
127
|
|
136
128
|
/// @dev skips previous release if was not activated
|
@@ -160,50 +152,46 @@ contract ReleaseManager is
|
|
160
152
|
bytes32 releaseSalt
|
161
153
|
)
|
162
154
|
{
|
163
|
-
(
|
164
|
-
|
165
|
-
uint serviceDomainsCount
|
166
|
-
) = serviceAuthorization.getRelease();
|
155
|
+
authority = _admin.authority();
|
156
|
+
version = _next;
|
167
157
|
|
168
|
-
//
|
169
|
-
|
170
|
-
|
158
|
+
// ensures unique salt
|
159
|
+
// TODO CreateX have clones capability also
|
160
|
+
// what would releaseSalt look like if used with CreateX in pemissioned mode?
|
161
|
+
releaseSalt = keccak256(
|
162
|
+
bytes.concat(
|
163
|
+
bytes32(version.toInt()),
|
164
|
+
salt));
|
165
|
+
|
166
|
+
// verify release in state SCHEDULED
|
167
|
+
if (!isValidTransition(RELEASE(), _state[version], DEPLOYING())) {
|
168
|
+
revert ErrorReleaseRegistryReleasePreparationDisallowed(version, _state[version]);
|
171
169
|
}
|
172
170
|
|
173
|
-
|
174
|
-
|
175
|
-
|
171
|
+
_state[version] = DEPLOYING();
|
172
|
+
|
173
|
+
// verify authorizaion contract release matches with expected version
|
174
|
+
VersionPart releaseVersion = serviceAuthorization.getRelease();
|
175
|
+
if (releaseVersion != version) {
|
176
|
+
revert ErrorReleaseRegistryVersionMismatch(version, releaseVersion);
|
176
177
|
}
|
177
178
|
|
178
|
-
version = _next;
|
179
|
-
StateId state = _state[version];
|
180
|
-
StateId newState = DEPLOYING();
|
181
179
|
|
182
|
-
//
|
183
|
-
|
184
|
-
|
180
|
+
// sanity check to ensure service domain list is not empty
|
181
|
+
uint256 serviceDomainsCount = serviceAuthorization.getServiceDomains().length;
|
182
|
+
if (serviceDomainsCount == 0) {
|
183
|
+
revert ErrorReleaseRegistryNoDomains(version);
|
185
184
|
}
|
186
185
|
|
187
186
|
// verify prepareNextRelease is only called once per release
|
188
187
|
if(_servicesToRegister > 0) {
|
189
|
-
revert
|
188
|
+
revert ErrorReleaseRegistryReleaseAlreadyPrepared(version, _state[version]);
|
190
189
|
}
|
191
190
|
|
192
|
-
// ensures unique salt
|
193
|
-
// TODO CreateX have clones capability also
|
194
|
-
// what would releaseSalt look like if used with CreateX in pemissioned mode?
|
195
|
-
releaseSalt = keccak256(
|
196
|
-
bytes.concat(
|
197
|
-
bytes32(version.toInt()),
|
198
|
-
salt));
|
199
|
-
|
200
|
-
authority = _admin.authority();
|
201
|
-
_serviceAuthorization[_next] = serviceAuthorization;
|
202
|
-
_releaseAccessManager[_next] = authority;
|
203
191
|
_servicesToRegister = serviceDomainsCount;
|
204
|
-
|
192
|
+
_serviceAuthorization[version] = serviceAuthorization;
|
205
193
|
|
206
|
-
emit LogReleaseCreation(version, releaseSalt
|
194
|
+
emit LogReleaseCreation(version, releaseSalt);
|
207
195
|
}
|
208
196
|
|
209
197
|
// TODO this function can have 0 args -> use stored addresses from prepareNextRelease()
|
@@ -214,17 +202,18 @@ contract ReleaseManager is
|
|
214
202
|
{
|
215
203
|
VersionPart releaseVersion = _next;
|
216
204
|
StateId state = _state[releaseVersion];
|
217
|
-
StateId newState = DEPLOYING();
|
218
205
|
|
219
206
|
// verify release in state DEPLOYING
|
220
|
-
if (!isValidTransition(RELEASE(), state,
|
207
|
+
if (!isValidTransition(RELEASE(), state, DEPLOYING())) {
|
221
208
|
// TOOD name must represent failed state transition
|
222
|
-
revert
|
209
|
+
revert ErrorReleaseRegistryServiceRegistrationDisallowed(state);
|
223
210
|
}
|
224
211
|
|
212
|
+
_state[releaseVersion] = DEPLOYING();
|
213
|
+
|
225
214
|
// not all services are registered
|
226
215
|
if (_servicesToRegister == _registeredServices) {
|
227
|
-
revert
|
216
|
+
revert ErrorReleaseRegistryNoServiceRegistrationExpected();
|
228
217
|
}
|
229
218
|
|
230
219
|
// service can work with release manager
|
@@ -237,20 +226,12 @@ contract ReleaseManager is
|
|
237
226
|
// service domain matches defined in release config
|
238
227
|
ObjectType expectedDomain = _serviceAuthorization[releaseVersion].getServiceDomain(_registeredServices);
|
239
228
|
if (serviceDomain != expectedDomain) {
|
240
|
-
revert
|
229
|
+
revert ErrorReleaseRegistryServiceDomainMismatch(expectedDomain, serviceDomain);
|
241
230
|
}
|
242
231
|
|
243
|
-
//
|
244
|
-
|
245
|
-
|
246
|
-
if(address(service) != expectedAddress) {
|
247
|
-
//revert ErrorReleaseManagerServiceAddressMismatch(expectedAddress, address(service));
|
248
|
-
}*/
|
249
|
-
|
250
|
-
// checked in registry
|
251
|
-
_releaseInfo[releaseVersion].domains.push(serviceDomain);
|
252
|
-
|
253
|
-
_state[releaseVersion] = newState;
|
232
|
+
// register service with registry
|
233
|
+
nftId = _registry.registerService(info, serviceVersion, serviceDomain);
|
234
|
+
service.linkToRegisteredNftId();
|
254
235
|
_registeredServices++;
|
255
236
|
|
256
237
|
// setup service authorization
|
@@ -264,10 +245,6 @@ contract ReleaseManager is
|
|
264
245
|
// TODO rename to grantServiceDomainRole()
|
265
246
|
_admin.grantServiceRoleForAllVersions(service, serviceDomain);
|
266
247
|
}
|
267
|
-
|
268
|
-
// register service with registry
|
269
|
-
nftId = _registry.registerService(info, serviceVersion, serviceDomain);
|
270
|
-
service.linkToRegisteredNftId();
|
271
248
|
}
|
272
249
|
|
273
250
|
|
@@ -281,18 +258,18 @@ contract ReleaseManager is
|
|
281
258
|
|
282
259
|
// verify release in state DEPLOYING
|
283
260
|
if (!isValidTransition(RELEASE(), state, newState)) {
|
284
|
-
revert
|
261
|
+
revert ErrorReleaseRegistryReleaseActivationDisallowed(version, state);
|
285
262
|
}
|
286
263
|
|
287
264
|
// release fully deployed
|
288
265
|
if(_registeredServices < _servicesToRegister) {
|
289
|
-
revert
|
266
|
+
revert ErrorReleaseRegistryReleaseRegistrationNotFinished(version, _servicesToRegister - _registeredServices);
|
290
267
|
}
|
291
268
|
|
292
269
|
// release exists, registry service MUST exist
|
293
270
|
address service = _registry.getServiceAddress(REGISTRY(), version);
|
294
271
|
if(service == address(0)) {
|
295
|
-
revert
|
272
|
+
revert ErrorReleaseRegistryReleaseNotCreated(version);
|
296
273
|
}
|
297
274
|
|
298
275
|
_latest = version;
|
@@ -314,7 +291,7 @@ contract ReleaseManager is
|
|
314
291
|
|
315
292
|
// verify release in state ACTIVE
|
316
293
|
if (!isValidTransition(RELEASE(), state, newState)) {
|
317
|
-
revert
|
294
|
+
revert ErrorReleaseRegistryReleaseActivationDisallowed(version, state);
|
318
295
|
}
|
319
296
|
|
320
297
|
// TODO come up with a substitute
|
@@ -337,7 +314,7 @@ contract ReleaseManager is
|
|
337
314
|
|
338
315
|
// verify release in state PAUSED
|
339
316
|
if (!isValidTransition(RELEASE(), state, newState)) {
|
340
|
-
revert
|
317
|
+
revert ErrorReleaseRegistryReleaseActivationDisallowed(version, state);
|
341
318
|
}
|
342
319
|
|
343
320
|
// TODO come up with a substitute
|
@@ -348,23 +325,6 @@ contract ReleaseManager is
|
|
348
325
|
|
349
326
|
emit LogReleaseEnabled(version);
|
350
327
|
}
|
351
|
-
/// @dev permanently disable release
|
352
|
-
function closeRelease(VersionPart version)
|
353
|
-
external
|
354
|
-
restricted // GIF_ADMIN_ROLE
|
355
|
-
{
|
356
|
-
StateId state = _state[version];
|
357
|
-
StateId newState = CLOSED();
|
358
|
-
|
359
|
-
// verify release in state PAUSED
|
360
|
-
if (!isValidTransition(RELEASE(), state, newState)) {
|
361
|
-
revert ErrorReleaseManagerReleaseActivationDisallowed(version, state);
|
362
|
-
}
|
363
|
-
|
364
|
-
_state[version] = newState;
|
365
|
-
|
366
|
-
emit LogReleaseClosed(version);
|
367
|
-
}
|
368
328
|
|
369
329
|
//--- view functions ----------------------------------------------------//
|
370
330
|
|
@@ -382,7 +342,7 @@ contract ReleaseManager is
|
|
382
342
|
}
|
383
343
|
|
384
344
|
function isActiveRelease(VersionPart version) public view returns(bool) {
|
385
|
-
return
|
345
|
+
return _state[version] == ACTIVE();
|
386
346
|
}
|
387
347
|
|
388
348
|
function getReleaseInfo(VersionPart version) external view returns(IRegistry.ReleaseInfo memory) {
|
@@ -409,12 +369,14 @@ contract ReleaseManager is
|
|
409
369
|
return _servicesToRegister - _registeredServices;
|
410
370
|
}
|
411
371
|
|
412
|
-
|
413
|
-
|
414
|
-
|
372
|
+
function getServiceAuthorization(VersionPart version)
|
373
|
+
external
|
374
|
+
view
|
375
|
+
returns (IServiceAuthorization serviceAuthorization)
|
376
|
+
{
|
377
|
+
return _serviceAuthorization[version];
|
415
378
|
}
|
416
379
|
|
417
|
-
// TODO token registry knows nothing about adfmin, only registry
|
418
380
|
function getRegistryAdmin() external view returns (address) {
|
419
381
|
return address(_admin);
|
420
382
|
}
|
@@ -437,7 +399,7 @@ contract ReleaseManager is
|
|
437
399
|
)
|
438
400
|
{
|
439
401
|
if(!service.supportsInterface(type(IService).interfaceId)) {
|
440
|
-
revert
|
402
|
+
revert ErrorReleaseRegistryNotService(address(service));
|
441
403
|
}
|
442
404
|
|
443
405
|
address owner = msg.sender;
|
@@ -449,18 +411,18 @@ contract ReleaseManager is
|
|
449
411
|
_verifyServiceInfo(service, serviceInfo, owner);
|
450
412
|
|
451
413
|
VersionPart releaseVersion = _next; // never 0
|
452
|
-
address
|
414
|
+
address expectedAuthority = _admin.authority(); // can be zero if registering service when release is not created
|
453
415
|
|
454
416
|
// IMPORTANT: can not guarantee service access is actually controlled by authority
|
455
|
-
if(serviceAuthority !=
|
456
|
-
revert
|
417
|
+
if(serviceAuthority != expectedAuthority) {
|
418
|
+
revert ErrorReleaseRegistryServiceReleaseAuthorityMismatch(
|
457
419
|
service,
|
458
420
|
serviceAuthority,
|
459
|
-
|
421
|
+
expectedAuthority);
|
460
422
|
}
|
461
423
|
|
462
424
|
if(serviceVersion != releaseVersion) {
|
463
|
-
revert
|
425
|
+
revert ErrorReleaseRegistryServiceReleaseVersionMismatch(
|
464
426
|
service,
|
465
427
|
serviceVersion,
|
466
428
|
releaseVersion);
|
@@ -477,29 +439,29 @@ contract ReleaseManager is
|
|
477
439
|
view
|
478
440
|
{
|
479
441
|
if(info.objectAddress != address(service)) {
|
480
|
-
revert
|
442
|
+
revert ErrorReleaseRegistryServiceInfoAddressInvalid(service, address(service));
|
481
443
|
}
|
482
444
|
|
483
445
|
if(info.isInterceptor != false) { // service is never interceptor
|
484
|
-
revert
|
446
|
+
revert ErrorReleaseRegistryServiceInfoInterceptorInvalid(service, info.isInterceptor);
|
485
447
|
}
|
486
448
|
|
487
449
|
if(info.objectType != SERVICE()) {
|
488
|
-
revert
|
450
|
+
revert ErrorReleaseRegistryServiceInfoTypeInvalid(service, SERVICE(), info.objectType);
|
489
451
|
}
|
490
452
|
|
491
453
|
address owner = info.initialOwner;
|
492
454
|
|
493
455
|
if(owner != expectedOwner) { // registerable owner protection
|
494
|
-
revert
|
456
|
+
revert ErrorReleaseRegistryServiceInfoOwnerInvalid(service, expectedOwner, owner);
|
495
457
|
}
|
496
458
|
|
497
459
|
if(owner == address(service)) {
|
498
|
-
revert
|
460
|
+
revert ErrorReleaseRegistryServiceSelfRegistration(service);
|
499
461
|
}
|
500
462
|
|
501
463
|
if(_registry.isRegistered(owner)) {
|
502
|
-
revert
|
464
|
+
revert ErrorReleaseRegistryServiceOwnerRegistered(service, owner);
|
503
465
|
}
|
504
466
|
}
|
505
467
|
|
@@ -511,7 +473,7 @@ contract ReleaseManager is
|
|
511
473
|
return false;
|
512
474
|
}
|
513
475
|
// TODO try catch and return false in case of revert
|
514
|
-
//
|
476
|
+
// or just panic
|
515
477
|
// check if contract returns a zero nft id for its own address
|
516
478
|
if (IRegistry(registryAddress).getNftId(registryAddress).eqz()) {
|
517
479
|
return false;
|
@@ -6,7 +6,7 @@ import {
|
|
6
6
|
} from "../../contracts/type/ObjectType.sol";
|
7
7
|
|
8
8
|
import {ComponentService} from "../shared/ComponentService.sol";
|
9
|
-
import {
|
9
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
10
10
|
import {IBundleService} from "../pool/IBundleService.sol";
|
11
11
|
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
12
12
|
import {InstanceService} from "../instance/InstanceService.sol";
|
@@ -14,7 +14,7 @@ import {IInstanceService} from "../instance/IInstanceService.sol";
|
|
14
14
|
import {IPoolService} from "../pool/IPoolService.sol";
|
15
15
|
import {IStakingService} from "../staking/IStakingService.sol";
|
16
16
|
import {IRegistryService} from "./IRegistryService.sol";
|
17
|
-
import {ServiceAuthorization} from "
|
17
|
+
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
18
18
|
|
19
19
|
|
20
20
|
contract ServiceAuthorizationV3
|
@@ -64,19 +64,19 @@ contract ServiceAuthorizationV3
|
|
64
64
|
function _setupIRegistryServiceAuthorization()
|
65
65
|
internal
|
66
66
|
{
|
67
|
-
|
67
|
+
IAccess.FunctionInfo[] storage functions;
|
68
68
|
|
69
69
|
functions = _authorizeForService(REGISTRY(), APPLICATION());
|
70
70
|
_authorize(functions, IRegistryService.registerPolicy.selector, "registerPolicy");
|
71
71
|
|
72
|
-
functions = _authorizeForService(REGISTRY(), POOL());
|
73
|
-
_authorize(functions, IRegistryService.registerPool.selector, "registerPool");
|
72
|
+
// functions = _authorizeForService(REGISTRY(), POOL());
|
73
|
+
// _authorize(functions, IRegistryService.registerPool.selector, "registerPool");
|
74
74
|
|
75
75
|
functions = _authorizeForService(REGISTRY(), BUNDLE());
|
76
76
|
_authorize(functions, IRegistryService.registerBundle.selector, "registerBundle");
|
77
77
|
|
78
78
|
functions = _authorizeForService(REGISTRY(), DISTRIBUTION());
|
79
|
-
_authorize(functions, IRegistryService.registerDistribution.selector, "registerDistribution");
|
79
|
+
// _authorize(functions, IRegistryService.registerDistribution.selector, "registerDistribution");
|
80
80
|
_authorize(functions, IRegistryService.registerDistributor.selector, "registerDistributor");
|
81
81
|
|
82
82
|
functions = _authorizeForService(REGISTRY(), COMPONENT());
|
@@ -88,8 +88,8 @@ contract ServiceAuthorizationV3
|
|
88
88
|
functions = _authorizeForService(REGISTRY(), STAKING());
|
89
89
|
_authorize(functions, IRegistryService.registerStake.selector, "registerStake");
|
90
90
|
|
91
|
-
functions = _authorizeForService(REGISTRY(), PRODUCT());
|
92
|
-
_authorize(functions, IRegistryService.registerProduct.selector, "registerProduct");
|
91
|
+
// functions = _authorizeForService(REGISTRY(), PRODUCT());
|
92
|
+
// _authorize(functions, IRegistryService.registerProduct.selector, "registerProduct");
|
93
93
|
}
|
94
94
|
|
95
95
|
|
@@ -98,7 +98,7 @@ contract ServiceAuthorizationV3
|
|
98
98
|
function _setupStakingServiceAuthorization()
|
99
99
|
internal
|
100
100
|
{
|
101
|
-
|
101
|
+
IAccess.FunctionInfo[] storage functions;
|
102
102
|
|
103
103
|
functions = _authorizeForService(STAKING(), INSTANCE());
|
104
104
|
_authorize(functions, IStakingService.createInstanceTarget.selector, "createInstanceTarget");
|
@@ -121,10 +121,10 @@ contract ServiceAuthorizationV3
|
|
121
121
|
function _setupInstanceServiceAuthorization()
|
122
122
|
internal
|
123
123
|
{
|
124
|
-
|
124
|
+
IAccess.FunctionInfo[] storage functions;
|
125
125
|
|
126
126
|
functions = _authorizeForService(INSTANCE(), COMPONENT());
|
127
|
-
_authorize(functions, IInstanceService.
|
127
|
+
_authorize(functions, IInstanceService.initializeAuthorization.selector, "initializeAuthorization");
|
128
128
|
}
|
129
129
|
|
130
130
|
|
@@ -159,7 +159,7 @@ contract ServiceAuthorizationV3
|
|
159
159
|
function _setupDistributionServiceAuthorization()
|
160
160
|
internal
|
161
161
|
{
|
162
|
-
|
162
|
+
IAccess.FunctionInfo[] storage functions;
|
163
163
|
|
164
164
|
functions = _authorizeForService(DISTRIBUTION(), POLICY());
|
165
165
|
_authorize(functions, IDistributionService.processSale.selector, "processSale");
|
@@ -170,7 +170,7 @@ contract ServiceAuthorizationV3
|
|
170
170
|
function _setupPoolServiceAuthorization()
|
171
171
|
internal
|
172
172
|
{
|
173
|
-
|
173
|
+
IAccess.FunctionInfo[] storage functions;
|
174
174
|
|
175
175
|
functions = _authorizeForService(POOL(), POLICY());
|
176
176
|
_authorize(functions, IPoolService.lockCollateral.selector, "lockCollateral");
|
@@ -187,7 +187,7 @@ contract ServiceAuthorizationV3
|
|
187
187
|
function _setupBundleServiceAuthorization()
|
188
188
|
internal
|
189
189
|
{
|
190
|
-
|
190
|
+
IAccess.FunctionInfo[] storage functions;
|
191
191
|
|
192
192
|
functions = _authorizeForService(BUNDLE(), POOL());
|
193
193
|
_authorize(functions, IBundleService.create.selector, "create");
|
@@ -12,7 +12,7 @@ import {IRegisterable} from "../shared/IRegisterable.sol";
|
|
12
12
|
|
13
13
|
import {IRegistry} from "./IRegistry.sol";
|
14
14
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
15
|
-
import {
|
15
|
+
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
16
16
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
17
17
|
|
18
18
|
|
@@ -49,7 +49,7 @@ contract TokenRegistry is
|
|
49
49
|
TokenInfo [] internal _token;
|
50
50
|
|
51
51
|
IRegistry internal _registry;
|
52
|
-
|
52
|
+
ReleaseRegistry internal _releaseRegistry;
|
53
53
|
IERC20Metadata internal _dipToken;
|
54
54
|
|
55
55
|
/// @dev enforces msg.sender is owner of nft (or initial owner of nft ownable)
|