@etherisc/gif-next 0.0.2-7340474-070 → 0.0.2-742eda3-807
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 +30 -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 +29 -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 +1505 -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 +17 -242
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +106 -90
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +55 -55
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +71 -146
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -16
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +33 -39
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +0 -13
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +27 -39
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +29 -90
- 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 +110 -76
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +60 -120
- 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 +84 -91
- 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 +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +3 -9
- 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 +1155 -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 +13 -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 +13 -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 +1477 -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 +44 -44
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +40 -40
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +7 -202
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +7 -303
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +36 -36
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +36 -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 +1299 -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/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 +13 -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 +50 -50
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +43 -43
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +58 -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 +13 -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 +0 -44
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- 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 +24 -68
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +233 -388
- 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 +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +148 -207
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +43 -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 +62 -86
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -61
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- 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/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -5
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +0 -5
- 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/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -53
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -89
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +4 -65
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +22 -22
- 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/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +14 -14
- 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/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- 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 +32 -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 +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- 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 +142 -166
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -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 +8 -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 +12 -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 +2 -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 +4 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +21 -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 +2 -2
- 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 +8 -5
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/{registry → authorization}/ServiceAuthorization.sol +21 -17
- package/contracts/distribution/BasicDistribution.sol +149 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
- package/contracts/distribution/Distribution.sol +126 -104
- package/contracts/distribution/DistributionService.sol +10 -5
- package/contracts/distribution/IDistributionComponent.sol +17 -35
- package/contracts/distribution/IDistributionService.sol +5 -1
- package/contracts/instance/IInstance.sol +3 -4
- package/contracts/instance/IInstanceService.sol +7 -12
- package/contracts/instance/Instance.sol +58 -67
- package/contracts/instance/InstanceAdmin.sol +202 -267
- package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
- package/contracts/instance/InstanceReader.sol +22 -9
- package/contracts/instance/InstanceService.sol +66 -62
- package/contracts/instance/InstanceStore.sol +11 -4
- package/contracts/instance/base/ObjectLifecycle.sol +106 -0
- package/contracts/instance/base/ObjectManager.sol +7 -8
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +16 -0
- package/contracts/oracle/Oracle.sol +61 -49
- package/contracts/pool/BasicPool.sol +164 -0
- package/contracts/pool/BasicPoolAuthorization.sol +49 -0
- package/contracts/pool/IPoolComponent.sol +0 -60
- package/contracts/pool/Pool.sol +143 -131
- package/contracts/pool/PoolService.sol +1 -1
- package/contracts/product/BasicProduct.sol +82 -0
- package/contracts/product/BasicProductAuthorization.sol +40 -0
- package/contracts/product/IProductComponent.sol +6 -9
- package/contracts/product/Product.sol +103 -88
- package/contracts/registry/IRegistry.sol +5 -8
- package/contracts/registry/Registry.sol +1 -5
- package/contracts/registry/RegistryAdmin.sol +103 -71
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseManager.sol +127 -167
- package/contracts/registry/ServiceAuthorizationV3.sol +9 -9
- package/contracts/shared/ComponentService.sol +20 -56
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/IInstanceLinkedComponent.sol +4 -0
- package/contracts/shared/IKeyValueStore.sol +1 -0
- package/contracts/shared/ILifecycle.sol +1 -2
- package/contracts/shared/InstanceLinkedComponent.sol +26 -19
- package/contracts/shared/KeyValueStore.sol +6 -2
- package/contracts/shared/Lifecycle.sol +16 -69
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingStore.sol +3 -1
- package/contracts/type/ObjectType.sol +34 -0
- package/contracts/type/RoleId.sol +55 -82
- package/contracts/type/UFixed.sol +6 -0
- package/package.json +6 -3
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -171
- 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/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/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
@@ -9,6 +9,7 @@ import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
|
9
9
|
import {Fee, FeeLib} from "../type/Fee.sol";
|
10
10
|
import {IRisk} from "../instance/module/IRisk.sol";
|
11
11
|
import {IApplicationService} from "./IApplicationService.sol";
|
12
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
12
13
|
import {IComponentService} from "../shared/IComponentService.sol";
|
13
14
|
import {IPolicyService} from "./IPolicyService.sol";
|
14
15
|
import {IProductService} from "./IProductService.sol";
|
@@ -52,9 +53,92 @@ abstract contract Product is
|
|
52
53
|
Distribution _distribution;
|
53
54
|
}
|
54
55
|
|
55
|
-
|
56
|
+
|
57
|
+
function calculatePremium(
|
58
|
+
Amount sumInsuredAmount,
|
59
|
+
RiskId riskId,
|
60
|
+
Seconds lifetime,
|
61
|
+
bytes memory applicationData,
|
62
|
+
NftId bundleNftId,
|
63
|
+
ReferralId referralId
|
64
|
+
)
|
65
|
+
external
|
66
|
+
view
|
67
|
+
override
|
68
|
+
returns (Amount premiumAmount)
|
69
|
+
{
|
70
|
+
IPolicy.Premium memory premium = _getProductStorage()._pricingService.calculatePremium(
|
71
|
+
getNftId(),
|
72
|
+
riskId,
|
73
|
+
sumInsuredAmount,
|
74
|
+
lifetime,
|
75
|
+
applicationData,
|
76
|
+
bundleNftId,
|
77
|
+
referralId
|
78
|
+
);
|
79
|
+
|
80
|
+
return AmountLib.toAmount(premium.premiumAmount);
|
81
|
+
}
|
82
|
+
|
83
|
+
function calculateNetPremium(
|
84
|
+
Amount sumInsuredAmount,
|
85
|
+
RiskId riskId,
|
86
|
+
Seconds lifetime,
|
87
|
+
bytes memory applicationData
|
88
|
+
)
|
89
|
+
external
|
90
|
+
view
|
91
|
+
virtual override
|
92
|
+
returns (Amount netPremiumAmount)
|
93
|
+
{
|
94
|
+
// default 10% of sum insured
|
95
|
+
return AmountLib.toAmount(sumInsuredAmount.toInt() / 10);
|
96
|
+
}
|
97
|
+
|
98
|
+
|
99
|
+
function register()
|
100
|
+
external
|
101
|
+
virtual
|
102
|
+
onlyOwner()
|
103
|
+
{
|
104
|
+
_getProductStorage()._componentService.registerProduct();
|
105
|
+
}
|
106
|
+
|
107
|
+
|
108
|
+
function getInitialProductInfo()
|
109
|
+
public
|
110
|
+
virtual
|
111
|
+
view
|
112
|
+
returns (IComponents.ProductInfo memory poolInfo)
|
113
|
+
{
|
114
|
+
ProductStorage storage $ = _getProductStorage();
|
115
|
+
|
116
|
+
return IComponents.ProductInfo({
|
117
|
+
distributionNftId: $._distributionNftId,
|
118
|
+
poolNftId: $._poolNftId,
|
119
|
+
productFee: FeeLib.zero(),
|
120
|
+
processingFee: FeeLib.zero(),
|
121
|
+
distributionFee: FeeLib.zero(),
|
122
|
+
minDistributionOwnerFee: FeeLib.zero(),
|
123
|
+
poolFee: FeeLib.zero(),
|
124
|
+
stakingFee: FeeLib.zero(),
|
125
|
+
performanceFee: FeeLib.zero()
|
126
|
+
});
|
127
|
+
}
|
128
|
+
|
129
|
+
function getPoolNftId() external view override returns (NftId poolNftId) {
|
130
|
+
return getRegistry().getNftId(address(_getProductStorage()._pool));
|
131
|
+
}
|
132
|
+
|
133
|
+
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
134
|
+
return getRegistry().getNftId(address(_getProductStorage()._distribution));
|
135
|
+
}
|
136
|
+
|
137
|
+
|
138
|
+
function _initializeProduct(
|
56
139
|
address registry,
|
57
140
|
NftId instanceNftId,
|
141
|
+
IAuthorization authorization,
|
58
142
|
address initialOwner,
|
59
143
|
string memory name,
|
60
144
|
address token,
|
@@ -64,11 +148,21 @@ abstract contract Product is
|
|
64
148
|
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
65
149
|
bytes memory componentData // writeonly data that will saved in the object info record of the registry
|
66
150
|
)
|
67
|
-
|
151
|
+
internal
|
68
152
|
virtual
|
69
153
|
onlyInitializing()
|
70
154
|
{
|
71
|
-
|
155
|
+
_initializeInstanceLinkedComponent(
|
156
|
+
registry,
|
157
|
+
instanceNftId,
|
158
|
+
name,
|
159
|
+
token,
|
160
|
+
PRODUCT(),
|
161
|
+
authorization,
|
162
|
+
isInterceptor,
|
163
|
+
initialOwner,
|
164
|
+
registryData,
|
165
|
+
componentData);
|
72
166
|
|
73
167
|
ProductStorage storage $ = _getProductStorage();
|
74
168
|
// TODO add validation
|
@@ -88,27 +182,17 @@ abstract contract Product is
|
|
88
182
|
}
|
89
183
|
|
90
184
|
|
91
|
-
function
|
92
|
-
external
|
93
|
-
virtual
|
94
|
-
onlyOwner()
|
95
|
-
{
|
96
|
-
_getProductStorage()._componentService.registerProduct();
|
97
|
-
}
|
98
|
-
|
99
|
-
|
100
|
-
function setFees(
|
185
|
+
function _setFees(
|
101
186
|
Fee memory productFee,
|
102
187
|
Fee memory processingFee
|
103
188
|
)
|
104
|
-
|
105
|
-
|
106
|
-
restricted()
|
107
|
-
override
|
189
|
+
internal
|
190
|
+
virtual
|
108
191
|
{
|
109
192
|
_getProductStorage()._componentService.setProductFees(productFee, processingFee);
|
110
193
|
}
|
111
194
|
|
195
|
+
|
112
196
|
function _createRisk(
|
113
197
|
RiskId id,
|
114
198
|
bytes memory data
|
@@ -139,10 +223,12 @@ abstract contract Product is
|
|
139
223
|
);
|
140
224
|
}
|
141
225
|
|
226
|
+
|
142
227
|
function _getRiskInfo(RiskId id) internal view returns (IRisk.RiskInfo memory info) {
|
143
228
|
return getInstance().getInstanceReader().getRiskInfo(id);
|
144
229
|
}
|
145
230
|
|
231
|
+
|
146
232
|
function _createApplication(
|
147
233
|
address applicationOwner,
|
148
234
|
RiskId riskId,
|
@@ -290,77 +376,6 @@ abstract contract Product is
|
|
290
376
|
payoutId);
|
291
377
|
}
|
292
378
|
|
293
|
-
function calculatePremium(
|
294
|
-
Amount sumInsuredAmount,
|
295
|
-
RiskId riskId,
|
296
|
-
Seconds lifetime,
|
297
|
-
bytes memory applicationData,
|
298
|
-
NftId bundleNftId,
|
299
|
-
ReferralId referralId
|
300
|
-
)
|
301
|
-
external
|
302
|
-
view
|
303
|
-
override
|
304
|
-
returns (Amount premiumAmount)
|
305
|
-
{
|
306
|
-
IPolicy.Premium memory premium = _getProductStorage()._pricingService.calculatePremium(
|
307
|
-
getNftId(),
|
308
|
-
riskId,
|
309
|
-
sumInsuredAmount,
|
310
|
-
lifetime,
|
311
|
-
applicationData,
|
312
|
-
bundleNftId,
|
313
|
-
referralId
|
314
|
-
);
|
315
|
-
|
316
|
-
return AmountLib.toAmount(premium.premiumAmount);
|
317
|
-
}
|
318
|
-
|
319
|
-
function calculateNetPremium(
|
320
|
-
Amount sumInsuredAmount,
|
321
|
-
RiskId riskId,
|
322
|
-
Seconds lifetime,
|
323
|
-
bytes memory applicationData
|
324
|
-
)
|
325
|
-
external
|
326
|
-
view
|
327
|
-
virtual override
|
328
|
-
returns (Amount netPremiumAmount)
|
329
|
-
{
|
330
|
-
// default 10% of sum insured
|
331
|
-
return AmountLib.toAmount(sumInsuredAmount.toInt() / 10);
|
332
|
-
}
|
333
|
-
|
334
|
-
|
335
|
-
function getInitialProductInfo()
|
336
|
-
public
|
337
|
-
virtual
|
338
|
-
view
|
339
|
-
returns (IComponents.ProductInfo memory poolInfo)
|
340
|
-
{
|
341
|
-
ProductStorage storage $ = _getProductStorage();
|
342
|
-
|
343
|
-
return IComponents.ProductInfo({
|
344
|
-
distributionNftId: $._distributionNftId,
|
345
|
-
poolNftId: $._poolNftId,
|
346
|
-
productFee: FeeLib.zero(),
|
347
|
-
processingFee: FeeLib.zero(),
|
348
|
-
distributionFee: FeeLib.zero(),
|
349
|
-
minDistributionOwnerFee: FeeLib.zero(),
|
350
|
-
poolFee: FeeLib.zero(),
|
351
|
-
stakingFee: FeeLib.zero(),
|
352
|
-
performanceFee: FeeLib.zero()
|
353
|
-
});
|
354
|
-
}
|
355
|
-
|
356
|
-
function getPoolNftId() external view override returns (NftId poolNftId) {
|
357
|
-
return getRegistry().getNftId(address(_getProductStorage()._pool));
|
358
|
-
}
|
359
|
-
|
360
|
-
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
361
|
-
return getRegistry().getNftId(address(_getProductStorage()._distribution));
|
362
|
-
}
|
363
|
-
|
364
379
|
function _toRiskId(string memory riskName) internal pure returns (RiskId riskId) {
|
365
380
|
return RiskIdLib.toRiskId(riskName);
|
366
381
|
}
|
@@ -40,17 +40,16 @@ interface IRegistry is IERC165 {
|
|
40
40
|
bytes data;
|
41
41
|
}
|
42
42
|
|
43
|
-
|
44
43
|
struct ReleaseInfo {
|
45
44
|
VersionPart version;
|
46
45
|
bytes32 salt;
|
47
46
|
address[] addresses;
|
48
47
|
string[] names;
|
49
|
-
RoleId[][] serviceRoles;
|
50
|
-
string[][] serviceRoleNames;
|
51
|
-
RoleId[][] functionRoles;
|
52
|
-
string[][] functionRoleNames;
|
53
|
-
bytes4[][][] selectors;
|
48
|
+
// RoleId[][] serviceRoles;
|
49
|
+
// string[][] serviceRoleNames;
|
50
|
+
// RoleId[][] functionRoles;
|
51
|
+
// string[][] functionRoleNames;
|
52
|
+
// bytes4[][][] selectors;
|
54
53
|
ObjectType[] domains;
|
55
54
|
Timestamp activatedAt;
|
56
55
|
Timestamp disabledAt;
|
@@ -112,8 +111,6 @@ interface IRegistry is IERC165 {
|
|
112
111
|
|
113
112
|
function getReleaseManagerAddress() external view returns (address);
|
114
113
|
|
115
|
-
function getReleaseAccessManagerAddress(VersionPart version) external view returns (address);
|
116
|
-
|
117
114
|
function getStakingAddress() external view returns (address);
|
118
115
|
|
119
116
|
function getTokenRegistryAddress() external view returns (address);
|
@@ -64,7 +64,7 @@ contract Registry is
|
|
64
64
|
// 1). Registry and ReleaseManager must be treated as whole single entity.
|
65
65
|
// But current limitations of EVM does not allow it -> require it to be splitted
|
66
66
|
// 2). Keep onlyReleaseManager modifier
|
67
|
-
// 3). Delete onlyRegistryService in favor of restricted
|
67
|
+
// 3). Delete onlyRegistryService in favor of restricted
|
68
68
|
// 4). (For GlobalRegistry ONLY) make registerChainRegistry() restricted to GIF_ADMIN_ROLE
|
69
69
|
modifier onlyRegistryService() {
|
70
70
|
if(!_releaseManager.isActiveRegistryService(msg.sender)) {
|
@@ -298,10 +298,6 @@ contract Registry is
|
|
298
298
|
service = _service[releaseVersion][serviceDomain];
|
299
299
|
}
|
300
300
|
|
301
|
-
function getReleaseAccessManagerAddress(VersionPart version) external view returns (address) {
|
302
|
-
return address(_releaseManager.getReleaseAccessManager(version));
|
303
|
-
}
|
304
|
-
|
305
301
|
function getReleaseManagerAddress() external view returns (address) {
|
306
302
|
return address(_releaseManager);
|
307
303
|
}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: UNLICENSED
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {AccessAdmin} from "../
|
5
|
-
import {
|
4
|
+
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
5
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
6
6
|
import {IRegistry} from "./IRegistry.sol";
|
7
7
|
import {IService} from "../shared/IService.sol";
|
8
|
-
import {IServiceAuthorization} from "
|
8
|
+
import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
|
9
9
|
import {IStaking} from "../staking/IStaking.sol";
|
10
10
|
import {ObjectType, ObjectTypeLib, ALL, POOL, RELEASE} from "../type/ObjectType.sol";
|
11
11
|
import {ReleaseManager} from "./ReleaseManager.sol";
|
@@ -38,13 +38,17 @@ contract RegistryAdmin is
|
|
38
38
|
|
39
39
|
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
40
40
|
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
41
|
-
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
42
41
|
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
42
|
+
string public constant RELEASE_MANAGER_ROLE_NAME = "ReleaseManagerRole";
|
43
|
+
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
44
|
+
string public constant STAKING_ROLE_NAME = "StakingRole";
|
43
45
|
|
44
|
-
string public constant RELEASE_MANAGER_TARGET_NAME = "
|
45
|
-
string public constant TOKEN_REGISTRY_TARGET_NAME = "
|
46
|
-
string public constant STAKING_TARGET_NAME = "
|
47
|
-
string public constant STAKING_STORE_TARGET_NAME = "
|
46
|
+
string public constant RELEASE_MANAGER_TARGET_NAME = "ReleaseManager";
|
47
|
+
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
48
|
+
string public constant STAKING_TARGET_NAME = "Staking";
|
49
|
+
string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
|
50
|
+
|
51
|
+
uint8 public constant MAX_NUM_RELEASES = 99;
|
48
52
|
|
49
53
|
mapping(address service => VersionPart majorVersion) private _ServiceRelease;
|
50
54
|
|
@@ -74,7 +78,7 @@ contract RegistryAdmin is
|
|
74
78
|
IStaking(_staking).getStakingStore());
|
75
79
|
|
76
80
|
// at this moment all registry contracts are deployed and fully intialized
|
77
|
-
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME);
|
81
|
+
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
78
82
|
|
79
83
|
_setupGifAdminRole(gifAdmin);
|
80
84
|
_setupGifManagerRole(gifManager);
|
@@ -112,50 +116,39 @@ contract RegistryAdmin is
|
|
112
116
|
function _createServiceTargetAndRole(IService service)
|
113
117
|
private
|
114
118
|
{
|
115
|
-
ObjectType
|
116
|
-
string memory baseName = ObjectTypeLib.toName(
|
119
|
+
ObjectType serviceDomain = service.getDomain();
|
120
|
+
string memory baseName = ObjectTypeLib.toName(serviceDomain);
|
117
121
|
VersionPart version = service.getVersion().toMajorPart();
|
118
122
|
uint256 versionInt = version.toInt();
|
119
|
-
string memory versionName = "_v0";
|
120
|
-
string memory versionNumber = ObjectTypeLib.toString(versionInt);
|
121
|
-
|
122
|
-
if (versionInt >= 10) {
|
123
|
-
versionName = "_v";
|
124
|
-
}
|
125
123
|
|
126
124
|
// create service target
|
127
|
-
string memory serviceTargetName =
|
128
|
-
|
129
|
-
baseName,
|
130
|
-
"Service",
|
131
|
-
versionName,
|
132
|
-
versionNumber));
|
125
|
+
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
126
|
+
baseName, "Service", versionInt);
|
133
127
|
|
134
128
|
_createTarget(
|
135
129
|
address(service),
|
136
|
-
serviceTargetName
|
130
|
+
serviceTargetName,
|
131
|
+
true,
|
132
|
+
false);
|
137
133
|
|
138
134
|
// create service role
|
139
|
-
|
140
|
-
|
141
|
-
baseName,
|
142
|
-
"ServiceRole",
|
143
|
-
versionName,
|
144
|
-
versionNumber));
|
145
|
-
|
146
|
-
RoleId roleId = RoleIdLib.roleForTypeAndVersion(
|
147
|
-
domain,
|
135
|
+
RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
|
136
|
+
serviceDomain,
|
148
137
|
version);
|
149
138
|
|
150
139
|
_createRole(
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
140
|
+
serviceRoleId,
|
141
|
+
toRole({
|
142
|
+
adminRoleId: ADMIN_ROLE(),
|
143
|
+
roleType: RoleType.Contract,
|
144
|
+
maxMemberCount: 1,
|
145
|
+
name: ObjectTypeLib.toVersionedName(
|
146
|
+
baseName,
|
147
|
+
"ServiceRole",
|
148
|
+
versionInt)}));
|
156
149
|
|
157
150
|
_grantRoleToAccount(
|
158
|
-
|
151
|
+
serviceRoleId,
|
159
152
|
address(service));
|
160
153
|
}
|
161
154
|
|
@@ -186,7 +179,7 @@ contract RegistryAdmin is
|
|
186
179
|
}
|
187
180
|
|
188
181
|
// get authorized functions for authorized domain
|
189
|
-
|
182
|
+
IAccess.FunctionInfo[] memory authorizatedFunctions = serviceAuthorization.getAuthorizedFunctions(
|
190
183
|
serviceDomain,
|
191
184
|
authorizedDomain);
|
192
185
|
|
@@ -218,27 +211,40 @@ contract RegistryAdmin is
|
|
218
211
|
//--- private functions -------------------------------------------------//
|
219
212
|
|
220
213
|
function _setupGifAdminRole(address gifAdmin) private {
|
221
|
-
|
222
|
-
_createRole(
|
223
|
-
|
214
|
+
|
215
|
+
_createRole(
|
216
|
+
GIF_ADMIN_ROLE(),
|
217
|
+
toRole({
|
218
|
+
adminRoleId: ADMIN_ROLE(),
|
219
|
+
roleType: RoleType.Gif,
|
220
|
+
maxMemberCount: 2, // TODO decide on max member count
|
221
|
+
name: GIF_ADMIN_ROLE_NAME}));
|
224
222
|
|
225
223
|
// for ReleaseManager
|
226
|
-
|
227
|
-
functions = new
|
224
|
+
FunctionInfo[] memory functions;
|
225
|
+
functions = new FunctionInfo[](4);
|
228
226
|
functions[0] = toFunction(ReleaseManager.createNextRelease.selector, "createNextRelease");
|
229
227
|
functions[1] = toFunction(ReleaseManager.activateNextRelease.selector, "activateNextRelease");
|
228
|
+
functions[2] = toFunction(ReleaseManager.pauseRelease.selector, "pauseRelease");
|
229
|
+
functions[3] = toFunction(ReleaseManager.unpauseRelease.selector, "unpauseRelease");
|
230
230
|
_authorizeTargetFunctions(_releaseManager, GIF_ADMIN_ROLE(), functions);
|
231
231
|
|
232
|
-
|
232
|
+
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
233
233
|
}
|
234
234
|
|
235
235
|
function _setupGifManagerRole(address gifManager) private {
|
236
|
-
|
237
|
-
|
236
|
+
|
237
|
+
_createRole(
|
238
|
+
GIF_MANAGER_ROLE(),
|
239
|
+
toRole({
|
240
|
+
adminRoleId: ADMIN_ROLE(),
|
241
|
+
roleType: RoleType.Gif,
|
242
|
+
maxMemberCount: 1,
|
243
|
+
name: GIF_MANAGER_ROLE_NAME}));
|
238
244
|
|
239
245
|
// for TokenRegistry
|
240
|
-
|
241
|
-
functions = new
|
246
|
+
FunctionInfo[] memory functions;
|
247
|
+
functions = new FunctionInfo[](5);
|
242
248
|
functions[0] = toFunction(TokenRegistry.registerToken.selector, "registerToken");
|
243
249
|
functions[1] = toFunction(TokenRegistry.registerRemoteToken.selector, "registerRemoteToken");
|
244
250
|
functions[2] = toFunction(TokenRegistry.setActive.selector, "setActive");
|
@@ -248,41 +254,54 @@ contract RegistryAdmin is
|
|
248
254
|
_authorizeTargetFunctions(_tokenRegistry, GIF_MANAGER_ROLE(), functions);
|
249
255
|
|
250
256
|
// for ReleaseManager
|
251
|
-
functions = new
|
257
|
+
functions = new FunctionInfo[](2);
|
252
258
|
functions[0] = toFunction(ReleaseManager.prepareNextRelease.selector, "prepareNextRelease");
|
253
259
|
functions[1] = toFunction(ReleaseManager.registerService.selector, "registerService");
|
254
260
|
_authorizeTargetFunctions(_releaseManager, GIF_MANAGER_ROLE(), functions);
|
255
261
|
|
256
|
-
|
262
|
+
_grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
|
257
263
|
}
|
258
264
|
|
259
265
|
|
260
266
|
function _setupReleaseManager() private {
|
261
|
-
_createTarget(_releaseManager, RELEASE_MANAGER_TARGET_NAME);
|
262
267
|
|
263
|
-
|
264
|
-
_createRole(releaseManagerRoleId, ADMIN_ROLE(), RELEASE_MANAGER_TARGET_NAME, 1, true);
|
265
|
-
_grantRoleToAccount(releaseManagerRoleId, _releaseManager);
|
268
|
+
_createTarget(_releaseManager, RELEASE_MANAGER_TARGET_NAME, true, false);
|
266
269
|
|
267
|
-
|
268
|
-
|
270
|
+
RoleId releaseManagerRoleId = RoleIdLib.roleForType(RELEASE());
|
271
|
+
_createRole(
|
272
|
+
releaseManagerRoleId,
|
273
|
+
toRole({
|
274
|
+
adminRoleId: ADMIN_ROLE(),
|
275
|
+
roleType: RoleType.Contract,
|
276
|
+
maxMemberCount: 1,
|
277
|
+
name: RELEASE_MANAGER_ROLE_NAME}));
|
278
|
+
|
279
|
+
FunctionInfo[] memory functions;
|
280
|
+
functions = new FunctionInfo[](2);
|
269
281
|
functions[0] = toFunction(RegistryAdmin.authorizeService.selector, "authorizeService");
|
270
282
|
functions[1] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
271
283
|
_authorizeTargetFunctions(address(this), releaseManagerRoleId, functions);
|
284
|
+
|
285
|
+
_grantRoleToAccount(releaseManagerRoleId, _releaseManager);
|
272
286
|
}
|
273
287
|
|
274
288
|
|
275
289
|
function _setupStaking() private {
|
276
|
-
_createTarget(_staking, STAKING_TARGET_NAME);
|
277
|
-
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME);
|
278
|
-
|
290
|
+
_createTarget(_staking, STAKING_TARGET_NAME, true, false);
|
291
|
+
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
|
279
292
|
|
280
293
|
// staking function authorization for staking service
|
281
294
|
RoleId stakingServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(STAKING());
|
282
|
-
_createRole(
|
283
|
-
|
284
|
-
|
285
|
-
|
295
|
+
_createRole(
|
296
|
+
stakingServiceRoleId,
|
297
|
+
toRole({
|
298
|
+
adminRoleId: ADMIN_ROLE(),
|
299
|
+
roleType: RoleType.Contract,
|
300
|
+
maxMemberCount: MAX_NUM_RELEASES,
|
301
|
+
name: STAKING_SERVICE_ROLE_NAME}));
|
302
|
+
|
303
|
+
FunctionInfo[] memory functions;
|
304
|
+
functions = new FunctionInfo[](13);
|
286
305
|
functions[0] = toFunction(IStaking.registerTarget.selector, "registerTarget");
|
287
306
|
functions[1] = toFunction(IStaking.setLockingPeriod.selector, "setLockingPeriod");
|
288
307
|
functions[2] = toFunction(IStaking.setRewardRate.selector, "setRewardRate");
|
@@ -300,20 +319,31 @@ contract RegistryAdmin is
|
|
300
319
|
|
301
320
|
// staking function authorization for pool service
|
302
321
|
RoleId poolServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(POOL());
|
303
|
-
_createRole(
|
322
|
+
_createRole(
|
323
|
+
poolServiceRoleId,
|
324
|
+
toRole({
|
325
|
+
adminRoleId: ADMIN_ROLE(),
|
326
|
+
roleType: RoleType.Contract,
|
327
|
+
maxMemberCount: MAX_NUM_RELEASES,
|
328
|
+
name: POOL_SERVICE_ROLE_NAME}));
|
304
329
|
|
305
330
|
// staking function authorizations
|
306
|
-
functions = new
|
331
|
+
functions = new FunctionInfo[](2);
|
307
332
|
functions[0] = toFunction(IStaking.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
308
333
|
functions[1] = toFunction(IStaking.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
309
334
|
_authorizeTargetFunctions(_staking, poolServiceRoleId, functions);
|
310
335
|
|
311
336
|
// staking store function authorizations
|
312
337
|
RoleId stakingRoleId = RoleIdLib.roleForType(STAKING());
|
313
|
-
_createRole(
|
314
|
-
|
315
|
-
|
316
|
-
|
338
|
+
_createRole(
|
339
|
+
stakingRoleId,
|
340
|
+
toRole({
|
341
|
+
adminRoleId: ADMIN_ROLE(),
|
342
|
+
roleType: RoleType.Contract,
|
343
|
+
maxMemberCount: 1,
|
344
|
+
name: STAKING_ROLE_NAME}));
|
345
|
+
|
346
|
+
functions = new FunctionInfo[](14);
|
317
347
|
functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
|
318
348
|
functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
|
319
349
|
functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
|
@@ -329,5 +359,7 @@ contract RegistryAdmin is
|
|
329
359
|
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
330
360
|
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
331
361
|
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
362
|
+
|
363
|
+
_grantRoleToAccount(stakingRoleId, _staking);
|
332
364
|
}
|
333
365
|
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {RELEASE} from "../type/ObjectType.sol";
|
5
|
+
import {SCHEDULED, DEPLOYING, ACTIVE, PAUSED, CLOSED/*, FREE*/} from "../type/StateId.sol";
|
6
|
+
import {Lifecycle} from "../shared/Lifecycle.sol";
|
7
|
+
|
8
|
+
contract ReleaseLifecycle is
|
9
|
+
Lifecycle
|
10
|
+
{
|
11
|
+
constructor() {
|
12
|
+
_setupLifecycle();
|
13
|
+
}
|
14
|
+
|
15
|
+
function _setupLifecycle()
|
16
|
+
internal
|
17
|
+
override
|
18
|
+
{
|
19
|
+
setInitialState(RELEASE(), SCHEDULED());
|
20
|
+
|
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());
|
26
|
+
}
|
27
|
+
}
|