@etherisc/gif-next 0.0.2-e964d24-516 → 0.0.2-e987ccf-894
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 +51 -5
- 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/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- 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/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- 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 +1500 -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 +179 -385
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +280 -324
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +130 -72
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +171 -254
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +186 -94
- 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 +77 -78
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +193 -52
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +93 -126
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
- 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 +590 -328
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +282 -101
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +120 -42
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1294 -370
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- 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/IAccess.sol/IAccess.json +8 -116
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1137 -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 +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1029 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1406 -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 +399 -213
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -50
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +204 -32
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +181 -356
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +342 -211
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +227 -442
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +401 -432
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +106 -68
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +92 -158
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +111 -37
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1254 -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 +142 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +130 -56
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +25 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +46 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +217 -73
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +83 -44
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +271 -173
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +13 -55
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +244 -286
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +117 -91
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +188 -220
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +135 -57
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +345 -331
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +47 -203
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +94 -32
- 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 +183 -29
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +206 -124
- 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 +440 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +370 -68
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +99 -35
- 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 +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -138
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +104 -145
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1252 -203
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +804 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +76 -107
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -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/IService.sol/IService.json +20 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- 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 +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +951 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
- 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 +13 -7
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +21 -7
- 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/Service.sol/Service.json +20 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +362 -7
- 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 +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1412 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +566 -54
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +387 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1941 -0
- 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 +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +661 -85
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
- 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 +97 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -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 +39 -34
- 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 +47 -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 +149 -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 +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- 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 +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +100 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- 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 +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -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/authorization/AccessAdmin.sol +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +217 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +162 -152
- package/contracts/distribution/DistributionService.sol +124 -136
- package/contracts/distribution/DistributionServiceManager.sol +11 -23
- package/contracts/distribution/IDistributionComponent.sol +28 -47
- package/contracts/distribution/IDistributionService.sol +24 -10
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +26 -17
- package/contracts/instance/IInstanceService.sol +46 -27
- package/contracts/instance/Instance.sol +114 -89
- package/contracts/instance/InstanceAdmin.sol +285 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +203 -0
- package/contracts/instance/InstanceReader.sol +106 -52
- package/contracts/instance/InstanceService.sol +291 -132
- package/contracts/instance/InstanceServiceManager.sol +12 -26
- package/contracts/instance/InstanceStore.sol +146 -66
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +110 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +18 -21
- package/contracts/instance/module/IAccess.sol +2 -10
- package/contracts/instance/module/IBundle.sol +1 -4
- package/contracts/instance/module/IComponents.sol +15 -10
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +29 -22
- package/contracts/mock/Dip.sol +26 -0
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +166 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +252 -196
- package/contracts/pool/BundleServiceManager.sol +11 -23
- package/contracts/pool/IBundleService.sol +35 -19
- package/contracts/pool/IPoolComponent.sol +10 -66
- package/contracts/pool/IPoolService.sol +79 -33
- package/contracts/pool/Pool.sol +168 -144
- package/contracts/pool/PoolService.sol +322 -216
- package/contracts/pool/PoolServiceManager.sol +11 -23
- package/contracts/product/ApplicationService.sol +144 -81
- package/contracts/product/ApplicationServiceManager.sol +11 -8
- package/contracts/product/BasicProduct.sol +52 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +45 -66
- package/contracts/product/ClaimServiceManager.sol +11 -8
- package/contracts/product/IApplicationService.sol +2 -1
- package/contracts/product/IClaimService.sol +13 -3
- package/contracts/product/IPolicyService.sol +29 -36
- package/contracts/product/IPricingService.sol +10 -8
- package/contracts/product/IProductComponent.sol +10 -12
- package/contracts/product/IProductService.sol +2 -8
- package/contracts/product/PolicyService.sol +390 -190
- package/contracts/product/PolicyServiceManager.sol +11 -26
- package/contracts/product/PricingService.sol +103 -77
- package/contracts/product/PricingServiceManager.sol +11 -23
- package/contracts/product/Product.sol +154 -123
- package/contracts/product/ProductService.sol +36 -147
- package/contracts/product/ProductServiceManager.sol +11 -26
- package/contracts/registry/ChainNft.sol +8 -1
- package/contracts/registry/IRegistry.sol +55 -22
- package/contracts/registry/IRegistryService.sol +38 -35
- package/contracts/registry/Registry.sol +234 -125
- package/contracts/registry/RegistryAdmin.sol +374 -0
- package/contracts/registry/RegistryService.sol +67 -100
- package/contracts/registry/RegistryServiceManager.sol +23 -30
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/Component.sol +141 -144
- package/contracts/shared/ComponentService.sol +587 -96
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/IComponent.sol +21 -41
- package/contracts/shared/IComponentService.sol +108 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +6 -1
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +172 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +77 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +5 -16
- package/contracts/shared/PolicyHolder.sol +22 -17
- package/contracts/shared/Registerable.sol +2 -2
- package/contracts/shared/Service.sol +32 -22
- package/contracts/shared/TokenHandler.sol +112 -8
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +167 -0
- package/contracts/staking/IStakingService.sol +105 -47
- package/contracts/staking/StakeManagerLib.sol +206 -0
- package/contracts/staking/Staking.sol +497 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +50 -0
- package/contracts/staking/StakingReader.sol +183 -0
- package/contracts/staking/StakingService.sol +288 -47
- package/contracts/staking/{StakeingServiceManager.sol → StakingServiceManager.sol} +13 -6
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +29 -3
- package/contracts/type/Blocknumber.sol +26 -3
- package/contracts/type/Fee.sol +17 -16
- package/contracts/type/NftId.sol +14 -16
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +176 -62
- package/contracts/type/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +117 -40
- package/contracts/type/Seconds.sol +40 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +27 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +17 -3
- package/contracts/type/UFixed.sol +34 -9
- package/contracts/type/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/ProxyManager.sol +33 -4
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +8 -5
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- 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/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
- 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/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +0 -628
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -541
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -308
- package/contracts/instance/base/KeyValueStore.sol +0 -149
- package/contracts/instance/base/Lifecycle.sol +0 -120
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/registry/ReleaseManager.sol +0 -324
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -8,137 +8,146 @@ using {
|
|
8
8
|
eqObjectType as ==,
|
9
9
|
neObjectType as !=,
|
10
10
|
ObjectTypeLib.toInt,
|
11
|
+
ObjectTypeLib.eqz,
|
11
12
|
ObjectTypeLib.gtz
|
12
13
|
} for ObjectType global;
|
13
14
|
|
14
|
-
|
15
|
+
|
16
|
+
//--- GIF object types/domains (rage: 1 - 99) -------------------------------//
|
15
17
|
|
16
18
|
function PROTOCOL() pure returns (ObjectType) {
|
17
|
-
return
|
19
|
+
return ObjectType.wrap(1);
|
18
20
|
}
|
19
21
|
|
20
|
-
function
|
21
|
-
return
|
22
|
+
function REGISTRY() pure returns (ObjectType) {
|
23
|
+
return ObjectType.wrap(2);
|
22
24
|
}
|
23
25
|
|
24
|
-
function
|
25
|
-
return
|
26
|
+
function STAKING() pure returns (ObjectType) {
|
27
|
+
return ObjectType.wrap(3);
|
26
28
|
}
|
27
29
|
|
28
|
-
function
|
29
|
-
return
|
30
|
+
function RELEASE() pure returns (ObjectType) {
|
31
|
+
return ObjectType.wrap(6);
|
30
32
|
}
|
31
33
|
|
32
|
-
function
|
33
|
-
return
|
34
|
+
function ROLE() pure returns (ObjectType) {
|
35
|
+
return ObjectType.wrap(7);
|
34
36
|
}
|
35
37
|
|
36
38
|
function SERVICE() pure returns (ObjectType) {
|
37
|
-
return
|
39
|
+
return ObjectType.wrap(8);
|
38
40
|
}
|
39
41
|
|
40
42
|
function INSTANCE() pure returns (ObjectType) {
|
41
|
-
return
|
43
|
+
return ObjectType.wrap(10);
|
42
44
|
}
|
43
45
|
|
44
|
-
function
|
45
|
-
return
|
46
|
+
function COMPONENT() pure returns (ObjectType) {
|
47
|
+
return ObjectType.wrap(11);
|
46
48
|
}
|
47
49
|
|
48
|
-
function
|
49
|
-
return
|
50
|
+
function PRODUCT() pure returns (ObjectType) {
|
51
|
+
return ObjectType.wrap(12);
|
50
52
|
}
|
51
53
|
|
52
|
-
|
53
|
-
|
54
|
-
return toObjectType(101);
|
54
|
+
function ORACLE() pure returns (ObjectType) {
|
55
|
+
return ObjectType.wrap(13);
|
55
56
|
}
|
56
57
|
|
57
|
-
function
|
58
|
-
return
|
58
|
+
function DISTRIBUTION() pure returns (ObjectType) {
|
59
|
+
return ObjectType.wrap(14);
|
59
60
|
}
|
60
61
|
|
61
|
-
function
|
62
|
-
return
|
62
|
+
function POOL() pure returns (ObjectType) {
|
63
|
+
return ObjectType.wrap(15);
|
63
64
|
}
|
64
65
|
|
65
|
-
function
|
66
|
-
return
|
66
|
+
function APPLICATION() pure returns (ObjectType) {
|
67
|
+
return ObjectType.wrap(20);
|
67
68
|
}
|
68
69
|
|
69
|
-
function
|
70
|
-
return
|
70
|
+
function POLICY() pure returns (ObjectType) {
|
71
|
+
return ObjectType.wrap(21);
|
71
72
|
}
|
72
73
|
|
73
|
-
function
|
74
|
-
return
|
74
|
+
function PREMIUM() pure returns (ObjectType) {
|
75
|
+
return ObjectType.wrap(22);
|
75
76
|
}
|
76
77
|
|
77
|
-
function
|
78
|
-
return
|
78
|
+
function CLAIM() pure returns (ObjectType) {
|
79
|
+
return ObjectType.wrap(23);
|
79
80
|
}
|
80
81
|
|
81
|
-
function
|
82
|
-
return
|
82
|
+
function PAYOUT() pure returns (ObjectType) {
|
83
|
+
return ObjectType.wrap(24);
|
83
84
|
}
|
84
85
|
|
85
|
-
function
|
86
|
-
return
|
86
|
+
function RISK() pure returns (ObjectType) {
|
87
|
+
return ObjectType.wrap(25);
|
87
88
|
}
|
88
89
|
|
89
|
-
function
|
90
|
-
return
|
90
|
+
function PRICE() pure returns (ObjectType) {
|
91
|
+
return ObjectType.wrap(26);
|
91
92
|
}
|
92
93
|
|
93
|
-
function
|
94
|
-
return
|
94
|
+
function REQUEST() pure returns (ObjectType) {
|
95
|
+
return ObjectType.wrap(27);
|
95
96
|
}
|
96
97
|
|
97
|
-
function
|
98
|
-
return
|
98
|
+
function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
|
99
|
+
return ObjectType.wrap(28);
|
99
100
|
}
|
100
101
|
|
101
|
-
function
|
102
|
-
return
|
102
|
+
function DISTRIBUTOR() pure returns (ObjectType) {
|
103
|
+
return ObjectType.wrap(29);
|
103
104
|
}
|
104
105
|
|
105
|
-
function
|
106
|
-
return
|
106
|
+
function REFERRAL() pure returns (ObjectType) {
|
107
|
+
return ObjectType.wrap(30);
|
107
108
|
}
|
108
109
|
|
109
|
-
function
|
110
|
-
return
|
110
|
+
function BUNDLE() pure returns (ObjectType) {
|
111
|
+
return ObjectType.wrap(31);
|
111
112
|
}
|
112
113
|
|
113
|
-
function
|
114
|
-
return
|
114
|
+
function TARGET() pure returns (ObjectType) {
|
115
|
+
return ObjectType.wrap(32);
|
115
116
|
}
|
116
117
|
|
117
|
-
|
118
|
-
|
119
|
-
return ObjectType.wrap(uint8(objectType));
|
118
|
+
function STAKE() pure returns (ObjectType) {
|
119
|
+
return ObjectType.wrap(33);
|
120
120
|
}
|
121
121
|
|
122
|
-
|
123
|
-
///
|
124
|
-
function
|
125
|
-
return ObjectType.wrap(
|
122
|
+
/// @dev Object type that includes any other object type.
|
123
|
+
/// Note that eq()/'==' does not take this property into account.
|
124
|
+
function ALL() pure returns (ObjectType) {
|
125
|
+
return ObjectType.wrap(99);
|
126
126
|
}
|
127
127
|
|
128
|
-
// pure free functions for operators
|
128
|
+
// other pure free functions for operators
|
129
129
|
function eqObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
130
130
|
return ObjectType.unwrap(a) == ObjectType.unwrap(b);
|
131
131
|
}
|
132
132
|
|
133
|
-
function neObjectType(
|
134
|
-
ObjectType a,
|
135
|
-
ObjectType b
|
136
|
-
) pure returns (bool isDifferent) {
|
133
|
+
function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
137
134
|
return ObjectType.unwrap(a) != ObjectType.unwrap(b);
|
138
135
|
}
|
139
136
|
|
140
137
|
// library functions that operate on user defined type
|
141
138
|
library ObjectTypeLib {
|
139
|
+
|
140
|
+
error ErrorVersionTooBig(uint256 version);
|
141
|
+
|
142
|
+
function zero() public pure returns (ObjectType) {
|
143
|
+
return ObjectType.wrap(0);
|
144
|
+
}
|
145
|
+
|
146
|
+
/// @dev Converts the uint256 into ObjectType.
|
147
|
+
function toObjectType(uint256 objectType) public pure returns (ObjectType) {
|
148
|
+
return ObjectType.wrap(uint8(objectType));
|
149
|
+
}
|
150
|
+
|
142
151
|
/// @dev Converts the NftId to a uint256.
|
143
152
|
function toInt(ObjectType objectType) public pure returns (uint96) {
|
144
153
|
return uint96(ObjectType.unwrap(objectType));
|
@@ -156,6 +165,111 @@ library ObjectTypeLib {
|
|
156
165
|
|
157
166
|
/// @dev Returns true if the values are equal (==).
|
158
167
|
function eq(ObjectType a, ObjectType b) public pure returns (bool isSame) {
|
159
|
-
return
|
168
|
+
return ObjectType.unwrap(a) == ObjectType.unwrap(b);
|
169
|
+
}
|
170
|
+
|
171
|
+
/// @dev Returns true if the values are not equal (!=).
|
172
|
+
function ne(ObjectType a, ObjectType b) public pure returns (bool isSame) {
|
173
|
+
return ObjectType.unwrap(a) != ObjectType.unwrap(b);
|
174
|
+
}
|
175
|
+
|
176
|
+
/// @dev Returns the type/domain name for the provided object type
|
177
|
+
function toName(ObjectType objectType) public pure returns (string memory name) {
|
178
|
+
if (objectType == REGISTRY()) {
|
179
|
+
return "Registry";
|
180
|
+
} else if (objectType == STAKING()) {
|
181
|
+
return "Staking";
|
182
|
+
} else if (objectType == INSTANCE()) {
|
183
|
+
return "Instance";
|
184
|
+
} else if (objectType == COMPONENT()) {
|
185
|
+
return "Component";
|
186
|
+
} else if (objectType == PRODUCT()) {
|
187
|
+
return "Product";
|
188
|
+
} else if (objectType == ORACLE()) {
|
189
|
+
return "Oracle";
|
190
|
+
} else if (objectType == DISTRIBUTION()) {
|
191
|
+
return "Distribution";
|
192
|
+
} else if (objectType == POOL()) {
|
193
|
+
return "Pool";
|
194
|
+
} else if (objectType == APPLICATION()) {
|
195
|
+
return "Application";
|
196
|
+
} else if (objectType == POLICY()) {
|
197
|
+
return "Policy";
|
198
|
+
} else if (objectType == CLAIM()) {
|
199
|
+
return "Claim";
|
200
|
+
} else if (objectType == PRICE()) {
|
201
|
+
return "Price";
|
202
|
+
} else if (objectType == BUNDLE()) {
|
203
|
+
return "Bundle";
|
204
|
+
}
|
205
|
+
|
206
|
+
// fallback: ObjectType<obect-type-int>
|
207
|
+
return string(
|
208
|
+
abi.encodePacked(
|
209
|
+
"ObjectType",
|
210
|
+
toString(
|
211
|
+
toInt(objectType))));
|
212
|
+
}
|
213
|
+
|
214
|
+
function toVersionedName(
|
215
|
+
string memory name,
|
216
|
+
string memory suffix,
|
217
|
+
uint256 version
|
218
|
+
)
|
219
|
+
external
|
220
|
+
pure
|
221
|
+
returns (string memory versionedName)
|
222
|
+
{
|
223
|
+
if (version > maxNumReleases()) {
|
224
|
+
revert ErrorVersionTooBig(version);
|
225
|
+
}
|
226
|
+
|
227
|
+
string memory versionName = "_v0";
|
228
|
+
|
229
|
+
if (version >= 10) {
|
230
|
+
versionName = "_v";
|
231
|
+
}
|
232
|
+
|
233
|
+
versionedName = string(
|
234
|
+
abi.encodePacked(
|
235
|
+
name,
|
236
|
+
suffix,
|
237
|
+
versionName,
|
238
|
+
toString(version)));
|
239
|
+
}
|
240
|
+
|
241
|
+
/// @dev returns the max number of releases (major versions) this gif setup can handle.
|
242
|
+
function maxNumReleases() public pure returns (uint8) {
|
243
|
+
return 99;
|
244
|
+
}
|
245
|
+
|
246
|
+
/// @dev returns the provied int as a string
|
247
|
+
function toString(uint256 value) public pure returns (string memory name) {
|
248
|
+
|
249
|
+
if (value == 0) {
|
250
|
+
return "0";
|
251
|
+
}
|
252
|
+
|
253
|
+
uint256 temp = value;
|
254
|
+
uint256 digits = 0;
|
255
|
+
while (temp != 0) {
|
256
|
+
digits++;
|
257
|
+
temp /= 10;
|
258
|
+
}
|
259
|
+
|
260
|
+
bytes memory buffer = new bytes(digits);
|
261
|
+
uint index = digits - 1;
|
262
|
+
|
263
|
+
temp = value;
|
264
|
+
while (temp != 0) {
|
265
|
+
buffer[index] = bytes1(uint8(48 + temp % 10));
|
266
|
+
temp /= 10;
|
267
|
+
|
268
|
+
if (index > 0) {
|
269
|
+
index--;
|
270
|
+
}
|
271
|
+
}
|
272
|
+
|
273
|
+
return string(buffer);
|
160
274
|
}
|
161
275
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
5
|
import {NftId} from "./NftId.sol";
|
@@ -12,6 +12,7 @@ type ReferralStatus is uint8;
|
|
12
12
|
using {
|
13
13
|
eqReferralId as ==,
|
14
14
|
neReferralId as !=,
|
15
|
+
ReferralLib.eqz,
|
15
16
|
ReferralLib.toKey32
|
16
17
|
} for ReferralId global;
|
17
18
|
|
@@ -0,0 +1,75 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
|
+
import {REQUEST} from "./ObjectType.sol";
|
6
|
+
|
7
|
+
type RequestId is uint64;
|
8
|
+
|
9
|
+
// type bindings
|
10
|
+
using {
|
11
|
+
eqRequestId as ==,
|
12
|
+
neRequestId as !=,
|
13
|
+
RequestIdLib.eqz,
|
14
|
+
RequestIdLib.gtz,
|
15
|
+
RequestIdLib.toInt,
|
16
|
+
RequestIdLib.toKey32
|
17
|
+
} for RequestId global;
|
18
|
+
|
19
|
+
// general pure free functions
|
20
|
+
|
21
|
+
function eqRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
|
22
|
+
return RequestIdLib.eq(a, b);
|
23
|
+
}
|
24
|
+
|
25
|
+
function neRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
|
26
|
+
return RequestIdLib.ne(a, b);
|
27
|
+
}
|
28
|
+
|
29
|
+
library RequestIdLib {
|
30
|
+
|
31
|
+
// @dev zero element to refer to a non existing/initialized request
|
32
|
+
function zero() public pure returns (RequestId) {
|
33
|
+
return RequestId.wrap(0);
|
34
|
+
}
|
35
|
+
|
36
|
+
// @dev Converts an int id into a request id.
|
37
|
+
function toRequestId(uint256 id) public pure returns (RequestId) {
|
38
|
+
return RequestId.wrap(uint64(id));
|
39
|
+
}
|
40
|
+
|
41
|
+
// @dev Converts a request id back to an int value.
|
42
|
+
function toInt(RequestId requestId) public pure returns (uint256) {
|
43
|
+
return RequestId.unwrap(requestId);
|
44
|
+
}
|
45
|
+
|
46
|
+
// @dev Returns true iff request id a == 0
|
47
|
+
function eqz(RequestId a) public pure returns (bool) {
|
48
|
+
return RequestId.unwrap(a) == 0;
|
49
|
+
}
|
50
|
+
|
51
|
+
// @dev Returns true iff request id a > 0
|
52
|
+
function gtz(RequestId a) public pure returns (bool) {
|
53
|
+
return RequestId.unwrap(a) > 0;
|
54
|
+
}
|
55
|
+
|
56
|
+
// @dev Returns true iff risk ids a and b are identical
|
57
|
+
function eq(RequestId a, RequestId b) public pure returns (bool isSame) {
|
58
|
+
return RequestId.unwrap(a) == RequestId.unwrap(b);
|
59
|
+
}
|
60
|
+
|
61
|
+
// @dev Returns true iff risk ids a and b are different
|
62
|
+
function ne(RequestId a, RequestId b) public pure returns (bool isSame) {
|
63
|
+
return RequestId.unwrap(a) != RequestId.unwrap(b);
|
64
|
+
}
|
65
|
+
|
66
|
+
/// @dev Returns the key32 value for the specified nft id and object type.
|
67
|
+
function toKey32(RequestId id) public pure returns (Key32 key) {
|
68
|
+
return Key32Lib.toKey32(REQUEST(), toKeyId(id));
|
69
|
+
}
|
70
|
+
|
71
|
+
/// @dev Returns the key id value for the specified nft id
|
72
|
+
function toKeyId(RequestId id) public pure returns (KeyId keyId) {
|
73
|
+
return KeyId.wrap(bytes31(uint248(RequestId.unwrap(id))));
|
74
|
+
}
|
75
|
+
}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
|
-
import {ROLE} from "./ObjectType.sol";
|
5
|
+
import {ObjectType, ROLE} from "./ObjectType.sol";
|
6
|
+
import {VersionPart} from "./Version.sol";
|
6
7
|
|
7
8
|
type RoleId is uint64;
|
8
9
|
|
@@ -12,42 +13,11 @@ using {
|
|
12
13
|
neRoleId as !=,
|
13
14
|
RoleIdLib.eqz,
|
14
15
|
RoleIdLib.gtz,
|
15
|
-
RoleIdLib.toInt
|
16
|
-
RoleIdLib.toKey32
|
16
|
+
RoleIdLib.toInt
|
17
|
+
// RoleIdLib.toKey32
|
17
18
|
} for RoleId global;
|
18
19
|
|
19
|
-
|
20
|
-
/// @dev role id needs to match with oz AccessManager.ADMIN_ROLE
|
21
|
-
function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).min); }
|
22
|
-
|
23
|
-
/// @dev role id needs to match with oz AccessManager.PUBLIC_ROLE
|
24
|
-
function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
|
25
|
-
|
26
20
|
// general pure free functions
|
27
|
-
function DISTRIBUTION_OWNER_ROLE_NAME() pure returns (string memory) { return "DistributionOwnerRole"; }
|
28
|
-
function ORACLE_OWNER_ROLE_NAME() pure returns (string memory) { return "OracleOwnerRole"; }
|
29
|
-
function POOL_OWNER_ROLE_NAME() pure returns (string memory) { return "PoolOwnerRole"; }
|
30
|
-
function PRODUCT_OWNER_ROLE_NAME() pure returns (string memory) { return "ProductOwnerRole"; }
|
31
|
-
|
32
|
-
function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2); }
|
33
|
-
function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
|
34
|
-
function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
|
35
|
-
function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(5); }
|
36
|
-
|
37
|
-
function INSTANCE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1900); }
|
38
|
-
function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
|
39
|
-
function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
|
40
|
-
function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
|
41
|
-
function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
|
42
|
-
function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
|
43
|
-
function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
|
44
|
-
function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
|
45
|
-
function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
|
46
|
-
function INSTANCE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2600); }
|
47
|
-
|
48
|
-
function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1500); }
|
49
|
-
function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1600); }
|
50
|
-
function RELEASE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
|
51
21
|
|
52
22
|
// @dev Returns true iff role ids a and b are identical
|
53
23
|
function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
|
@@ -59,22 +29,129 @@ function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
|
|
59
29
|
return RoleId.unwrap(a) != RoleId.unwrap(b);
|
60
30
|
}
|
61
31
|
|
32
|
+
//--- OpenZeppelin provided roles -------------------------------------------//
|
33
|
+
|
34
|
+
/// @dev Role ID needs to match with oz AccessManager.ADMIN_ROLE
|
35
|
+
function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).min); }
|
36
|
+
|
37
|
+
/// @dev Role ID needs to match with oz AccessManager.PUBLIC_ROLE
|
38
|
+
function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
|
39
|
+
|
40
|
+
//--- GIF roles (range: 1-99) ----------------------------------------------//
|
41
|
+
|
42
|
+
/// @dev cental role for gif release management.
|
43
|
+
/// this role is necessary to call ReleaseManager.createNextRelease/activateNextRelease
|
44
|
+
/// the actual deployment of a release requires the GIF_MANAGER_ROLE.
|
45
|
+
/// GIF_ADMIN_ROLE is the admin of the GIF_MANAGER_ROLE.
|
46
|
+
/// only a single holder may hold this role at any time
|
47
|
+
function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1); }
|
48
|
+
|
49
|
+
/// @dev role for token whith/blacklisting, deploying and registering the services for a new major release
|
50
|
+
/// registering services for a new major release is only possible after a new initial release has been created by the GIF_ADMIN_ROLE
|
51
|
+
/// token white/blacklisting is possible for any active release
|
52
|
+
function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2); }
|
53
|
+
|
54
|
+
/// @dev role for registering remote staking targets and reporting remote total value locked amounts.
|
55
|
+
function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
|
56
|
+
|
57
|
+
/// @dev instance specific role to register/own a product component
|
58
|
+
function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(11); }
|
59
|
+
|
60
|
+
/// @dev instance specific role to register/own an oracle component
|
61
|
+
function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(12); }
|
62
|
+
|
63
|
+
/// @dev instance specific role to register/own a distribution component
|
64
|
+
function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(13); }
|
65
|
+
|
66
|
+
/// @dev instance specific role to register/own a pool component
|
67
|
+
function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14); }
|
68
|
+
|
69
|
+
//--- GIF core contract roles (range: 200 - 9'900) --------------------------//
|
70
|
+
// created and assigned during initial deployment for registry and staking
|
71
|
+
// granting for instances and components in instance service
|
72
|
+
// object type * 100 + 0, examples:
|
73
|
+
// - registry contract role: 200
|
74
|
+
// - staking contract role: 300
|
75
|
+
// - instance contract role: 1000
|
76
|
+
|
77
|
+
//--- GIF service roles (range 201 - 9'9xx) ---------------------------------//
|
78
|
+
// created and assigned by release manager contract
|
79
|
+
// object type * 100 + 1/major version, examples:
|
80
|
+
// - registry service role (any version): 299
|
81
|
+
// - registry service role (version 3): 203
|
82
|
+
// - registry service role (any version): 399
|
83
|
+
// - staking service role: (version 3): 303
|
84
|
+
// - application service role (version 3): 2003
|
85
|
+
|
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
|
97
|
+
|
98
|
+
|
99
|
+
//--- Custom roles (range >= 1'000'000) -------------------------------------//
|
100
|
+
|
101
|
+
function CUSTOM_ROLE_MIN() pure returns (RoleId) { return RoleIdLib.toRoleId(1000000); }
|
102
|
+
|
62
103
|
library RoleIdLib {
|
63
|
-
|
104
|
+
|
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;
|
109
|
+
|
110
|
+
/// @dev Converts the RoleId to a uint.
|
64
111
|
function zero() public pure returns (RoleId) {
|
65
112
|
return RoleId.wrap(0);
|
66
113
|
}
|
67
114
|
|
68
|
-
/// @dev Converts an uint into a
|
69
|
-
function toRoleId(
|
70
|
-
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);
|
71
118
|
}
|
72
119
|
|
73
|
-
/// @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.
|
74
131
|
function toInt(RoleId a) public pure returns (uint64) {
|
75
132
|
return uint64(RoleId.unwrap(a));
|
76
133
|
}
|
77
134
|
|
135
|
+
/// @dev Converts an uint into a role id.
|
136
|
+
/// Used for GIF core contracts.
|
137
|
+
function roleForType(ObjectType objectType) public pure returns (RoleId) {
|
138
|
+
return RoleId.wrap(SERVICE_DOMAIN_ROLE_FACTOR * uint64(objectType.toInt()));
|
139
|
+
}
|
140
|
+
|
141
|
+
/// @dev Converts an uint into a RoleId.
|
142
|
+
/// Used for GIF core contracts.
|
143
|
+
function roleForTypeAndVersion(ObjectType objectType, VersionPart majorVersion) public pure returns (RoleId) {
|
144
|
+
return RoleId.wrap(
|
145
|
+
uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + majorVersion.toInt()));
|
146
|
+
}
|
147
|
+
|
148
|
+
/// @dev Converts an uint into a RoleId.
|
149
|
+
/// Used for GIF core contracts.
|
150
|
+
function roleForTypeAndAllVersions(ObjectType objectType) public pure returns (RoleId) {
|
151
|
+
return RoleId.wrap(
|
152
|
+
uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + ALL_VERSIONS));
|
153
|
+
}
|
154
|
+
|
78
155
|
/// @dev Returns true if the value is non-zero (> 0).
|
79
156
|
function gtz(RoleId a) public pure returns (bool) {
|
80
157
|
return RoleId.unwrap(a) > 0;
|
@@ -4,11 +4,27 @@ pragma solidity ^0.8.20;
|
|
4
4
|
type Seconds is uint40;
|
5
5
|
|
6
6
|
using {
|
7
|
+
SecondsEq as ==,
|
8
|
+
SecondsGt as >,
|
9
|
+
SecondsAdd as +,
|
7
10
|
SecondsLib.eqz,
|
8
11
|
SecondsLib.gtz,
|
9
|
-
SecondsLib.toInt
|
12
|
+
SecondsLib.toInt,
|
13
|
+
SecondsLib.add
|
10
14
|
} for Seconds global;
|
11
15
|
|
16
|
+
function SecondsEq(Seconds duration1, Seconds duration2) pure returns (bool) {
|
17
|
+
return SecondsLib.eq(duration1, duration2);
|
18
|
+
}
|
19
|
+
|
20
|
+
function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
|
21
|
+
return SecondsLib.gt(duration1, duration2);
|
22
|
+
}
|
23
|
+
|
24
|
+
function SecondsAdd(Seconds duration1, Seconds duration2) pure returns (Seconds) {
|
25
|
+
return SecondsLib.add(duration1, duration2);
|
26
|
+
}
|
27
|
+
|
12
28
|
|
13
29
|
library SecondsLib {
|
14
30
|
|
@@ -22,6 +38,14 @@ library SecondsLib {
|
|
22
38
|
return Seconds.wrap(_max());
|
23
39
|
}
|
24
40
|
|
41
|
+
function oneDay() public pure returns (Seconds duration) {
|
42
|
+
return Seconds.wrap(24 * 3600);
|
43
|
+
}
|
44
|
+
|
45
|
+
function oneYear() public pure returns (Seconds duration) {
|
46
|
+
return Seconds.wrap(365 * 24 * 3600);
|
47
|
+
}
|
48
|
+
|
25
49
|
/// @dev converts the uint duration into Seconds
|
26
50
|
/// function reverts if duration is exceeding max Seconds value
|
27
51
|
function toSeconds(uint256 duration) public pure returns (Seconds) {
|
@@ -43,6 +67,21 @@ library SecondsLib {
|
|
43
67
|
return Seconds.unwrap(duration) > 0;
|
44
68
|
}
|
45
69
|
|
70
|
+
/// @dev return true iff duration1 and duration2 are the same
|
71
|
+
function eq(Seconds duration1, Seconds duration2) public pure returns (bool) {
|
72
|
+
return Seconds.unwrap(duration1) == Seconds.unwrap(duration2);
|
73
|
+
}
|
74
|
+
|
75
|
+
/// @dev return true if duration1 is larger than duration2
|
76
|
+
function gt(Seconds duration1, Seconds duration2) public pure returns (bool) {
|
77
|
+
return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
|
78
|
+
}
|
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
|
+
|
46
85
|
function toInt(Seconds duration) public pure returns (uint256) {
|
47
86
|
return uint256(uint40(Seconds.unwrap(duration)));
|
48
87
|
}
|