@etherisc/gif-next 0.0.2-fd2113c-488 → 0.0.2-fd2ea71-734
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 +49 -4
- 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 +1489 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +46 -303
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +214 -90
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +71 -55
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +91 -160
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +103 -16
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +6 -19
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +32 -44
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +35 -96
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +132 -140
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -125
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +35 -59
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +90 -219
- 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/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 +1126 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +43 -37
- 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 +40 -168
- 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 +1395 -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 +394 -62
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +107 -43
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +205 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -289
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +194 -54
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +44 -428
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +262 -90
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +52 -36
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +33 -44
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +32 -40
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1243 -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 +88 -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/IApplicationService.sol/IApplicationService.json +5 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +16 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +188 -108
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +32 -79
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +2 -2
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +254 -174
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +59 -43
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +63 -58
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +47 -47
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +32 -228
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +695 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +702 -0
- 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 +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- 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 +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/Component.sol/Component.json +0 -64
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +255 -86
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +69 -61
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -26
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +153 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +32 -37
- 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/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +32 -128
- 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/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 +330 -11
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +0 -26
- 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 +40 -113
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +55 -119
- 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 +46 -46
- 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 +146 -165
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +27 -22
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +55 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +117 -14
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/{shared → authorization}/AccessAdmin.sol +135 -303
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +217 -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 +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +144 -110
- package/contracts/distribution/DistributionService.sol +57 -32
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +25 -39
- package/contracts/distribution/IDistributionService.sol +15 -1
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +14 -38
- package/contracts/instance/IInstanceService.sol +13 -18
- package/contracts/instance/Instance.sol +67 -101
- package/contracts/instance/InstanceAdmin.sol +221 -267
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +32 -16
- package/contracts/instance/InstanceService.sol +104 -76
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +13 -5
- package/contracts/instance/base/ObjectLifecycle.sol +105 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -12
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -7
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +1 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +16 -0
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/Oracle.sol +73 -51
- package/contracts/oracle/OracleService.sol +1 -0
- package/contracts/oracle/OracleServiceManager.sol +2 -5
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +181 -41
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +33 -5
- package/contracts/pool/IPoolComponent.sol +6 -60
- package/contracts/pool/IPoolService.sol +37 -24
- package/contracts/pool/Pool.sol +166 -137
- package/contracts/pool/PoolService.sol +175 -86
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +49 -53
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +53 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +13 -39
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +1 -0
- package/contracts/product/IPolicyService.sol +23 -17
- package/contracts/product/IProductComponent.sol +7 -9
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +242 -133
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +5 -1
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +141 -107
- package/contracts/product/{ProductService.sol → RiskService.sol} +10 -37
- package/contracts/product/RiskServiceManager.sol +39 -0
- 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 +127 -86
- package/contracts/registry/RegistryService.sol +4 -18
- package/contracts/registry/RegistryServiceManager.sol +2 -2
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +14 -14
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +24 -37
- package/contracts/shared/ComponentService.sol +96 -72
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/IComponent.sol +4 -4
- package/contracts/shared/IComponentService.sol +15 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -7
- package/contracts/shared/IKeyValueStore.sol +1 -0
- package/contracts/shared/ILifecycle.sol +1 -2
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +47 -19
- package/contracts/shared/KeyValueStore.sol +6 -2
- package/contracts/shared/Lifecycle.sol +16 -69
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +2 -2
- package/contracts/shared/PolicyHolder.sol +2 -5
- package/contracts/shared/Service.sol +3 -4
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +1 -2
- package/contracts/staking/IStakingService.sol +12 -5
- package/contracts/staking/StakeManagerLib.sol +0 -25
- package/contracts/staking/Staking.sol +21 -37
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +2 -6
- package/contracts/staking/StakingReader.sol +12 -16
- package/contracts/staking/StakingService.sol +8 -12
- package/contracts/staking/StakingServiceManager.sol +2 -2
- package/contracts/staking/StakingStore.sol +15 -23
- package/contracts/type/Amount.sol +12 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ObjectType.sol +37 -7
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RoleId.sol +55 -82
- package/contracts/type/Seconds.sol +13 -1
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +34 -9
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +3 -4
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +6 -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/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- 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 -1218
- 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/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -527
- 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
@@ -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).
|
@@ -6,9 +6,11 @@ type Seconds is uint40;
|
|
6
6
|
using {
|
7
7
|
SecondsEq as ==,
|
8
8
|
SecondsGt as >,
|
9
|
+
SecondsAdd as +,
|
9
10
|
SecondsLib.eqz,
|
10
11
|
SecondsLib.gtz,
|
11
|
-
SecondsLib.toInt
|
12
|
+
SecondsLib.toInt,
|
13
|
+
SecondsLib.add
|
12
14
|
} for Seconds global;
|
13
15
|
|
14
16
|
function SecondsEq(Seconds duration1, Seconds duration2) pure returns (bool) {
|
@@ -19,6 +21,11 @@ function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
|
|
19
21
|
return SecondsLib.gt(duration1, duration2);
|
20
22
|
}
|
21
23
|
|
24
|
+
function SecondsAdd(Seconds duration1, Seconds duration2) pure returns (Seconds) {
|
25
|
+
return SecondsLib.add(duration1, duration2);
|
26
|
+
}
|
27
|
+
|
28
|
+
|
22
29
|
library SecondsLib {
|
23
30
|
|
24
31
|
error ErrorSecondsLibDurationTooBig(uint256 duration);
|
@@ -70,6 +77,11 @@ library SecondsLib {
|
|
70
77
|
return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
|
71
78
|
}
|
72
79
|
|
80
|
+
/// @dev return add duration1 and duration2
|
81
|
+
function add(Seconds duration1, Seconds duration2) public pure returns (Seconds) {
|
82
|
+
return Seconds.wrap(Seconds.unwrap(duration1) + Seconds.unwrap(duration2));
|
83
|
+
}
|
84
|
+
|
73
85
|
function toInt(Seconds duration) public pure returns (uint256) {
|
74
86
|
return uint256(uint40(Seconds.unwrap(duration)));
|
75
87
|
}
|
@@ -12,6 +12,12 @@ using {
|
|
12
12
|
lteTimestamp as <=,
|
13
13
|
eqTimestamp as ==,
|
14
14
|
neTimestamp as !=,
|
15
|
+
TimestampLib.eq,
|
16
|
+
TimestampLib.ne,
|
17
|
+
TimestampLib.gt,
|
18
|
+
TimestampLib.gte,
|
19
|
+
TimestampLib.lt,
|
20
|
+
TimestampLib.lte,
|
15
21
|
TimestampLib.gtz,
|
16
22
|
TimestampLib.eqz,
|
17
23
|
TimestampLib.addSeconds,
|
@@ -50,7 +56,7 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
|
|
50
56
|
|
51
57
|
/// @dev Converts the uint256 to a Timestamp.
|
52
58
|
function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
|
53
|
-
return
|
59
|
+
return TimestampLib.toTimestamp(timestamp);
|
54
60
|
}
|
55
61
|
|
56
62
|
// TODO move to TimestampLib and rename to zero()
|
@@ -72,6 +78,10 @@ library TimestampLib {
|
|
72
78
|
function blockTimestamp() public view returns (Timestamp) {
|
73
79
|
return Timestamp.wrap(uint40(block.timestamp));
|
74
80
|
}
|
81
|
+
|
82
|
+
function toTimestamp(uint256 timestamp) public pure returns (Timestamp) {
|
83
|
+
return Timestamp.wrap(uint40(timestamp));
|
84
|
+
}
|
75
85
|
|
76
86
|
/// @dev return true if Timestamp a is after Timestamp b
|
77
87
|
function gt(Timestamp a, Timestamp b) public pure returns (bool isAfter) {
|
@@ -15,8 +15,10 @@ using {
|
|
15
15
|
lteUFixed as <=,
|
16
16
|
eqUFixed as ==,
|
17
17
|
neUFixed as !=,
|
18
|
+
UFixedLib.gt,
|
19
|
+
UFixedLib.gtz,
|
18
20
|
UFixedLib.toInt,
|
19
|
-
UFixedLib.
|
21
|
+
UFixedLib.toInt1000
|
20
22
|
} for UFixed global;
|
21
23
|
|
22
24
|
// TODO move to UFixedLib and rename to zero()
|
@@ -29,7 +31,9 @@ function addUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
29
31
|
}
|
30
32
|
|
31
33
|
function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
32
|
-
|
34
|
+
if (a < b) {
|
35
|
+
revert UFixedLib.UFixedLibNegativeResult();
|
36
|
+
}
|
33
37
|
return UFixed.wrap(UFixed.unwrap(a) - UFixed.unwrap(b));
|
34
38
|
}
|
35
39
|
|
@@ -39,8 +43,10 @@ function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
39
43
|
}
|
40
44
|
|
41
45
|
function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
42
|
-
|
43
|
-
|
46
|
+
if (UFixed.unwrap(b) == 0) {
|
47
|
+
revert UFixedLib.UFixedLibDivisionByZero();
|
48
|
+
}
|
49
|
+
|
44
50
|
return
|
45
51
|
UFixed.wrap(MathLib.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
|
46
52
|
}
|
@@ -88,6 +94,8 @@ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
88
94
|
/// @dev copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/contracts/utils/math/Math.sol
|
89
95
|
library MathLib {
|
90
96
|
|
97
|
+
error MathLigMulDivOverflow();
|
98
|
+
|
91
99
|
enum Rounding {
|
92
100
|
Down, // Toward negative infinity
|
93
101
|
Up, // Toward infinity
|
@@ -121,8 +129,10 @@ library MathLib {
|
|
121
129
|
}
|
122
130
|
|
123
131
|
// Make sure the result is less than 2^256. Also prevents denominator == 0.
|
124
|
-
|
125
|
-
|
132
|
+
if (denominator <= prod1) {
|
133
|
+
revert MathLigMulDivOverflow();
|
134
|
+
}
|
135
|
+
|
126
136
|
///////////////////////////////////////////////
|
127
137
|
// 512 by 256 division.
|
128
138
|
///////////////////////////////////////////////
|
@@ -194,6 +204,12 @@ library MathLib {
|
|
194
204
|
}
|
195
205
|
|
196
206
|
library UFixedLib {
|
207
|
+
error UFixedLibNegativeResult();
|
208
|
+
error UFixedLibDivisionByZero();
|
209
|
+
|
210
|
+
error UFixedLibExponentTooSmall(int8 exp);
|
211
|
+
error UFixedLibExponentTooLarge(int8 exp);
|
212
|
+
|
197
213
|
int8 public constant EXP = 18;
|
198
214
|
uint256 public constant MULTIPLIER = 10 ** uint256(int256(EXP));
|
199
215
|
uint256 public constant MULTIPLIER_HALF = MULTIPLIER / 2;
|
@@ -220,9 +236,13 @@ library UFixedLib {
|
|
220
236
|
|
221
237
|
/// @dev Converts the uint256 to a UFixed with given exponent.
|
222
238
|
function toUFixed(uint256 a, int8 exp) public pure returns (UFixed) {
|
223
|
-
|
224
|
-
|
225
|
-
|
239
|
+
if (EXP + exp < 0) {
|
240
|
+
revert UFixedLibExponentTooSmall(exp);
|
241
|
+
}
|
242
|
+
if (EXP + exp > 64) {
|
243
|
+
revert UFixedLibExponentTooLarge(exp);
|
244
|
+
}
|
245
|
+
|
226
246
|
return UFixed.wrap(a * 10 ** uint8(EXP + exp));
|
227
247
|
}
|
228
248
|
|
@@ -236,6 +256,11 @@ library UFixedLib {
|
|
236
256
|
return toIntWithRounding(a, ROUNDING_HALF_UP());
|
237
257
|
}
|
238
258
|
|
259
|
+
/// @dev Converts a UFixed to a uint256.
|
260
|
+
function toInt1000(UFixed a) public pure returns (uint256) {
|
261
|
+
return toIntWithRounding(toUFixed(1000) * a, ROUNDING_HALF_UP());
|
262
|
+
}
|
263
|
+
|
239
264
|
/// @dev Converts a UFixed to a uint256 with given rounding mode.
|
240
265
|
function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
|
241
266
|
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-fd2ea71-734",
|
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": {
|
@@ -34,6 +34,7 @@
|
|
34
34
|
"@nomicfoundation/hardhat-verify": "^2.0.1",
|
35
35
|
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
36
36
|
"@typescript-eslint/parser": "^7.1.0",
|
37
|
+
"antlr4ng-cli": "^2.0.0",
|
37
38
|
"dotenv": "^16.3.1",
|
38
39
|
"eslint": "^8.50.0",
|
39
40
|
"hardhat": "^2.17.2",
|
@@ -42,9 +43,11 @@
|
|
42
43
|
"typescript": "^5"
|
43
44
|
},
|
44
45
|
"dependencies": {
|
45
|
-
"@openzeppelin/contracts": "5.0.
|
46
|
-
"@openzeppelin/contracts-upgradeable": "5.0.
|
46
|
+
"@openzeppelin/contracts": "5.0.2",
|
47
|
+
"@openzeppelin/contracts-upgradeable": "5.0.2",
|
48
|
+
"@openzeppelin/upgrades-core": "^1.34.1",
|
47
49
|
"abi-coder": "^5.0.0",
|
50
|
+
"antlr4ng": "^3.0.4",
|
48
51
|
"ethers": "^6.7.1",
|
49
52
|
"solidity-docgen": "^0.6.0-beta.36",
|
50
53
|
"winston": "^3.10.0"
|