@etherisc/gif-next 0.0.2-f1fe735-758 → 0.0.2-f2a5ca7-763
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 +13 -1
- 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 +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/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 +110 -76
- 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 +73 -79
- 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 +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 +55 -55
- 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 +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 -6
- 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 +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/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/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/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- 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 +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 +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +6 -6
- 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 +134 -134
- 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 +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 +149 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
- package/contracts/distribution/Distribution.sol +126 -104
- package/contracts/distribution/DistributionService.sol +12 -21
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +17 -35
- package/contracts/distribution/IDistributionService.sol +5 -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 +202 -0
- package/contracts/instance/InstanceReader.sol +22 -9
- package/contracts/instance/InstanceService.sol +74 -70
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +5 -1
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -12
- 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/oracle/OracleServiceManager.sol +2 -5
- package/contracts/pool/BasicPool.sol +164 -0
- package/contracts/pool/BasicPoolAuthorization.sol +49 -0
- package/contracts/pool/BundleService.sol +14 -26
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IPoolComponent.sol +0 -60
- package/contracts/pool/Pool.sol +143 -131
- package/contracts/pool/PoolService.sol +11 -27
- 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 +82 -0
- package/contracts/product/BasicProductAuthorization.sol +40 -0
- package/contracts/product/ClaimService.sol +5 -31
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IProductComponent.sol +6 -9
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +103 -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 -88
- package/contracts/registry/RegistryService.sol +4 -18
- package/contracts/registry/RegistryServiceManager.sol +2 -2
- package/contracts/registry/{ReleaseManager.sol → ReleaseRegistry.sol} +97 -113
- package/contracts/registry/ServiceAuthorizationV3.sol +14 -14
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/ComponentService.sol +19 -58
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/IInstanceLinkedComponent.sol +4 -0
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +26 -19
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- 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 +11 -14
- 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/ObjectType.sol +37 -7
- package/contracts/type/RoleId.sol +55 -82
- package/contracts/type/UFixed.sol +6 -0
- 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 +3 -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 -1177
- 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/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
| @@ -27,20 +27,16 @@ function STAKING() pure returns (ObjectType) { | |
| 27 27 | 
             
                return ObjectType.wrap(3);
         | 
| 28 28 | 
             
            }
         | 
| 29 29 |  | 
| 30 | 
            -
            function TOKEN() pure returns (ObjectType) {
         | 
| 31 | 
            -
                return ObjectType.wrap(6);
         | 
| 32 | 
            -
            }
         | 
| 33 | 
            -
             | 
| 34 30 | 
             
            function RELEASE() pure returns (ObjectType) {
         | 
| 35 | 
            -
                return ObjectType.wrap( | 
| 31 | 
            +
                return ObjectType.wrap(6);
         | 
| 36 32 | 
             
            }
         | 
| 37 33 |  | 
| 38 34 | 
             
            function ROLE() pure returns (ObjectType) {
         | 
| 39 | 
            -
                return ObjectType.wrap( | 
| 35 | 
            +
                return ObjectType.wrap(7);
         | 
| 40 36 | 
             
            }
         | 
| 41 37 |  | 
| 42 38 | 
             
            function SERVICE() pure returns (ObjectType) {
         | 
| 43 | 
            -
                return ObjectType.wrap( | 
| 39 | 
            +
                return ObjectType.wrap(8);
         | 
| 44 40 | 
             
            }
         | 
| 45 41 |  | 
| 46 42 | 
             
            function INSTANCE() pure returns (ObjectType) {
         | 
| @@ -137,6 +133,8 @@ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) { | |
| 137 133 | 
             
            // library functions that operate on user defined type
         | 
| 138 134 | 
             
            library ObjectTypeLib {
         | 
| 139 135 |  | 
| 136 | 
            +
                error ErrorVersionTooBig(uint256 version);
         | 
| 137 | 
            +
             | 
| 140 138 | 
             
                function zero() public pure returns (ObjectType) {
         | 
| 141 139 | 
             
                    return ObjectType.wrap(0);
         | 
| 142 140 | 
             
                }
         | 
| @@ -209,6 +207,38 @@ library ObjectTypeLib { | |
| 209 207 | 
             
                                toInt(objectType))));
         | 
| 210 208 | 
             
                }
         | 
| 211 209 |  | 
| 210 | 
            +
                function toVersionedName(
         | 
| 211 | 
            +
                    string memory name, 
         | 
| 212 | 
            +
                    string memory suffix, 
         | 
| 213 | 
            +
                    uint256 version
         | 
| 214 | 
            +
                )
         | 
| 215 | 
            +
                    external
         | 
| 216 | 
            +
                    pure
         | 
| 217 | 
            +
                    returns (string memory versionedName)
         | 
| 218 | 
            +
                {
         | 
| 219 | 
            +
                    if (version > maxNumReleases()) {
         | 
| 220 | 
            +
                        revert ErrorVersionTooBig(version);
         | 
| 221 | 
            +
                    }
         | 
| 222 | 
            +
             | 
| 223 | 
            +
                    string memory versionName = "_v0";
         | 
| 224 | 
            +
             | 
| 225 | 
            +
                    if (version >= 10) {
         | 
| 226 | 
            +
                        versionName = "_v";
         | 
| 227 | 
            +
                    }
         | 
| 228 | 
            +
             | 
| 229 | 
            +
                    versionedName = string(
         | 
| 230 | 
            +
                        abi.encodePacked(
         | 
| 231 | 
            +
                            name,
         | 
| 232 | 
            +
                            suffix,
         | 
| 233 | 
            +
                            versionName,
         | 
| 234 | 
            +
                            toString(version)));
         | 
| 235 | 
            +
                }
         | 
| 236 | 
            +
             | 
| 237 | 
            +
                /// @dev returns the max number of releases (major versions) this gif setup can handle.
         | 
| 238 | 
            +
                function maxNumReleases() public pure returns (uint8) {
         | 
| 239 | 
            +
                    return 99;
         | 
| 240 | 
            +
                }
         | 
| 241 | 
            +
             | 
| 212 242 | 
             
                /// @dev returns the provied int as a string
         | 
| 213 243 | 
             
                function toString(uint256 value) public pure returns (string memory name) {
         | 
| 214 244 |  | 
| @@ -19,6 +19,16 @@ using { | |
| 19 19 |  | 
| 20 20 | 
             
            // general pure free functions
         | 
| 21 21 |  | 
| 22 | 
            +
            // @dev Returns true iff role ids a and b are identical
         | 
| 23 | 
            +
            function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
         | 
| 24 | 
            +
                return RoleId.unwrap(a) == RoleId.unwrap(b);
         | 
| 25 | 
            +
            }
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            // @dev Returns true iff role ids a and b are different
         | 
| 28 | 
            +
            function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
         | 
| 29 | 
            +
                return RoleId.unwrap(a) != RoleId.unwrap(b);
         | 
| 30 | 
            +
            }
         | 
| 31 | 
            +
             | 
| 22 32 | 
             
            //--- OpenZeppelin provided roles -------------------------------------------//
         | 
| 23 33 |  | 
| 24 34 | 
             
            /// @dev Role ID needs to match with oz AccessManager.ADMIN_ROLE
         | 
| @@ -27,30 +37,22 @@ function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uin | |
| 27 37 | 
             
            /// @dev Role ID needs to match with oz AccessManager.PUBLIC_ROLE
         | 
| 28 38 | 
             
            function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
         | 
| 29 39 |  | 
| 30 | 
            -
             | 
| 31 | 
            -
            function MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1); } 
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            //--- Core GIF roles (range: 1-99) ------------------------------------------//
         | 
| 40 | 
            +
            //--- GIF roles (range: 1-99) ----------------------------------------------//
         | 
| 34 41 |  | 
| 35 42 | 
             
            /// @dev cental role for gif release management.
         | 
| 36 43 | 
             
            /// this role is necessary to call ReleaseManager.createNextRelease/activateNextRelease
         | 
| 37 44 | 
             
            /// the actual deployment of a release requires the GIF_MANAGER_ROLE.
         | 
| 38 45 | 
             
            /// GIF_ADMIN_ROLE is the admin of the GIF_MANAGER_ROLE.
         | 
| 39 46 | 
             
            /// only a single holder may hold this role at any time
         | 
| 40 | 
            -
            function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId( | 
| 47 | 
            +
            function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1); } 
         | 
| 41 48 |  | 
| 42 49 | 
             
            /// @dev role for token whith/blacklisting, deploying and registering the services for a new major release
         | 
| 43 50 | 
             
            /// registering services for a new major release is only possible after a new initial release has been created by the GIF_ADMIN_ROLE
         | 
| 44 51 | 
             
            /// token white/blacklisting is possible for any active release
         | 
| 45 | 
            -
            function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId( | 
| 52 | 
            +
            function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2); } 
         | 
| 46 53 |  | 
| 47 54 | 
             
            /// @dev role for registering remote staking targets and reporting remote total value locked amounts.
         | 
| 48 | 
            -
            function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId( | 
| 49 | 
            -
             | 
| 50 | 
            -
            /// @dev required role to own an instance.
         | 
| 51 | 
            -
            /// Role is granted by instance service when cloning a new instance.
         | 
| 52 | 
            -
            /// allows instance specific target, role and access management 
         | 
| 53 | 
            -
            function INSTANCE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(10); }
         | 
| 55 | 
            +
            function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); } 
         | 
| 54 56 |  | 
| 55 57 | 
             
            /// @dev instance specific  role to register/own a product component
         | 
| 56 58 | 
             
            function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(11); }
         | 
| @@ -64,119 +66,90 @@ function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRo | |
| 64 66 | 
             
            /// @dev instance specific  role to register/own a pool component
         | 
| 65 67 | 
             
            function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14); }
         | 
| 66 68 |  | 
| 67 | 
            -
            //--- GIF contract roles (range: 200 -  | 
| 69 | 
            +
            //--- GIF core contract roles (range: 200 - 9'900) --------------------------//
         | 
| 68 70 | 
             
            // created and assigned during initial deployment for registry and staking
         | 
| 69 71 | 
             
            // granting for instances and components in instance service
         | 
| 70 72 | 
             
            // object type * 100 + 0, examples:
         | 
| 71 73 | 
             
            // - registry contract role: 200 
         | 
| 72 74 | 
             
            // - staking contract role: 300 
         | 
| 73 75 | 
             
            // - instance contract role: 1000
         | 
| 74 | 
            -
            // - product contract role: 1200
         | 
| 75 76 |  | 
| 76 | 
            -
            //--- GIF service roles (range 201 -  | 
| 77 | 
            +
            //--- GIF service roles (range 201 - 9'9xx) ---------------------------------//
         | 
| 77 78 | 
             
            // created and assigned by release manager contract
         | 
| 78 79 | 
             
            // object type * 100 + 1/major version, examples:
         | 
| 79 | 
            -
            // - registry service role (any version):  | 
| 80 | 
            +
            // - registry service role (any version): 299
         | 
| 80 81 | 
             
            // - registry service role (version 3): 203
         | 
| 81 | 
            -
            // - registry service role (any version):  | 
| 82 | 
            +
            // - registry service role (any version): 399
         | 
| 82 83 | 
             
            // - staking service role: (version 3): 303
         | 
| 83 84 | 
             
            // - application service role (version 3): 2003
         | 
| 84 85 |  | 
| 85 | 
            -
            //---  | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
             | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
            /// @dev instance specific role for instance service
         | 
| 98 | 
            -
            function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
         | 
| 99 | 
            -
             | 
| 100 | 
            -
            /// @dev role for creating gif target on instance service
         | 
| 101 | 
            -
            function CAN_CREATE_GIF_TARGET__ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
         | 
| 102 | 
            -
             | 
| 103 | 
            -
            /// @dev role for registering gif components
         | 
| 104 | 
            -
            function COMPONENT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2001); }
         | 
| 105 | 
            -
             | 
| 106 | 
            -
            /// @dev instance specific role for distribution service
         | 
| 107 | 
            -
            function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
         | 
| 108 | 
            -
             | 
| 109 | 
            -
            /// @dev instance specific role for oracle service
         | 
| 110 | 
            -
            function ORACLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2150); }
         | 
| 111 | 
            -
             | 
| 112 | 
            -
            /// @dev instance specific role for pool service
         | 
| 113 | 
            -
            function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
         | 
| 114 | 
            -
             | 
| 115 | 
            -
            /// @dev instance specific role for product service
         | 
| 116 | 
            -
            function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
         | 
| 86 | 
            +
            //--- GIF component contract roles (range 12'001 - 19'099) ------------------//
         | 
| 87 | 
            +
            // assigned at component registration time
         | 
| 88 | 
            +
            // object type * 1000 + instane specific component counter
         | 
| 89 | 
            +
            // on any instance a maximum number of 999 components may be deployed
         | 
| 90 | 
            +
            // examples:
         | 
| 91 | 
            +
            // - 1st pool on instance: 15001
         | 
| 92 | 
            +
            // - 1st distribution on instance: 14002
         | 
| 93 | 
            +
            // - 1st product on instance: 12003
         | 
| 94 | 
            +
            // - 2nd pool on instance: 15004
         | 
| 95 | 
            +
            // - 2nd distribution on instance: 14005
         | 
| 96 | 
            +
            // - 2nd product on instance: 12006
         | 
| 117 97 |  | 
| 118 | 
            -
            /// @dev instance specific role for application service
         | 
| 119 | 
            -
            function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
         | 
| 120 98 |  | 
| 121 | 
            -
             | 
| 122 | 
            -
            function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
         | 
| 99 | 
            +
            //--- Custom roles (range >= 1'000'000) -------------------------------------//
         | 
| 123 100 |  | 
| 124 | 
            -
             | 
| 125 | 
            -
            function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
         | 
| 101 | 
            +
            function CUSTOM_ROLE_MIN() pure returns (RoleId) { return RoleIdLib.toRoleId(1000000); }
         | 
| 126 102 |  | 
| 127 | 
            -
             | 
| 128 | 
            -
            function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
         | 
| 129 | 
            -
             | 
| 130 | 
            -
            /// @dev instance specific role for pricing service
         | 
| 131 | 
            -
            function PRICING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2800); }
         | 
| 103 | 
            +
            library RoleIdLib {
         | 
| 132 104 |  | 
| 133 | 
            -
             | 
| 134 | 
            -
             | 
| 105 | 
            +
                uint64 public constant ALL_VERSIONS = 99;
         | 
| 106 | 
            +
                uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
         | 
| 107 | 
            +
                uint64 public constant COMPONENT_ROLE_FACTOR = 100;
         | 
| 108 | 
            +
                uint64 public constant CUSTOM_ROLE_MIN = 1000000;
         | 
| 135 109 |  | 
| 136 | 
            -
             | 
| 137 | 
            -
            function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
         | 
| 138 | 
            -
                return RoleId.unwrap(a) == RoleId.unwrap(b);
         | 
| 139 | 
            -
            }
         | 
| 140 | 
            -
             | 
| 141 | 
            -
            // @dev Returns true iff role ids a and b are different
         | 
| 142 | 
            -
            function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
         | 
| 143 | 
            -
                return RoleId.unwrap(a) != RoleId.unwrap(b);
         | 
| 144 | 
            -
            }
         | 
| 145 | 
            -
             | 
| 146 | 
            -
            library RoleIdLib {
         | 
| 147 | 
            -
            /// @dev Converts the RoleId to a uint.
         | 
| 110 | 
            +
                /// @dev Converts the RoleId to a uint.
         | 
| 148 111 | 
             
                function zero() public pure returns (RoleId) {
         | 
| 149 112 | 
             
                    return RoleId.wrap(0);
         | 
| 150 113 | 
             
                }
         | 
| 151 114 |  | 
| 152 | 
            -
                /// @dev Converts an uint into a  | 
| 153 | 
            -
                function toRoleId( | 
| 154 | 
            -
                    return RoleId.wrap( | 
| 115 | 
            +
                /// @dev Converts an uint into a role id.
         | 
| 116 | 
            +
                function toRoleId(uint64 a) public pure returns (RoleId) {
         | 
| 117 | 
            +
                    return RoleId.wrap(a);
         | 
| 155 118 | 
             
                }
         | 
| 156 119 |  | 
| 157 | 
            -
                /// @dev Converts  | 
| 120 | 
            +
                /// @dev Converts an uint into a component role id.
         | 
| 121 | 
            +
                function toComponentRoleId(ObjectType objectType, uint64 index) public pure returns (RoleId) {
         | 
| 122 | 
            +
                    return toRoleId(COMPONENT_ROLE_FACTOR * uint64(objectType.toInt()) + index);
         | 
| 123 | 
            +
                }
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                /// @dev Converts an uint into a custom role id.
         | 
| 126 | 
            +
                function toCustomRoleId(uint64 index) public pure returns (RoleId) {
         | 
| 127 | 
            +
                    return toRoleId(CUSTOM_ROLE_MIN + index);
         | 
| 128 | 
            +
                }
         | 
| 129 | 
            +
             | 
| 130 | 
            +
                /// @dev Converts the role id to a uint.
         | 
| 158 131 | 
             
                function toInt(RoleId a) public pure returns (uint64) {
         | 
| 159 132 | 
             
                    return uint64(RoleId.unwrap(a));
         | 
| 160 133 | 
             
                }
         | 
| 161 134 |  | 
| 162 | 
            -
                /// @dev Converts an uint into a  | 
| 135 | 
            +
                /// @dev Converts an uint into a role id.
         | 
| 163 136 | 
             
                /// Used for GIF core contracts.
         | 
| 164 137 | 
             
                function roleForType(ObjectType objectType) public pure returns (RoleId) {
         | 
| 165 | 
            -
                    return RoleId.wrap( | 
| 138 | 
            +
                    return RoleId.wrap(SERVICE_DOMAIN_ROLE_FACTOR * uint64(objectType.toInt()));
         | 
| 166 139 | 
             
                }
         | 
| 167 140 |  | 
| 168 141 | 
             
                /// @dev Converts an uint into a RoleId.
         | 
| 169 142 | 
             
                /// Used for GIF core contracts.
         | 
| 170 143 | 
             
                function roleForTypeAndVersion(ObjectType objectType, VersionPart majorVersion) public pure returns (RoleId) {
         | 
| 171 144 | 
             
                    return RoleId.wrap(
         | 
| 172 | 
            -
                        uint64( | 
| 145 | 
            +
                        uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + majorVersion.toInt()));
         | 
| 173 146 | 
             
                }
         | 
| 174 147 |  | 
| 175 148 | 
             
                /// @dev Converts an uint into a RoleId.
         | 
| 176 149 | 
             
                /// Used for GIF core contracts.
         | 
| 177 150 | 
             
                function roleForTypeAndAllVersions(ObjectType objectType) public pure returns (RoleId) {
         | 
| 178 151 | 
             
                    return RoleId.wrap(
         | 
| 179 | 
            -
                        uint64( | 
| 152 | 
            +
                        uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + ALL_VERSIONS));
         | 
| 180 153 | 
             
                }
         | 
| 181 154 |  | 
| 182 155 | 
             
                /// @dev Returns true if the value is non-zero (> 0).
         | 
| @@ -16,6 +16,7 @@ using { | |
| 16 16 | 
             
                eqUFixed as ==,
         | 
| 17 17 | 
             
                neUFixed as !=,
         | 
| 18 18 | 
             
                UFixedLib.toInt,
         | 
| 19 | 
            +
                UFixedLib.toInt1000,
         | 
| 19 20 | 
             
                UFixedLib.gtz
         | 
| 20 21 | 
             
            } for UFixed global;
         | 
| 21 22 |  | 
| @@ -236,6 +237,11 @@ library UFixedLib { | |
| 236 237 | 
             
                    return toIntWithRounding(a, ROUNDING_HALF_UP());
         | 
| 237 238 | 
             
                }
         | 
| 238 239 |  | 
| 240 | 
            +
                /// @dev Converts a UFixed to a uint256.
         | 
| 241 | 
            +
                function toInt1000(UFixed a) public pure returns (uint256) {
         | 
| 242 | 
            +
                    return toIntWithRounding(toUFixed(1000) * a, ROUNDING_HALF_UP());
         | 
| 243 | 
            +
                }
         | 
| 244 | 
            +
             | 
| 239 245 | 
             
                /// @dev Converts a UFixed to a uint256 with given rounding mode.
         | 
| 240 246 | 
             
                function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
         | 
| 241 247 | 
             
                    if (rounding == ROUNDING_HALF_UP()) {
         | 
| @@ -7,6 +7,7 @@ using { | |
| 7 7 | 
             
                versionPartGt as >,
         | 
| 8 8 | 
             
                versionPartEq as ==,
         | 
| 9 9 | 
             
                versionPartNe as !=,
         | 
| 10 | 
            +
                VersionPartLib.eqz,
         | 
| 10 11 | 
             
                VersionPartLib.toInt
         | 
| 11 12 | 
             
            }
         | 
| 12 13 | 
             
                for VersionPart global;
         | 
| @@ -16,7 +17,8 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) { | |
| 16 17 | 
             
            function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
         | 
| 17 18 |  | 
| 18 19 | 
             
            library VersionPartLib {
         | 
| 19 | 
            -
                function  | 
| 20 | 
            +
                function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
         | 
| 21 | 
            +
                function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
         | 
| 20 22 | 
             
                function toVersionPart(uint256 a) external pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
         | 
| 21 23 | 
             
            }
         | 
| 22 24 |  | 
| @@ -1,17 +1,16 @@ | |
| 1 1 | 
             
            // SPDX-License-Identifier: Apache-2.0
         | 
| 2 2 | 
             
            pragma solidity ^0.8.20;
         | 
| 3 3 |  | 
| 4 | 
            +
            import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
         | 
| 4 5 | 
             
            import {ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
         | 
| 5 6 |  | 
| 6 7 | 
             
            import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
         | 
| 7 8 | 
             
            import {IVersionable} from "./IVersionable.sol";
         | 
| 8 | 
            -
            import { | 
| 9 | 
            -
            import { | 
| 10 | 
            -
            import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
         | 
| 9 | 
            +
            import {NftId} from "../type/NftId.sol";
         | 
| 10 | 
            +
            import {NftOwnable} from "../shared/NftOwnable.sol";
         | 
| 11 11 | 
             
            import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
         | 
| 12 12 | 
             
            import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
         | 
| 13 13 | 
             
            import {Version, VersionLib} from "../type/Version.sol";
         | 
| 14 | 
            -
            import {NftId} from "../type/NftId.sol";
         | 
| 15 14 |  | 
| 16 15 | 
             
            /// @dev manages proxy deployments for upgradable contracs of type IVersionable
         | 
| 17 16 | 
             
            contract ProxyManager is
         | 
| @@ -2,9 +2,7 @@ | |
| 2 2 | 
             
            pragma solidity ^0.8.20;
         | 
| 3 3 |  | 
| 4 4 | 
             
            import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
         | 
| 5 | 
            -
            import {TransparentUpgradeableProxy | 
| 6 | 
            -
             | 
| 7 | 
            -
            import {IVersionable} from "./IVersionable.sol";
         | 
| 5 | 
            +
            import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
         | 
| 8 6 |  | 
| 9 7 | 
             
            contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
         | 
| 10 8 |  | 
    
        package/package.json
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
              "name": "@etherisc/gif-next",
         | 
| 3 | 
            -
              "version": "0.0.2- | 
| 3 | 
            +
              "version": "0.0.2-f2a5ca7-763",
         | 
| 4 4 | 
             
              "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
         | 
| 5 5 | 
             
              "main": "index.js",
         | 
| 6 6 | 
             
              "scripts": {
         | 
| @@ -43,8 +43,8 @@ | |
| 43 43 | 
             
                "typescript": "^5"
         | 
| 44 44 | 
             
              },
         | 
| 45 45 | 
             
              "dependencies": {
         | 
| 46 | 
            -
                "@openzeppelin/contracts": "5.0. | 
| 47 | 
            -
                "@openzeppelin/contracts-upgradeable": "5.0. | 
| 46 | 
            +
                "@openzeppelin/contracts": "5.0.2",
         | 
| 47 | 
            +
                "@openzeppelin/contracts-upgradeable": "5.0.2",
         | 
| 48 48 | 
             
                "@openzeppelin/upgrades-core": "^1.34.1",
         | 
| 49 49 | 
             
                "abi-coder": "^5.0.0",
         | 
| 50 50 | 
             
                "antlr4ng": "^3.0.4",
         |