@etherisc/gif-next 0.0.2-f13c010-035 → 0.0.2-f13d67f-541
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 +90 -317
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +729 -287
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +438 -35
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +560 -220
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +191 -21
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +132 -300
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +427 -53
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +64 -173
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +585 -231
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +190 -78
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +44 -135
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +401 -78
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +160 -224
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +426 -52
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +308 -337
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +426 -52
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +408 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1198 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2185 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +215 -257
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -165
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +278 -233
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +946 -466
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +51 -229
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +551 -50
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +417 -17
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +615 -105
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1121 -374
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +379 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1127 -557
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +434 -81
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +119 -49
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1286 -1925
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +83 -175
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +425 -54
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +48 -74
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -111
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +157 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +154 -46
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +106 -173
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +426 -52
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +317 -344
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -92
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +219 -146
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +63 -128
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +380 -214
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +76 -159
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +621 -413
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +186 -66
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +327 -62
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +143 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +199 -223
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +426 -52
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +294 -189
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +151 -83
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +268 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +181 -19
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +167 -56
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +77 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +175 -181
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +258 -22
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +296 -194
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +169 -77
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +139 -114
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +131 -59
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +193 -217
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +338 -87
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +141 -41
- 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 +78 -19
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +56 -3
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- 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 +116 -57
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +848 -479
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +89 -37
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +119 -39
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +398 -64
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +66 -96
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +308 -542
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +155 -83
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +544 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +48 -60
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +171 -356
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -74
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- 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/IRegisterable.sol/IRegisterable.json +139 -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 +56 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +66 -110
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -62
- 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 +51 -11
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +289 -112
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +70 -30
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1446 -164
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +214 -110
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1583 -296
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +160 -69
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +257 -162
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +122 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1632 -818
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +160 -88
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +11 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
- 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/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -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 +49 -50
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +69 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -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/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +61 -37
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +95 -25
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +389 -306
- package/contracts/authorization/AccessAdminLib.sol +678 -0
- package/contracts/authorization/AccessManagerCloneable.sol +128 -4
- package/contracts/authorization/Authorization.sol +161 -260
- package/contracts/authorization/IAccess.sol +29 -12
- package/contracts/authorization/IAccessAdmin.sol +89 -84
- package/contracts/authorization/IAuthorization.sol +9 -43
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +228 -34
- package/contracts/distribution/BasicDistribution.sol +19 -18
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +45 -85
- package/contracts/distribution/DistributionService.sol +192 -99
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +38 -24
- package/contracts/examples/fire/FirePool.sol +21 -8
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +38 -20
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/flight/FlightLib.sol +279 -0
- package/contracts/examples/flight/FlightOracle.sol +168 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +470 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
- package/contracts/examples/flight/FlightUSD.sol +26 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +39 -8
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +32 -6
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +132 -46
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +109 -19
- package/contracts/instance/IInstanceService.sol +61 -14
- package/contracts/instance/Instance.sol +184 -65
- package/contracts/instance/InstanceAdmin.sol +221 -193
- package/contracts/instance/InstanceAuthorizationV3.sol +153 -72
- package/contracts/instance/InstanceReader.sol +447 -314
- package/contracts/instance/InstanceService.sol +315 -214
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +152 -116
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +126 -0
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +6 -8
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +19 -10
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +28 -7
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +3 -6
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +5 -9
- package/contracts/oracle/OracleService.sol +98 -79
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +26 -19
- package/contracts/pool/BasicPoolAuthorization.sol +34 -10
- package/contracts/pool/BundleService.sol +75 -182
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +28 -55
- package/contracts/pool/IPoolComponent.sol +1 -7
- package/contracts/pool/IPoolService.sol +65 -62
- package/contracts/pool/Pool.sol +111 -115
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +299 -229
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +93 -25
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +10 -15
- package/contracts/product/BasicProductAuthorization.sol +33 -11
- package/contracts/product/ClaimService.sol +221 -207
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +28 -3
- package/contracts/product/IClaimService.sol +18 -5
- package/contracts/product/IPolicyService.sol +34 -12
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +25 -10
- package/contracts/product/PolicyService.sol +260 -306
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +52 -46
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +106 -70
- package/contracts/product/RiskService.sol +130 -37
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +25 -24
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/Registry.sol +31 -12
- package/contracts/registry/RegistryAdmin.sol +94 -369
- package/contracts/registry/RegistryAuthorization.sol +337 -0
- package/contracts/registry/RegistryService.sol +4 -4
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +199 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +158 -134
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -52
- package/contracts/registry/TokenRegistry.sol +61 -59
- package/contracts/shared/Component.sol +58 -119
- package/contracts/shared/ComponentService.sol +400 -395
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ContractLib.sol +277 -3
- package/contracts/shared/IComponent.sol +2 -18
- package/contracts/shared/IComponentService.sol +28 -38
- package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +15 -5
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +63 -44
- package/contracts/shared/NftOwnable.sol +8 -6
- package/contracts/shared/PolicyHolder.sol +4 -3
- package/contracts/shared/Registerable.sol +41 -20
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +13 -30
- package/contracts/shared/TokenHandler.sol +264 -105
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +270 -72
- package/contracts/staking/IStakingService.sol +45 -75
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +522 -222
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +58 -77
- package/contracts/staking/StakingService.sol +62 -148
- package/contracts/staking/StakingServiceManager.sol +6 -4
- package/contracts/staking/StakingStore.sol +1093 -330
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +17 -22
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +70 -68
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +63 -45
- package/contracts/type/Seconds.sol +23 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/String.sol +42 -0
- package/contracts/type/Timestamp.sol +14 -8
- package/contracts/type/UFixed.sol +35 -127
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +27 -13
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +4 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.json +0 -206
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -474
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/ComponentServiceHelperLib.sol +0 -118
- package/contracts/shared/ComponentVerifyingService.sol +0 -126
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -1,6 +1,9 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {StrLib} from "./String.sol";
|
5
|
+
import {VersionPart} from "./Version.sol";
|
6
|
+
|
4
7
|
type ObjectType is uint8;
|
5
8
|
|
6
9
|
// type bindings
|
@@ -8,6 +11,7 @@ using {
|
|
8
11
|
eqObjectType as ==,
|
9
12
|
neObjectType as !=,
|
10
13
|
ObjectTypeLib.toInt,
|
14
|
+
ObjectTypeLib.toName,
|
11
15
|
ObjectTypeLib.eqz,
|
12
16
|
ObjectTypeLib.eq,
|
13
17
|
ObjectTypeLib.gtz
|
@@ -44,10 +48,16 @@ function INSTANCE() pure returns (ObjectType) {
|
|
44
48
|
return ObjectType.wrap(10);
|
45
49
|
}
|
46
50
|
|
51
|
+
/// @dev Generic component object type.
|
52
|
+
/// Component role id range is 11-19.
|
53
|
+
/// Stick to this range for new component object types.
|
47
54
|
function COMPONENT() pure returns (ObjectType) {
|
48
55
|
return ObjectType.wrap(11);
|
49
56
|
}
|
50
57
|
|
58
|
+
/// @dev Product object type.
|
59
|
+
/// IMPORTANT the actual value has an influence on the corresponding role id (RoleIdLib.sol).
|
60
|
+
/// Do not change this value without updating the corresponding role id calculation.
|
51
61
|
function PRODUCT() pure returns (ObjectType) {
|
52
62
|
return ObjectType.wrap(12);
|
53
63
|
}
|
@@ -64,6 +74,8 @@ function POOL() pure returns (ObjectType) {
|
|
64
74
|
return ObjectType.wrap(15);
|
65
75
|
}
|
66
76
|
|
77
|
+
/// @dev Application object type.
|
78
|
+
/// Range for NFT objects created thorugh components is 20-29.
|
67
79
|
function APPLICATION() pure returns (ObjectType) {
|
68
80
|
return ObjectType.wrap(20);
|
69
81
|
}
|
@@ -72,52 +84,76 @@ function POLICY() pure returns (ObjectType) {
|
|
72
84
|
return ObjectType.wrap(21);
|
73
85
|
}
|
74
86
|
|
75
|
-
function
|
87
|
+
function BUNDLE() pure returns (ObjectType) {
|
76
88
|
return ObjectType.wrap(22);
|
77
89
|
}
|
78
90
|
|
79
|
-
function
|
91
|
+
function DISTRIBUTOR() pure returns (ObjectType) {
|
80
92
|
return ObjectType.wrap(23);
|
81
93
|
}
|
82
94
|
|
83
|
-
|
84
|
-
|
95
|
+
/// @dev Stake object type.
|
96
|
+
/// NFT object type is 30
|
97
|
+
function STAKE() pure returns (ObjectType) {
|
98
|
+
return ObjectType.wrap(30);
|
85
99
|
}
|
86
100
|
|
87
|
-
|
88
|
-
|
101
|
+
/// @dev Staking target object type.
|
102
|
+
function TARGET() pure returns (ObjectType) {
|
103
|
+
return ObjectType.wrap(31);
|
104
|
+
}
|
105
|
+
|
106
|
+
/// @dev Accounting object type.
|
107
|
+
/// Range for non-NFT types created through components is 40+
|
108
|
+
function ACCOUNTING() pure returns (ObjectType) {
|
109
|
+
return ObjectType.wrap(40);
|
110
|
+
}
|
111
|
+
|
112
|
+
function FEE() pure returns (ObjectType) {
|
113
|
+
return ObjectType.wrap(41);
|
89
114
|
}
|
90
115
|
|
91
116
|
function PRICE() pure returns (ObjectType) {
|
92
|
-
return ObjectType.wrap(
|
117
|
+
return ObjectType.wrap(42);
|
93
118
|
}
|
94
119
|
|
95
|
-
function
|
96
|
-
return ObjectType.wrap(
|
120
|
+
function PREMIUM() pure returns (ObjectType) {
|
121
|
+
return ObjectType.wrap(43);
|
97
122
|
}
|
98
123
|
|
99
|
-
function
|
100
|
-
return ObjectType.wrap(
|
124
|
+
function RISK() pure returns (ObjectType) {
|
125
|
+
return ObjectType.wrap(44);
|
101
126
|
}
|
102
127
|
|
103
|
-
function
|
104
|
-
return ObjectType.wrap(
|
128
|
+
function CLAIM() pure returns (ObjectType) {
|
129
|
+
return ObjectType.wrap(45);
|
105
130
|
}
|
106
131
|
|
107
|
-
function
|
108
|
-
return ObjectType.wrap(
|
132
|
+
function PAYOUT() pure returns (ObjectType) {
|
133
|
+
return ObjectType.wrap(46);
|
109
134
|
}
|
110
135
|
|
111
|
-
function
|
112
|
-
return ObjectType.wrap(
|
136
|
+
function REQUEST() pure returns (ObjectType) {
|
137
|
+
return ObjectType.wrap(47);
|
113
138
|
}
|
114
139
|
|
115
|
-
function
|
116
|
-
return ObjectType.wrap(
|
140
|
+
function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
|
141
|
+
return ObjectType.wrap(48);
|
117
142
|
}
|
118
143
|
|
119
|
-
function
|
120
|
-
return ObjectType.wrap(
|
144
|
+
function REFERRAL() pure returns (ObjectType) {
|
145
|
+
return ObjectType.wrap(49);
|
146
|
+
}
|
147
|
+
|
148
|
+
/// @dev Object type for GIF core target roles.
|
149
|
+
function CORE() pure returns (ObjectType) {
|
150
|
+
return ObjectType.wrap(97);
|
151
|
+
}
|
152
|
+
|
153
|
+
/// @dev Object type for target roles of contracts outside the GIF framework.
|
154
|
+
/// Example: Custom supporting contracts for a product component.
|
155
|
+
function CUSTOM() pure returns (ObjectType) {
|
156
|
+
return ObjectType.wrap(98);
|
121
157
|
}
|
122
158
|
|
123
159
|
/// @dev Object type that includes any other object type.
|
@@ -138,8 +174,6 @@ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
|
138
174
|
// library functions that operate on user defined type
|
139
175
|
library ObjectTypeLib {
|
140
176
|
|
141
|
-
error ErrorVersionTooBig(uint256 version);
|
142
|
-
|
143
177
|
function zero() public pure returns (ObjectType) {
|
144
178
|
return ObjectType.wrap(0);
|
145
179
|
}
|
@@ -180,6 +214,8 @@ library ObjectTypeLib {
|
|
180
214
|
return "Registry";
|
181
215
|
} else if (objectType == STAKING()) {
|
182
216
|
return "Staking";
|
217
|
+
} else if (objectType == RELEASE()) {
|
218
|
+
return "Release";
|
183
219
|
} else if (objectType == INSTANCE()) {
|
184
220
|
return "Instance";
|
185
221
|
} else if (objectType == COMPONENT()) {
|
@@ -202,33 +238,34 @@ library ObjectTypeLib {
|
|
202
238
|
return "Price";
|
203
239
|
} else if (objectType == BUNDLE()) {
|
204
240
|
return "Bundle";
|
241
|
+
} else if (objectType == RISK()) {
|
242
|
+
return "Risk";
|
243
|
+
} else if (objectType == ACCOUNTING()) {
|
244
|
+
return "Accounting";
|
205
245
|
}
|
206
246
|
|
207
247
|
// fallback: ObjectType<obect-type-int>
|
208
248
|
return string(
|
209
249
|
abi.encodePacked(
|
210
250
|
"ObjectType",
|
211
|
-
|
251
|
+
StrLib.uintToString(
|
212
252
|
toInt(objectType))));
|
213
253
|
}
|
214
254
|
|
255
|
+
// TODO move to IService
|
215
256
|
function toVersionedName(
|
216
257
|
string memory name,
|
217
258
|
string memory suffix,
|
218
|
-
|
259
|
+
VersionPart release
|
219
260
|
)
|
220
261
|
external
|
221
262
|
pure
|
222
263
|
returns (string memory versionedName)
|
223
264
|
{
|
224
|
-
|
225
|
-
revert ErrorVersionTooBig(version);
|
226
|
-
}
|
227
|
-
|
228
|
-
string memory versionName = "_v0";
|
265
|
+
string memory versionName = "V0";
|
229
266
|
|
230
|
-
if (
|
231
|
-
versionName = "
|
267
|
+
if (release.toInt() >= 10) {
|
268
|
+
versionName = "V";
|
232
269
|
}
|
233
270
|
|
234
271
|
versionedName = string(
|
@@ -236,41 +273,6 @@ library ObjectTypeLib {
|
|
236
273
|
name,
|
237
274
|
suffix,
|
238
275
|
versionName,
|
239
|
-
toString(
|
240
|
-
}
|
241
|
-
|
242
|
-
/// @dev returns the max number of releases (major versions) this gif setup can handle.
|
243
|
-
function maxNumReleases() public pure returns (uint8) {
|
244
|
-
return 99;
|
245
|
-
}
|
246
|
-
|
247
|
-
/// @dev returns the provied int as a string
|
248
|
-
function toString(uint256 value) public pure returns (string memory name) {
|
249
|
-
|
250
|
-
if (value == 0) {
|
251
|
-
return "0";
|
252
|
-
}
|
253
|
-
|
254
|
-
uint256 temp = value;
|
255
|
-
uint256 digits = 0;
|
256
|
-
while (temp != 0) {
|
257
|
-
digits++;
|
258
|
-
temp /= 10;
|
259
|
-
}
|
260
|
-
|
261
|
-
bytes memory buffer = new bytes(digits);
|
262
|
-
uint index = digits - 1;
|
263
|
-
|
264
|
-
temp = value;
|
265
|
-
while (temp != 0) {
|
266
|
-
buffer[index] = bytes1(uint8(48 + temp % 10));
|
267
|
-
temp /= 10;
|
268
|
-
|
269
|
-
if (index > 0) {
|
270
|
-
index--;
|
271
|
-
}
|
272
|
-
}
|
273
|
-
|
274
|
-
return string(buffer);
|
276
|
+
release.toString()));
|
275
277
|
}
|
276
278
|
}
|
@@ -13,6 +13,7 @@ using {
|
|
13
13
|
eqReferralId as ==,
|
14
14
|
neReferralId as !=,
|
15
15
|
ReferralLib.eqz,
|
16
|
+
ReferralLib.toInt,
|
16
17
|
ReferralLib.toKey32
|
17
18
|
} for ReferralId global;
|
18
19
|
|
@@ -74,6 +75,11 @@ library ReferralLib {
|
|
74
75
|
return ReferralStatus.wrap(status);
|
75
76
|
}
|
76
77
|
|
78
|
+
/// @dev Converts a referral id into a uint256.
|
79
|
+
function toInt(ReferralId referralId) public pure returns (uint256) {
|
80
|
+
return uint64(ReferralId.unwrap(referralId));
|
81
|
+
}
|
82
|
+
|
77
83
|
/// @dev Returns the key32 value for the specified nft id and object type.
|
78
84
|
function toKey32(ReferralId id) public pure returns (Key32 key) {
|
79
85
|
return Key32Lib.toKey32(REFERRAL(), toKeyId(id));
|
@@ -0,0 +1,62 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {RequestId} from "../type/RequestId.sol";
|
5
|
+
|
6
|
+
// based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
|
7
|
+
library LibRequestIdSet {
|
8
|
+
|
9
|
+
struct Set {
|
10
|
+
RequestId[] ids;
|
11
|
+
mapping(RequestId requestId => uint256 index) at;
|
12
|
+
}
|
13
|
+
|
14
|
+
error ErrorRequestIdSetAlreadyAdded(RequestId requestId);
|
15
|
+
error ErrorRequestIdSetNotInSet(RequestId requestId);
|
16
|
+
|
17
|
+
|
18
|
+
function add(Set storage set, RequestId requestId) external {
|
19
|
+
if (set.at[requestId] > 0) {
|
20
|
+
revert ErrorRequestIdSetAlreadyAdded(requestId);
|
21
|
+
}
|
22
|
+
|
23
|
+
set.ids.push(requestId);
|
24
|
+
set.at[requestId] = set.ids.length;
|
25
|
+
}
|
26
|
+
|
27
|
+
function remove(Set storage set, RequestId requestId) external {
|
28
|
+
uint256 requestIdIndex = set.at[requestId];
|
29
|
+
|
30
|
+
if (requestIdIndex == 0) {
|
31
|
+
revert ErrorRequestIdSetNotInSet(requestId);
|
32
|
+
}
|
33
|
+
|
34
|
+
uint256 toDeleteIndex = requestIdIndex - 1;
|
35
|
+
uint256 lastIndex = set.ids.length - 1;
|
36
|
+
|
37
|
+
if (lastIndex != toDeleteIndex) {
|
38
|
+
RequestId lastId = set.ids[lastIndex];
|
39
|
+
set.ids[toDeleteIndex] = lastId;
|
40
|
+
set.at[lastId] = requestIdIndex; // Replace lastValue's index to valueIndex
|
41
|
+
}
|
42
|
+
|
43
|
+
set.ids.pop();
|
44
|
+
delete set.at[requestId];
|
45
|
+
}
|
46
|
+
|
47
|
+
function isEmpty(Set storage set) external view returns(bool empty) {
|
48
|
+
return set.ids.length == 0;
|
49
|
+
}
|
50
|
+
|
51
|
+
function contains(Set storage set, RequestId requestId) external view returns(bool inSet) {
|
52
|
+
return set.at[requestId] > 0;
|
53
|
+
}
|
54
|
+
|
55
|
+
function size(Set storage set) external view returns(uint256 length) {
|
56
|
+
return set.ids.length;
|
57
|
+
}
|
58
|
+
|
59
|
+
function getElementAt(Set storage set, uint256 index) external view returns(RequestId requestId) {
|
60
|
+
return set.ids[index];
|
61
|
+
}
|
62
|
+
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
|
+
import {NftId} from "./NftId.sol";
|
5
6
|
import {RISK} from "./ObjectType.sol";
|
6
7
|
|
7
8
|
type RiskId is bytes8;
|
@@ -10,9 +11,12 @@ type RiskId is bytes8;
|
|
10
11
|
using {
|
11
12
|
eqRiskId as ==,
|
12
13
|
neRiskId as !=,
|
13
|
-
RiskIdLib.toKey32,
|
14
14
|
RiskIdLib.eq,
|
15
|
-
RiskIdLib.eqz
|
15
|
+
RiskIdLib.eqz,
|
16
|
+
RiskIdLib.gtz,
|
17
|
+
RiskIdLib.toInt,
|
18
|
+
RiskIdLib.toKeyId,
|
19
|
+
RiskIdLib.toKey32
|
16
20
|
} for RiskId global;
|
17
21
|
|
18
22
|
// general pure free functions
|
@@ -32,14 +36,19 @@ library RiskIdLib {
|
|
32
36
|
return RiskId.wrap(bytes8(0));
|
33
37
|
}
|
34
38
|
|
35
|
-
// @dev Converts a
|
36
|
-
function
|
37
|
-
return RiskId.
|
39
|
+
// @dev Converts a risk id into a uint256.
|
40
|
+
function toInt(RiskId riskId) public pure returns (uint256) {
|
41
|
+
return uint64(RiskId.unwrap(riskId));
|
38
42
|
}
|
39
43
|
|
40
|
-
|
41
|
-
function
|
42
|
-
return
|
44
|
+
// @dev Converts a risk id string with a product NftId into a risk id.
|
45
|
+
function toRiskId(NftId productNftId, bytes32 risk) public pure returns (RiskId) {
|
46
|
+
return RiskId.wrap(bytes8(keccak256(abi.encode(productNftId, risk))));
|
47
|
+
}
|
48
|
+
|
49
|
+
/// @dev Returns the key32 value for the specified risk id.
|
50
|
+
function toKey32(RiskId riskId) public pure returns (Key32 key) {
|
51
|
+
return Key32Lib.toKey32(RISK(), toKeyId(riskId));
|
43
52
|
}
|
44
53
|
|
45
54
|
/// @dev Returns the key id value for the specified nft id
|
@@ -47,6 +56,11 @@ library RiskIdLib {
|
|
47
56
|
return KeyId.wrap(bytes31(RiskId.unwrap(id)));
|
48
57
|
}
|
49
58
|
|
59
|
+
function toRiskId(KeyId keyId) public pure returns (RiskId riskId) {
|
60
|
+
riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId)));
|
61
|
+
assert(toInt(riskId) < 2**64);
|
62
|
+
}
|
63
|
+
|
50
64
|
function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
|
51
65
|
return eqRiskId(a, b);
|
52
66
|
}
|
@@ -54,4 +68,8 @@ library RiskIdLib {
|
|
54
68
|
function eqz(RiskId a) public pure returns (bool isZero) {
|
55
69
|
return eqRiskId(a, zero());
|
56
70
|
}
|
71
|
+
|
72
|
+
function gtz(RiskId a) public pure returns (bool isZero) {
|
73
|
+
return uint64(RiskId.unwrap(a)) > 0;
|
74
|
+
}
|
57
75
|
}
|
@@ -3,7 +3,7 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
5
|
import {ObjectType, ROLE} from "./ObjectType.sol";
|
6
|
-
import {VersionPart} from "./Version.sol";
|
6
|
+
import {VersionPart, VersionPartLib} from "./Version.sol";
|
7
7
|
|
8
8
|
type RoleId is uint64;
|
9
9
|
|
@@ -11,10 +11,10 @@ type RoleId is uint64;
|
|
11
11
|
using {
|
12
12
|
eqRoleId as ==,
|
13
13
|
neRoleId as !=,
|
14
|
+
RoleIdLib.toInt,
|
15
|
+
RoleIdLib.isServiceRole,
|
14
16
|
RoleIdLib.eqz,
|
15
|
-
RoleIdLib.gtz
|
16
|
-
RoleIdLib.toInt
|
17
|
-
// RoleIdLib.toKey32
|
17
|
+
RoleIdLib.gtz
|
18
18
|
} for RoleId global;
|
19
19
|
|
20
20
|
// general pure free functions
|
@@ -54,6 +54,14 @@ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2)
|
|
54
54
|
/// @dev role for registering remote staking targets and reporting remote total value locked amounts.
|
55
55
|
function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
|
56
56
|
|
57
|
+
// TODO check if/where this is really needed
|
58
|
+
/// @dev role assigned to release registry, release specfic to lock/unlock a release
|
59
|
+
function RELEASE_REGISTRY_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
|
60
|
+
|
61
|
+
/// @dev role assigned to every instance owner
|
62
|
+
function INSTANCE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(5); }
|
63
|
+
|
64
|
+
// TODO upate role id ranges
|
57
65
|
//--- GIF core contract roles (range: 200 - 9'900) --------------------------//
|
58
66
|
// created and assigned during initial deployment for registry and staking
|
59
67
|
// granting for instances and components in instance service
|
@@ -72,6 +80,8 @@ function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRo
|
|
72
80
|
// - application service role (version 3): 2003
|
73
81
|
|
74
82
|
//--- GIF component contract roles (range 12'001 - 19'099) ------------------//
|
83
|
+
// the min value of 12'001 is based on the following calculation:
|
84
|
+
// object type * 1000 + 1 where the lowest object type is 12 (product)
|
75
85
|
// assigned at component registration time
|
76
86
|
// object type * 1000 + instane specific component counter
|
77
87
|
// on any instance a maximum number of 999 components may be deployed
|
@@ -90,54 +100,72 @@ function CUSTOM_ROLE_MIN() pure returns (RoleId) { return RoleIdLib.toRoleId(100
|
|
90
100
|
|
91
101
|
library RoleIdLib {
|
92
102
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
uint64 public constant
|
103
|
+
error ErrorRoleIdTooBig(uint256 roleId);
|
104
|
+
|
105
|
+
// constant values need to match with AccessAdminLib.SERVICE_ROLE_*
|
106
|
+
uint64 public constant SERVICE_ROLE_MIN = 1000;
|
107
|
+
uint64 public constant SERVICE_ROLE_MAX = 99099; // 99 (max object type) * 1000 + 99
|
108
|
+
|
109
|
+
uint64 public constant SERVICE_ROLE_FACTOR = 1000;
|
97
110
|
|
98
111
|
/// @dev Converts the RoleId to a uint.
|
99
112
|
function zero() public pure returns (RoleId) {
|
100
113
|
return RoleId.wrap(0);
|
101
114
|
}
|
102
115
|
|
116
|
+
|
103
117
|
/// @dev Converts an uint into a role id.
|
104
|
-
function toRoleId(
|
105
|
-
|
106
|
-
|
118
|
+
function toRoleId(uint256 a) public pure returns (RoleId) {
|
119
|
+
if (a > type(uint64).max) {
|
120
|
+
revert ErrorRoleIdTooBig(a);
|
121
|
+
}
|
107
122
|
|
108
|
-
|
109
|
-
function toComponentRoleId(ObjectType objectType, uint64 index) public pure returns (RoleId) {
|
110
|
-
return toRoleId(COMPONENT_ROLE_FACTOR * uint64(objectType.toInt()) + index);
|
123
|
+
return RoleId.wrap(uint64(a));
|
111
124
|
}
|
112
125
|
|
113
|
-
/// @dev Converts an uint into a custom role id.
|
114
|
-
function toCustomRoleId(uint64 index) public pure returns (RoleId) {
|
115
|
-
return toRoleId(CUSTOM_ROLE_MIN + index);
|
116
|
-
}
|
117
126
|
|
118
|
-
|
119
|
-
|
120
|
-
|
127
|
+
function isServiceRole(RoleId roleId)
|
128
|
+
public
|
129
|
+
pure
|
130
|
+
returns (bool)
|
131
|
+
{
|
132
|
+
uint256 roleIdInt = RoleId.unwrap(roleId);
|
133
|
+
return roleIdInt >= SERVICE_ROLE_MIN && roleIdInt <= SERVICE_ROLE_MAX;
|
121
134
|
}
|
122
135
|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
136
|
+
|
137
|
+
function toGenericServiceRoleId(
|
138
|
+
ObjectType objectType
|
139
|
+
)
|
140
|
+
public
|
141
|
+
pure
|
142
|
+
returns (RoleId)
|
143
|
+
{
|
144
|
+
return toServiceRoleId(
|
145
|
+
objectType,
|
146
|
+
VersionPartLib.releaseMax());
|
127
147
|
}
|
128
148
|
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
149
|
+
|
150
|
+
function toServiceRoleId(
|
151
|
+
ObjectType serviceDomain,
|
152
|
+
VersionPart release
|
153
|
+
)
|
154
|
+
public
|
155
|
+
pure
|
156
|
+
returns (RoleId serviceRoleId)
|
157
|
+
{
|
158
|
+
uint256 serviceRoleIdInt =
|
159
|
+
SERVICE_ROLE_MIN
|
160
|
+
+ SERVICE_ROLE_FACTOR * (serviceDomain.toInt() - 1)
|
161
|
+
+ release.toInt();
|
162
|
+
|
163
|
+
return toRoleId(serviceRoleIdInt);
|
134
164
|
}
|
135
165
|
|
136
|
-
/// @dev Converts
|
137
|
-
|
138
|
-
|
139
|
-
return RoleId.wrap(
|
140
|
-
uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + ALL_VERSIONS));
|
166
|
+
/// @dev Converts the role id to a uint.
|
167
|
+
function toInt(RoleId a) public pure returns (uint64) {
|
168
|
+
return uint64(RoleId.unwrap(a));
|
141
169
|
}
|
142
170
|
|
143
171
|
/// @dev Returns true if the value is non-zero (> 0).
|
@@ -149,14 +177,4 @@ library RoleIdLib {
|
|
149
177
|
function eqz(RoleId a) public pure returns (bool) {
|
150
178
|
return RoleId.unwrap(a) == 0;
|
151
179
|
}
|
152
|
-
|
153
|
-
/// @dev Returns the key32 value for the specified id and object type.
|
154
|
-
function toKey32(RoleId a) public pure returns (Key32 key) {
|
155
|
-
return Key32Lib.toKey32(ROLE(), toKeyId(a));
|
156
|
-
}
|
157
|
-
|
158
|
-
/// @dev Returns the key id value for the specified id
|
159
|
-
function toKeyId(RoleId a) public pure returns (KeyId keyId) {
|
160
|
-
return KeyId.wrap(bytes31(uint248(RoleId.unwrap(a))));
|
161
|
-
}
|
162
180
|
}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
/// @dev Target: Cover durations of 1000 years.
|
4
5
|
type Seconds is uint40;
|
5
6
|
|
6
7
|
using {
|
7
8
|
SecondsEq as ==,
|
9
|
+
SecondsLt as <,
|
8
10
|
SecondsGt as >,
|
9
11
|
SecondsAdd as +,
|
10
12
|
SecondsLib.eqz,
|
@@ -20,6 +22,10 @@ function SecondsEq(Seconds duration1, Seconds duration2) pure returns (bool) {
|
|
20
22
|
return SecondsLib.eq(duration1, duration2);
|
21
23
|
}
|
22
24
|
|
25
|
+
function SecondsLt(Seconds duration1, Seconds duration2) pure returns (bool) {
|
26
|
+
return SecondsLib.lt(duration1, duration2);
|
27
|
+
}
|
28
|
+
|
23
29
|
function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
|
24
30
|
return SecondsLib.gt(duration1, duration2);
|
25
31
|
}
|
@@ -41,10 +47,18 @@ library SecondsLib {
|
|
41
47
|
return Seconds.wrap(_max());
|
42
48
|
}
|
43
49
|
|
50
|
+
function fromHours(uint32 numberOfHours) public pure returns (Seconds duration) {
|
51
|
+
return Seconds.wrap(numberOfHours * 3600);
|
52
|
+
}
|
53
|
+
|
44
54
|
function oneDay() public pure returns (Seconds duration) {
|
45
55
|
return Seconds.wrap(24 * 3600);
|
46
56
|
}
|
47
57
|
|
58
|
+
function fromDays(uint32 numberOfDays) public pure returns (Seconds duration) {
|
59
|
+
return Seconds.wrap(numberOfDays * 24 * 3600);
|
60
|
+
}
|
61
|
+
|
48
62
|
function oneYear() public pure returns (Seconds duration) {
|
49
63
|
return Seconds.wrap(365 * 24 * 3600);
|
50
64
|
}
|
@@ -85,6 +99,15 @@ library SecondsLib {
|
|
85
99
|
return Seconds.unwrap(duration1) < Seconds.unwrap(duration2);
|
86
100
|
}
|
87
101
|
|
102
|
+
/// @dev returns the smaller of the duration
|
103
|
+
function min(Seconds duration1, Seconds duration2) public pure returns (Seconds) {
|
104
|
+
if (Seconds.unwrap(duration1) < Seconds.unwrap(duration2)) {
|
105
|
+
return duration1;
|
106
|
+
}
|
107
|
+
|
108
|
+
return duration2;
|
109
|
+
}
|
110
|
+
|
88
111
|
/// @dev return add duration1 and duration2
|
89
112
|
function add(Seconds duration1, Seconds duration2) public pure returns (Seconds) {
|
90
113
|
return Seconds.wrap(Seconds.unwrap(duration1) + Seconds.unwrap(duration2));
|
@@ -8,6 +8,7 @@ using {
|
|
8
8
|
eqSelector as ==,
|
9
9
|
neSelector as !=,
|
10
10
|
SelectorLib.toBytes4,
|
11
|
+
SelectorLib.toString,
|
11
12
|
SelectorLib.eqz
|
12
13
|
} for Selector global;
|
13
14
|
|
@@ -46,6 +47,10 @@ library SelectorLib {
|
|
46
47
|
function toBytes4(Selector s) public pure returns (bytes4) {
|
47
48
|
return Selector.unwrap(s);
|
48
49
|
}
|
50
|
+
|
51
|
+
function toString(Selector s) public pure returns (string memory) {
|
52
|
+
return string(abi.encode(Selector.unwrap(s)));
|
53
|
+
}
|
49
54
|
}
|
50
55
|
|
51
56
|
// selector specific set library
|