@etherisc/gif-next 0.0.2-f1fe735-758 → 0.0.2-f2273b3-211
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 +59 -9
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1379 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +542 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +211 -270
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +350 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +29 -10
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +589 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +144 -544
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +396 -265
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +147 -109
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +201 -261
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +244 -63
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2426 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +161 -73
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +116 -126
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +190 -211
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1462 -241
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +661 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1044 -316
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +135 -330
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +97 -111
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +650 -529
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +48 -7
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
- 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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +569 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +141 -126
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +127 -398
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +589 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +331 -204
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -97
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +206 -29
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +132 -379
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +464 -312
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +124 -662
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +653 -532
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +163 -97
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +134 -184
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +91 -93
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +589 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +140 -114
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +94 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +365 -104
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +136 -83
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +260 -237
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +57 -4
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +459 -309
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -312
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +258 -536
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -55
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +72 -152
- 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/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +585 -112
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +449 -422
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +48 -7
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1333 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +82 -16
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +5 -5
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +576 -516
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +137 -113
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
- 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 +89 -88
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +547 -224
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +127 -123
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- 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 +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +112 -351
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
- 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 +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +137 -139
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +130 -16
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +85 -105
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +216 -375
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +48 -7
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +126 -95
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -63
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +183 -164
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +181 -135
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
- 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 +61 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/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 +55 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +118 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +181 -14
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -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/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
- 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 +66 -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 +618 -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/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/{shared → authorization}/AccessAdmin.sol +310 -380
- package/contracts/authorization/AccessManagerCloneable.sol +149 -0
- package/contracts/authorization/Authorization.sol +337 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/{shared → authorization}/IAccessAdmin.sol +37 -62
- package/contracts/authorization/IAuthorization.sol +74 -0
- package/contracts/{registry → authorization}/IServiceAuthorization.sol +8 -6
- package/contracts/{registry → authorization}/ServiceAuthorization.sol +41 -25
- package/contracts/distribution/BasicDistribution.sol +141 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
- package/contracts/distribution/Distribution.sol +153 -125
- package/contracts/distribution/DistributionService.sol +172 -111
- package/contracts/distribution/DistributionServiceManager.sol +8 -11
- package/contracts/distribution/IDistributionComponent.sol +26 -40
- package/contracts/distribution/IDistributionService.sol +42 -22
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +90 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +438 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +27 -44
- package/contracts/instance/IInstanceService.sol +16 -41
- package/contracts/instance/Instance.sol +103 -119
- package/contracts/instance/InstanceAdmin.sol +346 -240
- package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
- package/contracts/instance/InstanceReader.sol +293 -48
- package/contracts/instance/InstanceService.sol +145 -180
- package/contracts/instance/InstanceServiceManager.sol +8 -13
- package/contracts/instance/InstanceStore.sol +29 -3
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +11 -4
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +14 -15
- package/contracts/instance/module/IDistribution.sol +2 -2
- package/contracts/instance/module/IPolicy.sol +26 -25
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
- package/contracts/oracle/IOracle.sol +16 -0
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +64 -53
- package/contracts/oracle/OracleService.sol +113 -81
- package/contracts/oracle/OracleServiceManager.sol +8 -11
- package/contracts/pool/BasicPool.sol +175 -0
- package/contracts/pool/BasicPoolAuthorization.sol +76 -0
- package/contracts/pool/BundleService.sol +204 -105
- package/contracts/pool/BundleServiceManager.sol +8 -11
- package/contracts/pool/IBundleService.sol +31 -22
- package/contracts/pool/IPoolComponent.sol +20 -70
- package/contracts/pool/IPoolService.sol +90 -75
- package/contracts/pool/Pool.sol +209 -163
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +546 -241
- package/contracts/pool/PoolServiceManager.sol +6 -9
- package/contracts/product/ApplicationService.sol +83 -78
- package/contracts/product/ApplicationServiceManager.sol +6 -6
- package/contracts/product/BasicProduct.sol +51 -0
- package/contracts/product/BasicProductAuthorization.sol +56 -0
- package/contracts/product/ClaimService.sol +365 -175
- package/contracts/product/ClaimServiceManager.sol +6 -6
- package/contracts/product/IApplicationService.sol +6 -2
- package/contracts/product/IClaimService.sol +44 -8
- package/contracts/product/IPolicyService.sol +53 -36
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +29 -9
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +476 -269
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +6 -9
- package/contracts/product/PricingService.sol +66 -62
- package/contracts/product/PricingServiceManager.sol +6 -9
- package/contracts/product/Product.sol +233 -132
- package/contracts/product/RiskService.sol +145 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +74 -32
- package/contracts/registry/IRegistryService.sol +3 -10
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +368 -220
- package/contracts/registry/RegistryAdmin.sol +238 -219
- package/contracts/registry/RegistryService.sol +41 -66
- package/contracts/registry/RegistryServiceManager.sol +5 -5
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +511 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +107 -60
- package/contracts/registry/TokenRegistry.sol +8 -10
- package/contracts/shared/Component.sol +74 -128
- package/contracts/shared/ComponentService.sol +456 -384
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ComponentVerifyingService.sol +29 -18
- package/contracts/shared/ContractLib.sol +253 -0
- package/contracts/shared/IComponent.sol +8 -17
- package/contracts/shared/IComponentService.sol +49 -39
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +4 -6
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
- package/contracts/shared/InstanceLinkedComponent.sol +96 -43
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +31 -11
- package/contracts/shared/PolicyHolder.sol +17 -57
- package/contracts/shared/Registerable.sol +55 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +18 -36
- package/contracts/shared/TokenHandler.sol +309 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +9 -13
- package/contracts/staking/IStakingService.sol +24 -9
- package/contracts/staking/StakeManagerLib.sol +85 -43
- package/contracts/staking/Staking.sol +96 -79
- package/contracts/staking/StakingManager.sol +10 -12
- package/contracts/staking/StakingReader.sol +21 -33
- package/contracts/staking/StakingService.sol +79 -37
- package/contracts/staking/StakingServiceManager.sol +8 -7
- package/contracts/staking/StakingStore.sol +12 -22
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +27 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +89 -27
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RiskId.sol +35 -4
- package/contracts/type/RoleId.sol +75 -94
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +10 -5
- package/contracts/type/UFixed.sol +40 -121
- package/contracts/type/Version.sol +18 -6
- package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +6 -5
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1177
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -190
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
- package/contracts/instance/BundleManager.sol +0 -126
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
- package/contracts/instance/base/ObjectManager.sol +0 -80
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/product/ProductService.sol +0 -124
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -503
- package/contracts/shared/AccessManagerCustom.sol +0 -741
- package/contracts/shared/AccessManagerExtended.sol +0 -481
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
- package/contracts/shared/InitializableCustom.sol +0 -177
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
| @@ -0,0 +1,62 @@ | |
| 1 | 
            +
            // SPDX-License-Identifier: Apache-2.0
         | 
| 2 | 
            +
            pragma solidity ^0.8.20;
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            import {Key32} from "../type/Key32.sol";
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
         | 
| 7 | 
            +
            library LibKey32Set {
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                struct Set {
         | 
| 10 | 
            +
                    Key32[] keys;
         | 
| 11 | 
            +
                    mapping(Key32 key => uint256 index) at;
         | 
| 12 | 
            +
                }
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                error ErrorKey32SetAlreadyAdded(Key32 key);
         | 
| 15 | 
            +
                error ErrorKey32SetNotInSet(Key32 key);
         | 
| 16 | 
            +
             | 
| 17 | 
            +
             | 
| 18 | 
            +
                function add(Set storage set, Key32 key) external {
         | 
| 19 | 
            +
                    if (set.at[key] > 0) {
         | 
| 20 | 
            +
                        revert ErrorKey32SetAlreadyAdded(key);
         | 
| 21 | 
            +
                    }
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                    set.keys.push(key);
         | 
| 24 | 
            +
                    set.at[key] = set.keys.length;
         | 
| 25 | 
            +
                }
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                function remove(Set storage set, Key32 key) external {
         | 
| 28 | 
            +
                    uint256 nftIdIndex = set.at[key];
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                    if (nftIdIndex == 0) {
         | 
| 31 | 
            +
                        revert ErrorKey32SetNotInSet(key);
         | 
| 32 | 
            +
                    }
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                    uint256 toDeleteIndex = nftIdIndex - 1;
         | 
| 35 | 
            +
                    uint256 lastIndex = set.keys.length - 1;
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                    if (lastIndex != toDeleteIndex) {
         | 
| 38 | 
            +
                        Key32 lastId = set.keys[lastIndex];
         | 
| 39 | 
            +
                        set.keys[toDeleteIndex] = lastId;
         | 
| 40 | 
            +
                        set.at[lastId] = nftIdIndex; // Replace lastValue's index to valueIndex
         | 
| 41 | 
            +
                    }
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                    set.keys.pop();
         | 
| 44 | 
            +
                    delete set.at[key];
         | 
| 45 | 
            +
                }
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                function isEmpty(Set storage set) external view returns(bool empty) {
         | 
| 48 | 
            +
                    return set.keys.length == 0;
         | 
| 49 | 
            +
                }
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                function contains(Set storage set, Key32 key) external view returns(bool inSet) {
         | 
| 52 | 
            +
                    return set.at[key] > 0;
         | 
| 53 | 
            +
                }
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                function size(Set storage set) external view returns(uint256 length) {
         | 
| 56 | 
            +
                    return set.keys.length;
         | 
| 57 | 
            +
                }
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                function getElementAt(Set storage set, uint256 index) external view returns(Key32 key) {
         | 
| 60 | 
            +
                    return set.keys[index];
         | 
| 61 | 
            +
                }
         | 
| 62 | 
            +
            }
         | 
    
        package/contracts/type/NftId.sol
    CHANGED
    
    | @@ -14,6 +14,7 @@ using { | |
| 14 14 | 
             
                NftIdLib.toInt,
         | 
| 15 15 | 
             
                NftIdLib.gtz,
         | 
| 16 16 | 
             
                NftIdLib.eqz,
         | 
| 17 | 
            +
                NftIdLib.eq,
         | 
| 17 18 | 
             
                NftIdLib.toKeyId,
         | 
| 18 19 | 
             
                NftIdLib.toKey32
         | 
| 19 20 | 
             
            } for NftId global;
         | 
| @@ -75,4 +76,10 @@ library NftIdLib { | |
| 75 76 | 
             
                function toKeyId(NftId id) public pure returns (KeyId keyId) {
         | 
| 76 77 | 
             
                    return KeyId.wrap(bytes31(uint248(NftId.unwrap(id))));
         | 
| 77 78 | 
             
                }
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                function toNftId(KeyId keyId) public pure returns (NftId nftId) {
         | 
| 81 | 
            +
                   uint248 keyIdInt = uint248(bytes31(KeyId.unwrap(keyId)));
         | 
| 82 | 
            +
                   assert(keyIdInt < type(uint96).max);
         | 
| 83 | 
            +
                   return NftId.wrap(uint96(keyIdInt));
         | 
| 84 | 
            +
                }
         | 
| 78 85 | 
             
            }
         | 
| @@ -9,6 +9,7 @@ using { | |
| 9 9 | 
             
                neObjectType as !=,
         | 
| 10 10 | 
             
                ObjectTypeLib.toInt,
         | 
| 11 11 | 
             
                ObjectTypeLib.eqz,
         | 
| 12 | 
            +
                ObjectTypeLib.eq,
         | 
| 12 13 | 
             
                ObjectTypeLib.gtz
         | 
| 13 14 | 
             
            } for ObjectType global;
         | 
| 14 15 |  | 
| @@ -27,30 +28,32 @@ function STAKING() pure returns (ObjectType) { | |
| 27 28 | 
             
                return ObjectType.wrap(3);
         | 
| 28 29 | 
             
            }
         | 
| 29 30 |  | 
| 30 | 
            -
            function TOKEN() pure returns (ObjectType) {
         | 
| 31 | 
            -
                return ObjectType.wrap(6);
         | 
| 32 | 
            -
            }
         | 
| 33 | 
            -
             | 
| 34 31 | 
             
            function RELEASE() pure returns (ObjectType) {
         | 
| 35 | 
            -
                return ObjectType.wrap( | 
| 32 | 
            +
                return ObjectType.wrap(6);
         | 
| 36 33 | 
             
            }
         | 
| 37 34 |  | 
| 38 35 | 
             
            function ROLE() pure returns (ObjectType) {
         | 
| 39 | 
            -
                return ObjectType.wrap( | 
| 36 | 
            +
                return ObjectType.wrap(7);
         | 
| 40 37 | 
             
            }
         | 
| 41 38 |  | 
| 42 39 | 
             
            function SERVICE() pure returns (ObjectType) {
         | 
| 43 | 
            -
                return ObjectType.wrap( | 
| 40 | 
            +
                return ObjectType.wrap(8);
         | 
| 44 41 | 
             
            }
         | 
| 45 42 |  | 
| 46 43 | 
             
            function INSTANCE() pure returns (ObjectType) {
         | 
| 47 44 | 
             
                return ObjectType.wrap(10);
         | 
| 48 45 | 
             
            }
         | 
| 49 46 |  | 
| 47 | 
            +
            /// @dev Generic component object type.
         | 
| 48 | 
            +
            /// Component role id range is 11-19.
         | 
| 49 | 
            +
            /// Stick to this range for new component object types.
         | 
| 50 50 | 
             
            function COMPONENT() pure returns (ObjectType) {
         | 
| 51 51 | 
             
                return ObjectType.wrap(11);
         | 
| 52 52 | 
             
            }
         | 
| 53 53 |  | 
| 54 | 
            +
            /// @dev Product object type.
         | 
| 55 | 
            +
            /// IMPORTANT the actual value has an influence on the corresponding role id (RoleIdLib.sol). 
         | 
| 56 | 
            +
            /// Do not change this value without updating the corresponding role id calculation.
         | 
| 54 57 | 
             
            function PRODUCT() pure returns (ObjectType) {
         | 
| 55 58 | 
             
                return ObjectType.wrap(12);
         | 
| 56 59 | 
             
            }
         | 
| @@ -67,6 +70,8 @@ function POOL() pure returns (ObjectType) { | |
| 67 70 | 
             
                return ObjectType.wrap(15);
         | 
| 68 71 | 
             
            }
         | 
| 69 72 |  | 
| 73 | 
            +
            /// @dev Application object type.
         | 
| 74 | 
            +
            /// Range for NFT objects created thorugh components is 20-29.
         | 
| 70 75 | 
             
            function APPLICATION() pure returns (ObjectType) {
         | 
| 71 76 | 
             
                return ObjectType.wrap(20);
         | 
| 72 77 | 
             
            }
         | 
| @@ -75,50 +80,69 @@ function POLICY() pure returns (ObjectType) { | |
| 75 80 | 
             
                return ObjectType.wrap(21);
         | 
| 76 81 | 
             
            }
         | 
| 77 82 |  | 
| 78 | 
            -
            function  | 
| 83 | 
            +
            function BUNDLE() pure returns (ObjectType) {
         | 
| 79 84 | 
             
                return ObjectType.wrap(22);
         | 
| 80 85 | 
             
            }
         | 
| 81 86 |  | 
| 82 | 
            -
            function  | 
| 83 | 
            -
                return ObjectType.wrap(23); | 
| 87 | 
            +
            function DISTRIBUTOR() pure returns (ObjectType) {
         | 
| 88 | 
            +
                return ObjectType.wrap(23);
         | 
| 84 89 | 
             
            }
         | 
| 85 90 |  | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 91 | 
            +
            /// @dev Stake object type.
         | 
| 92 | 
            +
            /// NFT object type is 30
         | 
| 93 | 
            +
            function STAKE() pure returns (ObjectType) {
         | 
| 94 | 
            +
                return ObjectType.wrap(30);
         | 
| 95 | 
            +
            }
         | 
| 96 | 
            +
             | 
| 97 | 
            +
            /// @dev Staking target object type.
         | 
| 98 | 
            +
            function TARGET() pure returns (ObjectType) {
         | 
| 99 | 
            +
                return ObjectType.wrap(31);
         | 
| 100 | 
            +
            }
         | 
| 101 | 
            +
             | 
| 102 | 
            +
            /// @dev Accounting object type.
         | 
| 103 | 
            +
            /// Range for non-NFT types created through components is 40+
         | 
| 104 | 
            +
            function ACCOUNTING() pure returns (ObjectType) {
         | 
| 105 | 
            +
                return ObjectType.wrap(40);
         | 
| 106 | 
            +
            }
         | 
| 107 | 
            +
             | 
| 108 | 
            +
            function FEE() pure returns (ObjectType) {
         | 
| 109 | 
            +
                return ObjectType.wrap(41);
         | 
| 88 110 | 
             
            }
         | 
| 89 111 |  | 
| 90 112 | 
             
            function PRICE() pure returns (ObjectType) {
         | 
| 91 | 
            -
                return ObjectType.wrap( | 
| 113 | 
            +
                return ObjectType.wrap(42);
         | 
| 92 114 | 
             
            }
         | 
| 93 115 |  | 
| 94 | 
            -
            function  | 
| 95 | 
            -
                return ObjectType.wrap( | 
| 116 | 
            +
            function PREMIUM() pure returns (ObjectType) {
         | 
| 117 | 
            +
                return ObjectType.wrap(43);
         | 
| 96 118 | 
             
            }
         | 
| 97 119 |  | 
| 98 | 
            -
            function  | 
| 99 | 
            -
                return ObjectType.wrap( | 
| 120 | 
            +
            function RISK() pure returns (ObjectType) {
         | 
| 121 | 
            +
                return ObjectType.wrap(44);
         | 
| 100 122 | 
             
            }
         | 
| 101 123 |  | 
| 102 | 
            -
            function  | 
| 103 | 
            -
                return ObjectType.wrap( | 
| 124 | 
            +
            function CLAIM() pure returns (ObjectType) {
         | 
| 125 | 
            +
                return ObjectType.wrap(45);
         | 
| 104 126 | 
             
            }
         | 
| 105 127 |  | 
| 106 | 
            -
            function  | 
| 107 | 
            -
                return ObjectType.wrap( | 
| 128 | 
            +
            function PAYOUT() pure returns (ObjectType) {
         | 
| 129 | 
            +
                return ObjectType.wrap(46); 
         | 
| 108 130 | 
             
            }
         | 
| 109 131 |  | 
| 110 | 
            -
            function  | 
| 111 | 
            -
                return ObjectType.wrap( | 
| 132 | 
            +
            function REQUEST() pure returns (ObjectType) {
         | 
| 133 | 
            +
                return ObjectType.wrap(47);
         | 
| 112 134 | 
             
            }
         | 
| 113 135 |  | 
| 114 | 
            -
            function  | 
| 115 | 
            -
                return ObjectType.wrap( | 
| 136 | 
            +
            function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
         | 
| 137 | 
            +
                return ObjectType.wrap(48);
         | 
| 116 138 | 
             
            }
         | 
| 117 139 |  | 
| 118 | 
            -
            function  | 
| 119 | 
            -
                return ObjectType.wrap( | 
| 140 | 
            +
            function REFERRAL() pure returns (ObjectType) {
         | 
| 141 | 
            +
                return ObjectType.wrap(49);
         | 
| 120 142 | 
             
            }
         | 
| 121 143 |  | 
| 144 | 
            +
             | 
| 145 | 
            +
             | 
| 122 146 | 
             
            /// @dev Object type that includes any other object type.
         | 
| 123 147 | 
             
            /// Note that eq()/'==' does not take this property into account.
         | 
| 124 148 | 
             
            function ALL() pure returns (ObjectType) {
         | 
| @@ -137,6 +161,8 @@ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) { | |
| 137 161 | 
             
            // library functions that operate on user defined type
         | 
| 138 162 | 
             
            library ObjectTypeLib {
         | 
| 139 163 |  | 
| 164 | 
            +
                error ErrorVersionTooBig(uint256 version);
         | 
| 165 | 
            +
             | 
| 140 166 | 
             
                function zero() public pure returns (ObjectType) {
         | 
| 141 167 | 
             
                    return ObjectType.wrap(0);
         | 
| 142 168 | 
             
                }
         | 
| @@ -199,6 +225,10 @@ library ObjectTypeLib { | |
| 199 225 | 
             
                        return "Price";
         | 
| 200 226 | 
             
                    } else if (objectType == BUNDLE()) {
         | 
| 201 227 | 
             
                        return "Bundle";
         | 
| 228 | 
            +
                    } else if (objectType == RISK()) {
         | 
| 229 | 
            +
                        return "Risk";
         | 
| 230 | 
            +
                    } else if (objectType == ACCOUNTING()) {
         | 
| 231 | 
            +
                        return "Accounting";
         | 
| 202 232 | 
             
                    }
         | 
| 203 233 |  | 
| 204 234 | 
             
                    // fallback: ObjectType<obect-type-int>
         | 
| @@ -209,6 +239,38 @@ library ObjectTypeLib { | |
| 209 239 | 
             
                                toInt(objectType))));
         | 
| 210 240 | 
             
                }
         | 
| 211 241 |  | 
| 242 | 
            +
                function toVersionedName(
         | 
| 243 | 
            +
                    string memory name, 
         | 
| 244 | 
            +
                    string memory suffix, 
         | 
| 245 | 
            +
                    uint256 version
         | 
| 246 | 
            +
                )
         | 
| 247 | 
            +
                    external
         | 
| 248 | 
            +
                    pure
         | 
| 249 | 
            +
                    returns (string memory versionedName)
         | 
| 250 | 
            +
                {
         | 
| 251 | 
            +
                    if (version > maxNumReleases()) {
         | 
| 252 | 
            +
                        revert ErrorVersionTooBig(version);
         | 
| 253 | 
            +
                    }
         | 
| 254 | 
            +
             | 
| 255 | 
            +
                    string memory versionName = "_v0";
         | 
| 256 | 
            +
             | 
| 257 | 
            +
                    if (version >= 10) {
         | 
| 258 | 
            +
                        versionName = "_v";
         | 
| 259 | 
            +
                    }
         | 
| 260 | 
            +
             | 
| 261 | 
            +
                    versionedName = string(
         | 
| 262 | 
            +
                        abi.encodePacked(
         | 
| 263 | 
            +
                            name,
         | 
| 264 | 
            +
                            suffix,
         | 
| 265 | 
            +
                            versionName,
         | 
| 266 | 
            +
                            toString(version)));
         | 
| 267 | 
            +
                }
         | 
| 268 | 
            +
             | 
| 269 | 
            +
                /// @dev returns the max number of releases (major versions) this gif setup can handle.
         | 
| 270 | 
            +
                function maxNumReleases() public pure returns (uint8) {
         | 
| 271 | 
            +
                    return 99;
         | 
| 272 | 
            +
                }
         | 
| 273 | 
            +
             | 
| 212 274 | 
             
                /// @dev returns the provied int as a string
         | 
| 213 275 | 
             
                function toString(uint256 value) public pure returns (string memory name) {
         | 
| 214 276 |  | 
| @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            // SPDX-License-Identifier: Apache-2.0
         | 
| 2 2 | 
             
            pragma solidity ^0.8.20;
         | 
| 3 3 |  | 
| 4 | 
            -
            //  | 
| 5 | 
            -
            type PayoutId is  | 
| 4 | 
            +
            // uint40 allows for 65'535 claims with 16'777'216 payouts each per policy
         | 
| 5 | 
            +
            type PayoutId is uint40;
         | 
| 6 6 |  | 
| 7 7 | 
             
            import {ClaimId} from "./ClaimId.sol";
         | 
| 8 8 | 
             
            import {PAYOUT} from "./ObjectType.sol";
         | 
| @@ -39,21 +39,21 @@ library PayoutIdLib { | |
| 39 39 | 
             
                }
         | 
| 40 40 |  | 
| 41 41 | 
             
                /// @dev Converts an uint into a PayoutId.
         | 
| 42 | 
            -
                function toPayoutId(ClaimId claimId,  | 
| 43 | 
            -
                    return PayoutId.wrap((ClaimId.unwrap(claimId) <<  | 
| 42 | 
            +
                function toPayoutId(ClaimId claimId, uint24 payoutNo) public pure returns (PayoutId) {
         | 
| 43 | 
            +
                    return PayoutId.wrap((uint40(ClaimId.unwrap(claimId)) << 24) + payoutNo);
         | 
| 44 44 | 
             
                }
         | 
| 45 45 |  | 
| 46 46 | 
             
                function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
         | 
| 47 | 
            -
                    return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >>  | 
| 47 | 
            +
                    return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 24));
         | 
| 48 48 | 
             
                }
         | 
| 49 49 |  | 
| 50 | 
            -
                function toPayoutNo(PayoutId payoutId) public pure returns ( | 
| 51 | 
            -
                    return  | 
| 50 | 
            +
                function toPayoutNo(PayoutId payoutId) public pure returns (uint24) {
         | 
| 51 | 
            +
                    return uint24(PayoutId.unwrap(payoutId) & 16777215);
         | 
| 52 52 | 
             
                }
         | 
| 53 53 |  | 
| 54 54 | 
             
                /// @dev Converts the PayoutId to a uint.
         | 
| 55 | 
            -
                function toInt(PayoutId a) public pure returns ( | 
| 56 | 
            -
                    return  | 
| 55 | 
            +
                function toInt(PayoutId a) public pure returns (uint40) {
         | 
| 56 | 
            +
                    return PayoutId.unwrap(a);
         | 
| 57 57 | 
             
                }
         | 
| 58 58 |  | 
| 59 59 | 
             
                /// @dev Returns true if the value is non-zero (> 0).
         | 
| @@ -77,6 +77,6 @@ library PayoutIdLib { | |
| 77 77 | 
             
                        bytes31(
         | 
| 78 78 | 
             
                            bytes15(
         | 
| 79 79 | 
             
                                uint120(
         | 
| 80 | 
            -
                                    (NftId.unwrap(policyNftId) <<  | 
| 80 | 
            +
                                    (NftId.unwrap(policyNftId) << 40) + PayoutId.unwrap(payoutId)))));
         | 
| 81 81 | 
             
                }
         | 
| 82 82 | 
             
            }
         | 
| @@ -10,6 +10,11 @@ type RiskId is bytes8; | |
| 10 10 | 
             
            using {
         | 
| 11 11 | 
             
                eqRiskId as ==, 
         | 
| 12 12 | 
             
                neRiskId as !=,
         | 
| 13 | 
            +
                RiskIdLib.eq,
         | 
| 14 | 
            +
                RiskIdLib.eqz,
         | 
| 15 | 
            +
                RiskIdLib.gtz,
         | 
| 16 | 
            +
                RiskIdLib.toInt,
         | 
| 17 | 
            +
                RiskIdLib.toKeyId,
         | 
| 13 18 | 
             
                RiskIdLib.toKey32
         | 
| 14 19 | 
             
            } for RiskId global;
         | 
| 15 20 |  | 
| @@ -26,18 +31,44 @@ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) { | |
| 26 31 | 
             
            }
         | 
| 27 32 |  | 
| 28 33 | 
             
            library RiskIdLib {
         | 
| 29 | 
            -
                 | 
| 34 | 
            +
                function zero() public pure returns (RiskId) {
         | 
| 35 | 
            +
                    return RiskId.wrap(bytes8(0));
         | 
| 36 | 
            +
                }
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                // @dev Converts a risk id into a uint256.
         | 
| 39 | 
            +
                function toInt(RiskId riskId) public pure returns (uint256) {
         | 
| 40 | 
            +
                    return uint64(RiskId.unwrap(riskId));
         | 
| 41 | 
            +
                }
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                // @dev Converts a risk id string into a risk id.
         | 
| 30 44 | 
             
                function toRiskId(string memory risk) public pure returns (RiskId) {
         | 
| 31 45 | 
             
                    return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
         | 
| 32 46 | 
             
                }
         | 
| 33 47 |  | 
| 34 | 
            -
                /// @dev Returns the key32 value for the specified  | 
| 35 | 
            -
                function toKey32(RiskId  | 
| 36 | 
            -
                    return Key32Lib.toKey32(RISK(), toKeyId( | 
| 48 | 
            +
                /// @dev Returns the key32 value for the specified risk id.
         | 
| 49 | 
            +
                function toKey32(RiskId riskId) public pure returns (Key32 key) {
         | 
| 50 | 
            +
                    return Key32Lib.toKey32(RISK(), toKeyId(riskId));
         | 
| 37 51 | 
             
                }
         | 
| 38 52 |  | 
| 39 53 | 
             
                /// @dev Returns the key id value for the specified nft id
         | 
| 40 54 | 
             
                function toKeyId(RiskId id) public pure returns (KeyId keyId) {
         | 
| 41 55 | 
             
                    return KeyId.wrap(bytes31(RiskId.unwrap(id)));
         | 
| 42 56 | 
             
                }
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                function toRiskId(KeyId keyId) public pure returns (RiskId riskId) {
         | 
| 59 | 
            +
                    riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId)));
         | 
| 60 | 
            +
                    assert(toInt(riskId) < 2**64);
         | 
| 61 | 
            +
                }
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
         | 
| 64 | 
            +
                    return eqRiskId(a, b);
         | 
| 65 | 
            +
                }
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                function eqz(RiskId a) public pure returns (bool isZero) {
         | 
| 68 | 
            +
                    return eqRiskId(a, zero());
         | 
| 69 | 
            +
                }
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                function gtz(RiskId a) public pure returns (bool isZero) {
         | 
| 72 | 
            +
                    return uint64(RiskId.unwrap(a)) > 0;
         | 
| 73 | 
            +
                }
         | 
| 43 74 | 
             
            }
         | 
| @@ -11,14 +11,26 @@ type RoleId is uint64; | |
| 11 11 | 
             
            using {
         | 
| 12 12 | 
             
                eqRoleId as ==, 
         | 
| 13 13 | 
             
                neRoleId as !=,
         | 
| 14 | 
            +
                RoleIdLib.toInt,
         | 
| 14 15 | 
             
                RoleIdLib.eqz,
         | 
| 15 16 | 
             
                RoleIdLib.gtz,
         | 
| 16 | 
            -
                RoleIdLib. | 
| 17 | 
            +
                RoleIdLib.isComponentRole,
         | 
| 18 | 
            +
                RoleIdLib.isCustomRole
         | 
| 17 19 | 
             
                // RoleIdLib.toKey32
         | 
| 18 20 | 
             
            } for RoleId global;
         | 
| 19 21 |  | 
| 20 22 | 
             
            // general pure free functions
         | 
| 21 23 |  | 
| 24 | 
            +
            // @dev Returns true iff role ids a and b are identical
         | 
| 25 | 
            +
            function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
         | 
| 26 | 
            +
                return RoleId.unwrap(a) == RoleId.unwrap(b);
         | 
| 27 | 
            +
            }
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            // @dev Returns true iff role ids a and b are different
         | 
| 30 | 
            +
            function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
         | 
| 31 | 
            +
                return RoleId.unwrap(a) != RoleId.unwrap(b);
         | 
| 32 | 
            +
            }
         | 
| 33 | 
            +
             | 
| 22 34 | 
             
            //--- OpenZeppelin provided roles -------------------------------------------//
         | 
| 23 35 |  | 
| 24 36 | 
             
            /// @dev Role ID needs to match with oz AccessManager.ADMIN_ROLE
         | 
| @@ -27,156 +39,114 @@ function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uin | |
| 27 39 | 
             
            /// @dev Role ID needs to match with oz AccessManager.PUBLIC_ROLE
         | 
| 28 40 | 
             
            function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
         | 
| 29 41 |  | 
| 30 | 
            -
             | 
| 31 | 
            -
            function MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1); } 
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            //--- Core GIF roles (range: 1-99) ------------------------------------------//
         | 
| 42 | 
            +
            //--- GIF roles (range: 1-99) ----------------------------------------------//
         | 
| 34 43 |  | 
| 35 44 | 
             
            /// @dev cental role for gif release management.
         | 
| 36 45 | 
             
            /// this role is necessary to call ReleaseManager.createNextRelease/activateNextRelease
         | 
| 37 46 | 
             
            /// the actual deployment of a release requires the GIF_MANAGER_ROLE.
         | 
| 38 47 | 
             
            /// GIF_ADMIN_ROLE is the admin of the GIF_MANAGER_ROLE.
         | 
| 39 48 | 
             
            /// only a single holder may hold this role at any time
         | 
| 40 | 
            -
            function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId( | 
| 49 | 
            +
            function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1); } 
         | 
| 41 50 |  | 
| 42 51 | 
             
            /// @dev role for token whith/blacklisting, deploying and registering the services for a new major release
         | 
| 43 52 | 
             
            /// registering services for a new major release is only possible after a new initial release has been created by the GIF_ADMIN_ROLE
         | 
| 44 53 | 
             
            /// token white/blacklisting is possible for any active release
         | 
| 45 | 
            -
            function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId( | 
| 54 | 
            +
            function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2); } 
         | 
| 46 55 |  | 
| 47 56 | 
             
            /// @dev role for registering remote staking targets and reporting remote total value locked amounts.
         | 
| 48 | 
            -
            function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId( | 
| 49 | 
            -
             | 
| 50 | 
            -
            /// @dev required role to own an instance.
         | 
| 51 | 
            -
            /// Role is granted by instance service when cloning a new instance.
         | 
| 52 | 
            -
            /// allows instance specific target, role and access management 
         | 
| 53 | 
            -
            function INSTANCE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(10); }
         | 
| 54 | 
            -
             | 
| 55 | 
            -
            /// @dev instance specific  role to register/own a product component
         | 
| 56 | 
            -
            function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(11); }
         | 
| 57 | 
            +
            function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); } 
         | 
| 57 58 |  | 
| 58 | 
            -
            /// @dev  | 
| 59 | 
            -
            function  | 
| 59 | 
            +
            /// @dev role assigned to release registry, release specfic to lock/unlock a release
         | 
| 60 | 
            +
            function RELEASE_REGISTRY_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
         | 
| 60 61 |  | 
| 61 | 
            -
             | 
| 62 | 
            -
            function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(13); }
         | 
| 63 | 
            -
             | 
| 64 | 
            -
            /// @dev instance specific  role to register/own a pool component
         | 
| 65 | 
            -
            function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14); }
         | 
| 66 | 
            -
             | 
| 67 | 
            -
            //--- GIF contract roles (range: 200 - 9900) --------------------------------//
         | 
| 62 | 
            +
            //--- GIF core contract roles (range: 200 - 9'900) --------------------------//
         | 
| 68 63 | 
             
            // created and assigned during initial deployment for registry and staking
         | 
| 69 64 | 
             
            // granting for instances and components in instance service
         | 
| 70 65 | 
             
            // object type * 100 + 0, examples:
         | 
| 71 66 | 
             
            // - registry contract role: 200 
         | 
| 72 67 | 
             
            // - staking contract role: 300 
         | 
| 73 68 | 
             
            // - instance contract role: 1000
         | 
| 74 | 
            -
            // - product contract role: 1200
         | 
| 75 69 |  | 
| 76 | 
            -
            //--- GIF service roles (range 201 -  | 
| 70 | 
            +
            //--- GIF service roles (range 201 - 9'9xx) ---------------------------------//
         | 
| 77 71 | 
             
            // created and assigned by release manager contract
         | 
| 78 72 | 
             
            // object type * 100 + 1/major version, examples:
         | 
| 79 | 
            -
            // - registry service role (any version):  | 
| 73 | 
            +
            // - registry service role (any version): 299
         | 
| 80 74 | 
             
            // - registry service role (version 3): 203
         | 
| 81 | 
            -
            // - registry service role (any version):  | 
| 75 | 
            +
            // - registry service role (any version): 399
         | 
| 82 76 | 
             
            // - staking service role: (version 3): 303
         | 
| 83 77 | 
             
            // - application service role (version 3): 2003
         | 
| 84 78 |  | 
| 85 | 
            -
            //---  | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
             | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 98 | 
            -
            function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
         | 
| 99 | 
            -
             | 
| 100 | 
            -
            /// @dev role for creating gif target on instance service
         | 
| 101 | 
            -
            function CAN_CREATE_GIF_TARGET__ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
         | 
| 102 | 
            -
             | 
| 103 | 
            -
            /// @dev role for registering gif components
         | 
| 104 | 
            -
            function COMPONENT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2001); }
         | 
| 105 | 
            -
             | 
| 106 | 
            -
            /// @dev instance specific role for distribution service
         | 
| 107 | 
            -
            function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
         | 
| 108 | 
            -
             | 
| 109 | 
            -
            /// @dev instance specific role for oracle service
         | 
| 110 | 
            -
            function ORACLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2150); }
         | 
| 111 | 
            -
             | 
| 112 | 
            -
            /// @dev instance specific role for pool service
         | 
| 113 | 
            -
            function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
         | 
| 114 | 
            -
             | 
| 115 | 
            -
            /// @dev instance specific role for product service
         | 
| 116 | 
            -
            function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
         | 
| 79 | 
            +
            //--- GIF component contract roles (range 12'001 - 19'099) ------------------//
         | 
| 80 | 
            +
            // the min value of 12'001 is based on the following calculation:
         | 
| 81 | 
            +
            // object type * 1000 + 1 where the lowest object type is 12 (product) 
         | 
| 82 | 
            +
            // assigned at component registration time
         | 
| 83 | 
            +
            // object type * 1000 + instane specific component counter
         | 
| 84 | 
            +
            // on any instance a maximum number of 999 components may be deployed
         | 
| 85 | 
            +
            // examples:
         | 
| 86 | 
            +
            // - 1st pool on instance: 15001
         | 
| 87 | 
            +
            // - 1st distribution on instance: 14002
         | 
| 88 | 
            +
            // - 1st product on instance: 12003
         | 
| 89 | 
            +
            // - 2nd pool on instance: 15004
         | 
| 90 | 
            +
            // - 2nd distribution on instance: 14005
         | 
| 91 | 
            +
            // - 2nd product on instance: 12006
         | 
| 117 92 |  | 
| 118 | 
            -
            /// @dev instance specific role for application service
         | 
| 119 | 
            -
            function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
         | 
| 120 93 |  | 
| 121 | 
            -
             | 
| 122 | 
            -
            function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
         | 
| 94 | 
            +
            //--- Custom roles (range >= 1'000'000) -------------------------------------//
         | 
| 123 95 |  | 
| 124 | 
            -
             | 
| 125 | 
            -
            function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
         | 
| 96 | 
            +
            function CUSTOM_ROLE_MIN() pure returns (RoleId) { return RoleIdLib.toRoleId(1000000); }
         | 
| 126 97 |  | 
| 127 | 
            -
             | 
| 128 | 
            -
            function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
         | 
| 129 | 
            -
             | 
| 130 | 
            -
            /// @dev instance specific role for pricing service
         | 
| 131 | 
            -
            function PRICING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2800); }
         | 
| 132 | 
            -
             | 
| 133 | 
            -
            /// @dev instance specific role for staking service
         | 
| 134 | 
            -
            function STAKING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2900); }
         | 
| 135 | 
            -
             | 
| 136 | 
            -
            // @dev Returns true iff role ids a and b are identical
         | 
| 137 | 
            -
            function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
         | 
| 138 | 
            -
                return RoleId.unwrap(a) == RoleId.unwrap(b);
         | 
| 139 | 
            -
            }
         | 
| 98 | 
            +
            library RoleIdLib {
         | 
| 140 99 |  | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
                 | 
| 144 | 
            -
             | 
| 100 | 
            +
                uint64 public constant ALL_VERSIONS = 99;
         | 
| 101 | 
            +
                uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
         | 
| 102 | 
            +
                uint64 public constant COMPONENT_ROLE_FACTOR = 1000;
         | 
| 103 | 
            +
                uint64 public constant COMPONENT_ROLE_MIN_INT = 12000;
         | 
| 104 | 
            +
                uint64 public constant COMPONENT_ROLE_MAX_INT = 19000;
         | 
| 105 | 
            +
                uint64 public constant CUSTOM_ROLE_MIN_INT = 1000000;
         | 
| 145 106 |  | 
| 146 | 
            -
             | 
| 147 | 
            -
            /// @dev Converts the RoleId to a uint.
         | 
| 107 | 
            +
                /// @dev Converts the RoleId to a uint.
         | 
| 148 108 | 
             
                function zero() public pure returns (RoleId) {
         | 
| 149 109 | 
             
                    return RoleId.wrap(0);
         | 
| 150 110 | 
             
                }
         | 
| 151 111 |  | 
| 152 | 
            -
                /// @dev Converts an uint into a  | 
| 153 | 
            -
                function toRoleId( | 
| 154 | 
            -
                    return RoleId.wrap( | 
| 112 | 
            +
                /// @dev Converts an uint into a role id.
         | 
| 113 | 
            +
                function toRoleId(uint64 a) public pure returns (RoleId) {
         | 
| 114 | 
            +
                    return RoleId.wrap(a);
         | 
| 155 115 | 
             
                }
         | 
| 156 116 |  | 
| 157 | 
            -
                /// @dev Converts  | 
| 117 | 
            +
                /// @dev Converts an uint into a component role id.
         | 
| 118 | 
            +
                function toComponentRoleId(ObjectType objectType, uint64 index) public pure returns (RoleId) {
         | 
| 119 | 
            +
                    return toRoleId(COMPONENT_ROLE_FACTOR * uint64(objectType.toInt()) + index);
         | 
| 120 | 
            +
                }
         | 
| 121 | 
            +
             | 
| 122 | 
            +
                /// @dev Converts an uint into a custom role id.
         | 
| 123 | 
            +
                function toCustomRoleId(uint64 index) public pure returns (RoleId) {
         | 
| 124 | 
            +
                    return toRoleId(CUSTOM_ROLE_MIN_INT + index);
         | 
| 125 | 
            +
                }
         | 
| 126 | 
            +
             | 
| 127 | 
            +
                /// @dev Converts the role id to a uint.
         | 
| 158 128 | 
             
                function toInt(RoleId a) public pure returns (uint64) {
         | 
| 159 129 | 
             
                    return uint64(RoleId.unwrap(a));
         | 
| 160 130 | 
             
                }
         | 
| 161 131 |  | 
| 162 | 
            -
                /// @dev Converts an uint into a  | 
| 132 | 
            +
                /// @dev Converts an uint into a role id.
         | 
| 163 133 | 
             
                /// Used for GIF core contracts.
         | 
| 164 134 | 
             
                function roleForType(ObjectType objectType) public pure returns (RoleId) {
         | 
| 165 | 
            -
                    return RoleId.wrap( | 
| 135 | 
            +
                    return RoleId.wrap(SERVICE_DOMAIN_ROLE_FACTOR * uint64(objectType.toInt()));
         | 
| 166 136 | 
             
                }
         | 
| 167 137 |  | 
| 168 138 | 
             
                /// @dev Converts an uint into a RoleId.
         | 
| 169 139 | 
             
                /// Used for GIF core contracts.
         | 
| 170 140 | 
             
                function roleForTypeAndVersion(ObjectType objectType, VersionPart majorVersion) public pure returns (RoleId) {
         | 
| 171 141 | 
             
                    return RoleId.wrap(
         | 
| 172 | 
            -
                        uint64( | 
| 142 | 
            +
                        uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + majorVersion.toInt()));
         | 
| 173 143 | 
             
                }
         | 
| 174 144 |  | 
| 175 145 | 
             
                /// @dev Converts an uint into a RoleId.
         | 
| 176 146 | 
             
                /// Used for GIF core contracts.
         | 
| 177 147 | 
             
                function roleForTypeAndAllVersions(ObjectType objectType) public pure returns (RoleId) {
         | 
| 178 148 | 
             
                    return RoleId.wrap(
         | 
| 179 | 
            -
                        uint64( | 
| 149 | 
            +
                        uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + ALL_VERSIONS));
         | 
| 180 150 | 
             
                }
         | 
| 181 151 |  | 
| 182 152 | 
             
                /// @dev Returns true if the value is non-zero (> 0).
         | 
| @@ -189,6 +159,17 @@ library RoleIdLib { | |
| 189 159 | 
             
                    return RoleId.unwrap(a) == 0;
         | 
| 190 160 | 
             
                }
         | 
| 191 161 |  | 
| 162 | 
            +
                /// @dev Returns true iff the role id is a component role.
         | 
| 163 | 
            +
                function isComponentRole(RoleId roleId) public pure returns (bool) {
         | 
| 164 | 
            +
                    uint64 roleIdInt = RoleId.unwrap(roleId);
         | 
| 165 | 
            +
                    return roleIdInt >= COMPONENT_ROLE_MIN_INT && roleIdInt <= COMPONENT_ROLE_MAX_INT;
         | 
| 166 | 
            +
                }
         | 
| 167 | 
            +
             | 
| 168 | 
            +
                /// @dev Returns true iff the role id is a custom role.
         | 
| 169 | 
            +
                function isCustomRole(RoleId roleId) public pure returns (bool) {
         | 
| 170 | 
            +
                    return RoleId.unwrap(roleId) >= CUSTOM_ROLE_MIN_INT;
         | 
| 171 | 
            +
                }
         | 
| 172 | 
            +
             | 
| 192 173 | 
             
                /// @dev Returns the key32 value for the specified id and object type.
         | 
| 193 174 | 
             
                function toKey32(RoleId a) public pure returns (Key32 key) {
         | 
| 194 175 | 
             
                    return Key32Lib.toKey32(ROLE(), toKeyId(a));
         |