@etherisc/gif-next 0.0.2-ffba655 → 3.0.0-1a7e54a-113
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 +277 -68
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1735 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +817 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/access → authorization}/IAccess.sol/IAccess.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1400 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +465 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +407 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +652 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1234 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +844 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +939 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1809 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +950 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +838 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1284 -0
- 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 +1474 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -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/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +500 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1198 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2189 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -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/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +734 -451
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +1102 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +810 -530
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2400 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2628 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1348 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +792 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3039 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- 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 +4 -0
- package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IBundle.sol/IBundle.json} +2 -2
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IComponents.sol/IComponents.json} +2 -2
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
- package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.json +10 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +863 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +830 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +886 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +895 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1015 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +886 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +810 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +906 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +804 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +652 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1006 -0
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +665 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +874 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +834 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1107 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +295 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1055 -113
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1072 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/{instance/component/IComponent.sol/IInstanceLinked.json → registry/IRelease.sol/IRelease.json} +6 -6
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +1543 -176
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2255 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1298 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +793 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +705 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +721 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/shared/Component.sol/Component.json +695 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +882 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/{registry/IRegistry.sol/IOwnable.json → shared/ContractLib.sol/IInstanceAdminHelper.json} +5 -5
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/{instance/access/IAccess.sol/IAccessCheckRole.json → shared/ContractLib.sol/ITargetHelper.json} +4 -9
- 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 +4 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +620 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +146 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
- package/artifacts/contracts/{registry/IRegistry.sol/IRegisterable.json → shared/INftOwnable.sol/INftOwnable.json} +72 -72
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
- package/artifacts/contracts/{instance/component/ComponentModule.sol/ComponentModule.json → shared/IRegisterable.sol/IRegisterable.json} +179 -158
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{registry/IRegistry.sol → shared/IRegistryLinked.sol}/IRegistryLinked.json +5 -19
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
- package/artifacts/contracts/shared/IService.sol/IService.json +428 -0
- 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 +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +228 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +397 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
- package/artifacts/contracts/shared/Service.sol/Service.json +482 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +723 -0
- 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 +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2747 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +3175 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +867 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +786 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +270 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- 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 +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +238 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +161 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +308 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +199 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +344 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +679 -0
- package/contracts/authorization/AccessAdminLib.sol +678 -0
- package/contracts/authorization/AccessManagerCloneable.sol +140 -0
- package/contracts/authorization/Authorization.sol +190 -0
- package/contracts/authorization/IAccess.sol +66 -0
- package/contracts/authorization/IAccessAdmin.sol +142 -0
- package/contracts/authorization/IAuthorization.sol +26 -0
- package/contracts/authorization/IServiceAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +300 -0
- package/contracts/distribution/BasicDistribution.sol +140 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
- package/contracts/distribution/Distribution.sol +245 -0
- package/contracts/distribution/DistributionService.sol +448 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +45 -0
- package/contracts/distribution/IDistributionService.sol +115 -0
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/flight/FlightLib.sol +311 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +167 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +545 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
- package/contracts/examples/flight/FlightUSD.sol +26 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +151 -15
- package/contracts/instance/IInstanceService.sol +119 -0
- package/contracts/instance/Instance.sol +332 -45
- package/contracts/instance/InstanceAdmin.sol +307 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
- package/contracts/instance/InstanceReader.sol +628 -0
- package/contracts/instance/InstanceService.sol +514 -0
- package/contracts/instance/InstanceServiceManager.sol +39 -0
- package/contracts/instance/InstanceStore.sol +323 -0
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +126 -0
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +121 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +20 -0
- package/contracts/instance/base/ObjectLifecycle.sol +109 -0
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +21 -0
- package/contracts/instance/module/IComponents.sol +60 -0
- package/contracts/instance/module/IDistribution.sol +54 -0
- package/contracts/instance/module/IPolicy.sol +105 -0
- package/contracts/instance/module/IRisk.sol +16 -0
- package/contracts/mock/Dip.sol +26 -0
- package/contracts/oracle/BasicOracle.sol +44 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
- package/contracts/oracle/IOracle.sol +41 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +152 -0
- package/contracts/oracle/OracleService.sol +310 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +161 -0
- package/contracts/pool/BasicPoolAuthorization.sol +81 -0
- package/contracts/pool/BundleService.sol +386 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +116 -0
- package/contracts/pool/IPoolComponent.sol +62 -0
- package/contracts/pool/IPoolService.sol +170 -0
- package/contracts/pool/Pool.sol +331 -0
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +614 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +327 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/BasicProduct.sol +48 -0
- package/contracts/product/BasicProductAuthorization.sol +64 -0
- package/contracts/product/ClaimService.sol +626 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +88 -0
- package/contracts/product/IClaimService.sol +136 -0
- package/contracts/product/IPolicyService.sol +102 -0
- package/contracts/product/IPricingService.sol +40 -0
- package/contracts/product/IProductComponent.sol +62 -0
- package/contracts/product/IRiskService.sol +48 -0
- package/contracts/product/PolicyService.sol +645 -0
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +306 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +491 -0
- package/contracts/product/RiskService.sol +189 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +176 -100
- package/contracts/registry/IRegistry.sol +149 -47
- package/contracts/registry/IRegistryService.sol +62 -0
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +6 -0
- package/contracts/registry/Registry.sol +671 -117
- package/contracts/registry/RegistryAdmin.sol +173 -0
- package/contracts/registry/RegistryAuthorization.sol +337 -0
- package/contracts/registry/RegistryService.sol +241 -0
- package/contracts/registry/RegistryServiceManager.sol +53 -0
- package/contracts/registry/ReleaseAdmin.sol +199 -0
- package/contracts/registry/ReleaseLifecycle.sol +32 -0
- package/contracts/registry/ReleaseRegistry.sol +525 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
- package/contracts/registry/TokenRegistry.sol +317 -0
- package/contracts/shared/Component.sol +210 -0
- package/contracts/shared/ComponentService.sol +691 -0
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ContractLib.sol +312 -0
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IComponent.sol +58 -0
- package/contracts/shared/IComponentService.sol +111 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
- package/contracts/shared/ILifecycle.sol +31 -0
- package/contracts/shared/INftOwnable.sol +27 -0
- package/contracts/shared/IPolicyHolder.sol +35 -0
- package/contracts/shared/IRegisterable.sol +36 -0
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +23 -0
- package/contracts/shared/InitializableERC165.sol +35 -0
- package/contracts/shared/InstanceLinkedComponent.sol +232 -0
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +129 -0
- package/contracts/shared/PolicyHolder.sol +63 -0
- package/contracts/shared/Registerable.sol +106 -0
- package/contracts/shared/RegistryLinked.sol +38 -0
- package/contracts/shared/Service.sol +67 -0
- package/contracts/shared/TokenHandler.sol +342 -0
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +366 -0
- package/contracts/staking/IStakingService.sol +127 -0
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +797 -0
- package/contracts/staking/StakingLib.sol +195 -0
- package/contracts/staking/StakingManager.sol +53 -0
- package/contracts/staking/StakingReader.sol +171 -0
- package/contracts/staking/StakingService.sol +321 -0
- package/contracts/staking/StakingServiceManager.sol +46 -0
- package/contracts/staking/StakingStore.sol +1368 -0
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +234 -0
- package/contracts/type/AddressSet.sol +58 -0
- package/contracts/type/Amount.sol +154 -0
- package/contracts/type/Blocknumber.sol +137 -0
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/ClaimId.sol +80 -0
- package/contracts/type/DistributorType.sol +55 -0
- package/contracts/type/Fee.sol +66 -0
- package/contracts/type/Key32.sol +50 -0
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +85 -0
- package/contracts/type/NftIdSet.sol +62 -0
- package/contracts/type/ObjectType.sol +278 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/type/Referral.sol +96 -0
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/RiskId.sol +75 -0
- package/contracts/type/RoleId.sol +180 -0
- package/contracts/type/Seconds.sol +124 -0
- package/contracts/type/Selector.sol +107 -0
- package/contracts/type/StateId.sol +149 -0
- package/contracts/type/String.sol +95 -0
- package/contracts/type/Timestamp.sol +152 -0
- package/contracts/type/UFixed.sol +263 -0
- package/contracts/type/Version.sol +159 -0
- package/contracts/upgradeability/IVersionable.sol +56 -0
- package/contracts/upgradeability/ProxyManager.sol +246 -0
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
- package/contracts/upgradeability/Versionable.sol +62 -0
- package/package.json +27 -7
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Component.sol/Component.json +0 -179
- package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
- package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +0 -179
- package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -192
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.json +0 -213
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.json +0 -231
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
- package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
- package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -147
- package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -179
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -245
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -94
- package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
- package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -231
- package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -231
- package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
- package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -149
- package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -162
- package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
- package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
- package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -114
- package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
- package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
- package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -167
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
- package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
- package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
- package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
- package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
- package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -174
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -453
- package/contracts/components/Component.sol +0 -62
- package/contracts/components/IPool.sol +0 -9
- package/contracts/components/IProduct.sol +0 -12
- package/contracts/components/Pool.sol +0 -29
- package/contracts/components/Product.sol +0 -66
- package/contracts/experiment/errors/Require.sol +0 -33
- package/contracts/experiment/errors/Revert.sol +0 -39
- package/contracts/experiment/inheritance/A.sol +0 -56
- package/contracts/experiment/inheritance/B.sol +0 -23
- package/contracts/experiment/inheritance/C.sol +0 -28
- package/contracts/experiment/inheritance/IA.sol +0 -18
- package/contracts/experiment/inheritance/IB.sol +0 -9
- package/contracts/experiment/inheritance/IC.sol +0 -11
- package/contracts/experiment/types/TypeA.sol +0 -42
- package/contracts/experiment/types/TypeB.sol +0 -24
- package/contracts/instance/access/Access.sol +0 -218
- package/contracts/instance/access/IAccess.sol +0 -83
- package/contracts/instance/component/ComponentModule.sol +0 -248
- package/contracts/instance/component/IComponent.sol +0 -95
- package/contracts/instance/policy/IPolicy.sol +0 -66
- package/contracts/instance/policy/PolicyModule.sol +0 -107
- package/contracts/instance/pool/IPoolModule.sol +0 -41
- package/contracts/instance/pool/PoolModule.sol +0 -86
- package/contracts/instance/product/IProductService.sol +0 -46
- package/contracts/instance/product/ProductService.sol +0 -108
- package/contracts/registry/IChainNft.sol +0 -18
- package/contracts/types/Blocknumber.sol +0 -60
- package/contracts/types/ChainId.sol +0 -30
- package/contracts/types/NftId.sol +0 -35
- package/contracts/types/Timestamp.sol +0 -55
- package/contracts/types/UFixed.sol +0 -211
@@ -0,0 +1,140 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
|
5
|
+
import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
|
6
|
+
|
7
|
+
import {InitializableERC165} from "../shared/InitializableERC165.sol";
|
8
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
9
|
+
import {VersionPart} from "../type/Version.sol";
|
10
|
+
|
11
|
+
|
12
|
+
/// @dev An AccessManager based on OpenZeppelin that is cloneable and has a central lock property.
|
13
|
+
/// The lock property allows to lock all services of a release in a central place.
|
14
|
+
/// Cloned by upon release preparation and instance cloning.
|
15
|
+
contract AccessManagerCloneable is
|
16
|
+
AccessManagerUpgradeable,
|
17
|
+
InitializableERC165,
|
18
|
+
RegistryLinked
|
19
|
+
{
|
20
|
+
error ErrorAccessManagerCallerNotAdmin(address caller);
|
21
|
+
error ErrorAccessManagerRegistryAlreadySet(address registry);
|
22
|
+
error ErrorAccessManagerInvalidRelease(VersionPart release);
|
23
|
+
|
24
|
+
error ErrorAccessManagerTargetAdminLocked(address target);
|
25
|
+
error ErrorAccessManagerCallerAdminLocked(address caller);
|
26
|
+
|
27
|
+
VersionPart private _release;
|
28
|
+
bool private _isLocked;
|
29
|
+
|
30
|
+
|
31
|
+
modifier onlyAdminRole() {
|
32
|
+
(bool isMember, ) = hasRole(ADMIN_ROLE, msg.sender);
|
33
|
+
if(!isMember) {
|
34
|
+
revert ErrorAccessManagerCallerNotAdmin(msg.sender);
|
35
|
+
}
|
36
|
+
_;
|
37
|
+
}
|
38
|
+
|
39
|
+
|
40
|
+
function initialize(address admin)
|
41
|
+
public
|
42
|
+
initializer()
|
43
|
+
{
|
44
|
+
__ERC165_init();
|
45
|
+
__AccessManager_init(admin);
|
46
|
+
|
47
|
+
_registerInterface(type(IAccessManager).interfaceId);
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
/// @dev Completes the setup of the access manager.
|
52
|
+
/// Links the access manager to the registry and sets the release version.
|
53
|
+
function completeSetup(
|
54
|
+
address registry,
|
55
|
+
VersionPart release
|
56
|
+
)
|
57
|
+
external
|
58
|
+
onlyAdminRole
|
59
|
+
reinitializer(uint64(release.toInt()))
|
60
|
+
{
|
61
|
+
_checkAndSetRegistry(registry);
|
62
|
+
_checkAndSetRelease(release);
|
63
|
+
}
|
64
|
+
|
65
|
+
/// @dev Returns true if the caller is authorized to call the target with the given selector and the manager lock is not set to locked.
|
66
|
+
/// Feturn values as in OpenZeppelin AccessManager.
|
67
|
+
/// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
|
68
|
+
function canCall(
|
69
|
+
address caller,
|
70
|
+
address target,
|
71
|
+
bytes4 selector
|
72
|
+
)
|
73
|
+
public
|
74
|
+
view
|
75
|
+
virtual override
|
76
|
+
returns (
|
77
|
+
bool immediate,
|
78
|
+
uint32 delay
|
79
|
+
)
|
80
|
+
{
|
81
|
+
// locking of all contracts under control of this access manager
|
82
|
+
if (_isLocked) {
|
83
|
+
revert ErrorAccessManagerTargetAdminLocked(target);
|
84
|
+
}
|
85
|
+
|
86
|
+
(immediate, delay) = super.canCall(caller, target, selector);
|
87
|
+
}
|
88
|
+
|
89
|
+
|
90
|
+
/// @dev Locks/unlocks all services of this access manager.
|
91
|
+
/// Only the corresponding access admin can lock/unlock the services.
|
92
|
+
function setLocked(bool locked)
|
93
|
+
external
|
94
|
+
onlyAdminRole()
|
95
|
+
{
|
96
|
+
_isLocked = locked;
|
97
|
+
}
|
98
|
+
|
99
|
+
|
100
|
+
/// @dev Returns the release version of this access manager.
|
101
|
+
/// For the registry admin release 3 is returned.
|
102
|
+
/// For the release admin and the instance admin the actual release version is returned.
|
103
|
+
function getRelease() external view returns (VersionPart release) {
|
104
|
+
return _release;
|
105
|
+
}
|
106
|
+
|
107
|
+
|
108
|
+
/// @dev Returns true iff all contracts of this access manager are locked.
|
109
|
+
function isLocked()
|
110
|
+
public
|
111
|
+
view
|
112
|
+
returns (bool)
|
113
|
+
{
|
114
|
+
return _isLocked;
|
115
|
+
}
|
116
|
+
|
117
|
+
|
118
|
+
function _checkAndSetRelease(VersionPart release)
|
119
|
+
internal
|
120
|
+
{
|
121
|
+
if (!release.isValidRelease()) {
|
122
|
+
revert ErrorAccessManagerInvalidRelease(release);
|
123
|
+
}
|
124
|
+
|
125
|
+
_release = release;
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
function _checkAndSetRegistry(address registry)
|
130
|
+
internal
|
131
|
+
{
|
132
|
+
// checks
|
133
|
+
if(address(getRegistry()) != address(0)) {
|
134
|
+
revert ErrorAccessManagerRegistryAlreadySet(address(getRegistry()) );
|
135
|
+
}
|
136
|
+
|
137
|
+
// effects
|
138
|
+
__RegistryLinked_init(registry);
|
139
|
+
}
|
140
|
+
}
|
@@ -0,0 +1,190 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAccess} from "./IAccess.sol";
|
5
|
+
import {IAuthorization} from "./IAuthorization.sol";
|
6
|
+
|
7
|
+
import {AccessAdminLib} from "./AccessAdminLib.sol";
|
8
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
9
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
10
|
+
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
11
|
+
import {Str, StrLib} from "../type/String.sol";
|
12
|
+
|
13
|
+
|
14
|
+
contract Authorization is
|
15
|
+
ServiceAuthorization,
|
16
|
+
IAuthorization
|
17
|
+
{
|
18
|
+
|
19
|
+
// MUST match with AccessAdminLib.COMPONENT_ROLE_MIN
|
20
|
+
uint64 public constant COMPONENT_ROLE_MIN = 110000;
|
21
|
+
uint64 public constant INSTANCE_ROLE_MIN = 100000;
|
22
|
+
|
23
|
+
uint64 internal _nextGifContractRoleId;
|
24
|
+
uint64 internal _nextInstanceContractRoleId;
|
25
|
+
|
26
|
+
string internal _tokenHandlerName = "ComponentTh";
|
27
|
+
Str internal _tokenHandlerTarget;
|
28
|
+
|
29
|
+
|
30
|
+
constructor(
|
31
|
+
string memory mainTargetName,
|
32
|
+
ObjectType domain,
|
33
|
+
uint8 release,
|
34
|
+
string memory commitHash,
|
35
|
+
IAccess.TargetType targetType,
|
36
|
+
bool includeTokenHandler
|
37
|
+
)
|
38
|
+
ServiceAuthorization(mainTargetName, domain, release, commitHash)
|
39
|
+
{
|
40
|
+
// IMPORTANT must match with AccessAdminLib.CORE_ROLE_MIN
|
41
|
+
_nextGifContractRoleId = 100;
|
42
|
+
_nextInstanceContractRoleId = INSTANCE_ROLE_MIN;
|
43
|
+
|
44
|
+
// setup main target
|
45
|
+
// special case: core targets
|
46
|
+
if (targetType == IAccess.TargetType.Core) {
|
47
|
+
_addGifTarget(_mainTargetName);
|
48
|
+
// special case instances
|
49
|
+
} else if (targetType == IAccess.TargetType.Instance) {
|
50
|
+
_addInstanceTarget(_mainTargetName);
|
51
|
+
// all other target types
|
52
|
+
} else {
|
53
|
+
if (domain.eqz()) {
|
54
|
+
revert ErrorAuthorizationTargetDomainZero();
|
55
|
+
}
|
56
|
+
|
57
|
+
RoleId mainRoleId = RoleIdLib.toRoleId(COMPONENT_ROLE_MIN);
|
58
|
+
string memory mainRoleName = _toTargetRoleName(_mainTargetName);
|
59
|
+
|
60
|
+
_addTargetWithRole(
|
61
|
+
_mainTargetName,
|
62
|
+
mainRoleId,
|
63
|
+
mainRoleName);
|
64
|
+
}
|
65
|
+
|
66
|
+
// setup use case specific parts
|
67
|
+
_setupServiceTargets();
|
68
|
+
_setupRoles(); // not including main target role
|
69
|
+
_setupTargets(); // not including main target (and token handler target)
|
70
|
+
_setupTargetAuthorizations(); // not including token handler target
|
71
|
+
|
72
|
+
// setup component token handler
|
73
|
+
if (includeTokenHandler) {
|
74
|
+
_tokenHandlerName = string(abi.encodePacked(mainTargetName, "Th"));
|
75
|
+
_tokenHandlerTarget = StrLib.toStr(_tokenHandlerName);
|
76
|
+
_addTarget(_tokenHandlerName);
|
77
|
+
_setupTokenHandlerAuthorizations();
|
78
|
+
}
|
79
|
+
|
80
|
+
_registerInterfaceNotInitializing(type(IAuthorization).interfaceId);
|
81
|
+
}
|
82
|
+
|
83
|
+
|
84
|
+
function getTokenHandlerName() public view returns(string memory) {
|
85
|
+
return _tokenHandlerName;
|
86
|
+
}
|
87
|
+
|
88
|
+
function getTokenHandlerTarget() public view returns(Str) {
|
89
|
+
return _tokenHandlerTarget;
|
90
|
+
}
|
91
|
+
|
92
|
+
function getTarget(string memory targetName) public pure returns(Str target) {
|
93
|
+
return StrLib.toStr(targetName);
|
94
|
+
}
|
95
|
+
|
96
|
+
function getTargets() external view returns(Str[] memory targets) {
|
97
|
+
return _targets;
|
98
|
+
}
|
99
|
+
|
100
|
+
function targetExists(Str target) external view returns(bool exists) {
|
101
|
+
return target == _mainTarget || _targetExists[target];
|
102
|
+
}
|
103
|
+
|
104
|
+
/// @dev Sets up the relevant service targets for the component.
|
105
|
+
/// Overwrite this function for use case specific authorizations.
|
106
|
+
// solhint-disable-next-line no-empty-blocks
|
107
|
+
function _setupServiceTargets() internal virtual { }
|
108
|
+
|
109
|
+
/// @dev Sets up the relevant (non-service) targets for the component.
|
110
|
+
/// Overwrite this function for use case specific authorizations.
|
111
|
+
// solhint-disable-next-line no-empty-blocks
|
112
|
+
function _setupTargets() internal virtual { }
|
113
|
+
|
114
|
+
/// @dev Sets up the relevant roles for the component.
|
115
|
+
/// Overwrite this function for use case specific authorizations.
|
116
|
+
// solhint-disable-next-line no-empty-blocks
|
117
|
+
function _setupRoles() internal virtual {}
|
118
|
+
|
119
|
+
/// @dev Sets up the relevant component's token handler authorizations.
|
120
|
+
/// Overwrite this function for use case specific authorizations.
|
121
|
+
// solhint-disable-next-line no-empty-blocks
|
122
|
+
function _setupTokenHandlerAuthorizations() internal virtual {}
|
123
|
+
|
124
|
+
/// @dev Sets up the relevant target authorizations for the component.
|
125
|
+
/// Overwrite this function for use case specific authorizations.
|
126
|
+
// solhint-disable-next-line no-empty-blocks
|
127
|
+
function _setupTargetAuthorizations() internal virtual {}
|
128
|
+
|
129
|
+
|
130
|
+
/// @dev Add a contract role for the provided role id and name.
|
131
|
+
function _addCustomRole(RoleId roleId, RoleId adminRoleId, uint32 maxMemberCount, string memory name) internal {
|
132
|
+
_addRole(
|
133
|
+
roleId,
|
134
|
+
AccessAdminLib.roleInfo(
|
135
|
+
adminRoleId,
|
136
|
+
TargetType.Custom,
|
137
|
+
maxMemberCount,
|
138
|
+
name));
|
139
|
+
}
|
140
|
+
|
141
|
+
/// @dev Add a gif target with its corresponding contract role
|
142
|
+
function _addGifTarget(string memory contractName) internal {
|
143
|
+
RoleId contractRoleId = RoleIdLib.toRoleId(_nextGifContractRoleId++);
|
144
|
+
string memory contractRoleName = string(
|
145
|
+
abi.encodePacked(
|
146
|
+
contractName,
|
147
|
+
ROLE_NAME_SUFFIX));
|
148
|
+
|
149
|
+
_addTargetWithRole(
|
150
|
+
contractName,
|
151
|
+
contractRoleId,
|
152
|
+
contractRoleName);
|
153
|
+
}
|
154
|
+
|
155
|
+
/// @dev Add an instance target with its corresponding contract role
|
156
|
+
function _addInstanceTarget(string memory contractName) internal {
|
157
|
+
RoleId contractRoleId = RoleIdLib.toRoleId(_nextInstanceContractRoleId++);
|
158
|
+
string memory contractRoleName = _toTargetRoleName(contractName);
|
159
|
+
|
160
|
+
_addTargetWithRole(
|
161
|
+
contractName,
|
162
|
+
contractRoleId,
|
163
|
+
contractRoleName);
|
164
|
+
}
|
165
|
+
|
166
|
+
/// @dev Use this method to to add an authorized target.
|
167
|
+
function _addTarget(string memory name) internal {
|
168
|
+
_addTargetWithRole(name, RoleIdLib.zero(), "");
|
169
|
+
}
|
170
|
+
|
171
|
+
|
172
|
+
/// @dev Role id for targets registry, staking and instance
|
173
|
+
function _toTargetRoleId(ObjectType targetDomain)
|
174
|
+
internal
|
175
|
+
pure
|
176
|
+
returns (RoleId targetRoleId)
|
177
|
+
{
|
178
|
+
return RoleIdLib.toRoleId(100 * targetDomain.toInt());
|
179
|
+
}
|
180
|
+
|
181
|
+
|
182
|
+
/// @dev Returns the role name for the specified target name
|
183
|
+
function _toTargetRoleName(string memory targetName) internal pure returns (string memory) {
|
184
|
+
return string(
|
185
|
+
abi.encodePacked(
|
186
|
+
targetName,
|
187
|
+
ROLE_NAME_SUFFIX));
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
@@ -0,0 +1,66 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {Blocknumber} from "../type/Blocknumber.sol";
|
5
|
+
import {RoleId} from "../type/RoleId.sol";
|
6
|
+
import {Selector} from "../type/Selector.sol";
|
7
|
+
import {Str} from "../type/String.sol";
|
8
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
9
|
+
|
10
|
+
interface IAccess {
|
11
|
+
|
12
|
+
enum TargetType {
|
13
|
+
Undefined, // no target must have this type
|
14
|
+
Core, // GIF core contracts
|
15
|
+
GenericService, // release independent service contracts
|
16
|
+
Service, // service contracts
|
17
|
+
Instance, // instance contracts
|
18
|
+
Component, // instance contracts
|
19
|
+
Contract, // normal contracts
|
20
|
+
Custom // use case specific rules for contracts or normal accounts
|
21
|
+
}
|
22
|
+
|
23
|
+
struct RoleInfo {
|
24
|
+
// slot 0
|
25
|
+
RoleId adminRoleId; // 64
|
26
|
+
TargetType targetType; // ?
|
27
|
+
uint32 maxMemberCount; // 32
|
28
|
+
Timestamp createdAt; // 40
|
29
|
+
Timestamp pausedAt; // 40
|
30
|
+
Blocknumber lastUpdateIn; // 40
|
31
|
+
// slot 1
|
32
|
+
Str name; // 256
|
33
|
+
}
|
34
|
+
|
35
|
+
|
36
|
+
// TODO recalc slot allocation
|
37
|
+
struct TargetInfo {
|
38
|
+
Str name;
|
39
|
+
TargetType targetType;
|
40
|
+
RoleId roleId;
|
41
|
+
Timestamp createdAt;
|
42
|
+
Blocknumber lastUpdateIn;
|
43
|
+
}
|
44
|
+
|
45
|
+
struct FunctionInfo {
|
46
|
+
// slot 0
|
47
|
+
Str name; // function name
|
48
|
+
// slot 1
|
49
|
+
Selector selector; // function selector
|
50
|
+
Timestamp createdAt;
|
51
|
+
Blocknumber lastUpdateIn;
|
52
|
+
}
|
53
|
+
|
54
|
+
struct RoleNameInfo {
|
55
|
+
// slot 0
|
56
|
+
RoleId roleId;
|
57
|
+
bool exists;
|
58
|
+
}
|
59
|
+
|
60
|
+
struct TargeNameInfo {
|
61
|
+
// slot 0
|
62
|
+
address target;
|
63
|
+
bool exists;
|
64
|
+
}
|
65
|
+
|
66
|
+
}
|
@@ -0,0 +1,142 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
|
+
|
6
|
+
import {IAccess} from "./IAccess.sol";
|
7
|
+
import {IAuthorization} from "./IAuthorization.sol";
|
8
|
+
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
9
|
+
import {IRelease} from "../registry/IRelease.sol";
|
10
|
+
|
11
|
+
import {Blocknumber} from "../type/Blocknumber.sol";
|
12
|
+
import {NftId} from "../type/NftId.sol";
|
13
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
14
|
+
import {RoleId} from "../type/RoleId.sol";
|
15
|
+
import {Str} from "../type/String.sol";
|
16
|
+
import {VersionPart} from "../type/Version.sol";
|
17
|
+
|
18
|
+
/// @dev Base interface for registry admin, release admin, and instance admin
|
19
|
+
interface IAccessAdmin is
|
20
|
+
IAccessManaged,
|
21
|
+
IAccess,
|
22
|
+
IRegistryLinked,
|
23
|
+
IRelease
|
24
|
+
{
|
25
|
+
|
26
|
+
// roles, targets and functions
|
27
|
+
event LogAccessAdminRoleCreated(string admin, RoleId roleId, TargetType targetType, RoleId roleAdminId, string name);
|
28
|
+
event LogAccessAdminTargetCreated(string admin, string name, bool managed, address target, RoleId roleId);
|
29
|
+
|
30
|
+
event LogAccessAdminRoleActivatedSet(string admin, RoleId roleId, bool active, Blocknumber lastUpdateIn);
|
31
|
+
event LogAccessAdminRoleGranted(string admin, address account, string roleName);
|
32
|
+
event LogAccessAdminRoleRevoked(string admin, address account, string roleName);
|
33
|
+
event LogAccessAdminTargetLockedSet(string admin, address target, bool locked, Blocknumber lastUpdateIn);
|
34
|
+
event LogAccessAdminFunctionGranted(string admin, address target, string func, Blocknumber lastUpdateIn);
|
35
|
+
|
36
|
+
// only deployer modifier
|
37
|
+
error ErrorAccessAdminNotDeployer();
|
38
|
+
|
39
|
+
// only role admin modifier
|
40
|
+
error ErrorAccessAdminNotAdminOfRole(RoleId adminRoleId, address account);
|
41
|
+
|
42
|
+
// only role owner modifier
|
43
|
+
error ErrorAccessAdminNotRoleOwner(RoleId roleId, address account);
|
44
|
+
|
45
|
+
// role management
|
46
|
+
error ErrorAccessAdminInvalidUseOfAdminRole();
|
47
|
+
error ErrorAccessAdminInvalidUseOfPublicRole();
|
48
|
+
error ErrorAccessAdminRoleNotCustom(RoleId roleId);
|
49
|
+
|
50
|
+
// initialization
|
51
|
+
error ErrorAccessAdminNotRegistry(address registry);
|
52
|
+
error ErrorAccessAdminAuthorityNotContract(address authority);
|
53
|
+
error ErrorAccessAdminAccessManagerNotAccessManager(address authority);
|
54
|
+
error ErrorAccessAdminAccessManagerEmptyName();
|
55
|
+
|
56
|
+
// check target
|
57
|
+
error ErrorAccessAdminInvalidTargetType(address target, TargetType targetType);
|
58
|
+
error ErrorAccessAdminInvalidServiceType(address target, TargetType serviceTargetType);
|
59
|
+
error ErrorAccessAdminTargetNotCreated(address target);
|
60
|
+
error ErrorAccessAdminTargetNotRegistered(address target);
|
61
|
+
error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
|
62
|
+
|
63
|
+
// check authorization
|
64
|
+
error ErrorAccessAdminAlreadyInitialized(address authorization);
|
65
|
+
error ErrorAccessAdminNotAuthorization(address authorization);
|
66
|
+
error ErrorAccessAdminNotServiceAuthorization(address serviceAuthorization);
|
67
|
+
error ErrorAccessAdminDomainMismatch(address authorization, ObjectType expectedDomain, ObjectType actualDomain);
|
68
|
+
error ErrorAccessAdminReleaseMismatch(address authorization, VersionPart expectedRelease, VersionPart actualRelease);
|
69
|
+
|
70
|
+
// link to nft
|
71
|
+
error ErrorAccessAdminNotRegistered(address registerable);
|
72
|
+
|
73
|
+
// initialize authority
|
74
|
+
error ErrorAccessAdminAdminRoleMissing();
|
75
|
+
|
76
|
+
// create role
|
77
|
+
error ErrorAccessAdminRoleAlreadyCreated(RoleId roleId, string name);
|
78
|
+
error ErrorAccessAdminRoleAdminNotExisting(RoleId adminRoleId);
|
79
|
+
error ErrorAccessAdminRoleNameEmpty(RoleId roleId);
|
80
|
+
error ErrorAccessAdminRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
|
81
|
+
|
82
|
+
// grant/revoke/renounce role
|
83
|
+
error ErrorAccessAdminRoleUnknown(RoleId roleId);
|
84
|
+
error ErrorAccessAdminRoleIsLocked(RoleId roleId);
|
85
|
+
error ErrorAccessAdminRoleIsPaused(RoleId roleId);
|
86
|
+
error ErrorAccessAdminRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
|
87
|
+
error ErrorAccessAdminRoleMemberNotContract(RoleId roleId, address notContract);
|
88
|
+
error ErrorAccessAdminRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
|
89
|
+
|
90
|
+
// create target
|
91
|
+
error ErrorAccessAdminTargetAlreadyCreated(address target, string name);
|
92
|
+
error ErrorAccessAdminTargetNameEmpty(address target);
|
93
|
+
error ErrorAccessAdminTargetNameAlreadyExists(address target, string name, address existingTarget);
|
94
|
+
error ErrorAccessAdminTargetNotAccessManaged(address target);
|
95
|
+
error ErrorAccessAdminTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
|
96
|
+
|
97
|
+
// lock target
|
98
|
+
error ErrorAccessAdminTagetNotLockable();
|
99
|
+
error ErrorAccessAdminTargetAlreadyLocked(address target, bool isLocked);
|
100
|
+
|
101
|
+
// authorize target functions
|
102
|
+
error ErrorAccessAdminNotComponentOrCustomTarget(address target);
|
103
|
+
error ErrorAccessAdminAuthorizeForAdminRoleInvalid(address target);
|
104
|
+
|
105
|
+
// toFunction
|
106
|
+
error ErrorAccessAdminSelectorZero();
|
107
|
+
error ErrorAccessAdminFunctionNameEmpty();
|
108
|
+
|
109
|
+
// check target
|
110
|
+
error ErrorAccessAdminTargetUnknown(address target);
|
111
|
+
|
112
|
+
//--- view functions ----------------------------------------------------//
|
113
|
+
|
114
|
+
function getAuthorization() external view returns (IAuthorization authorization);
|
115
|
+
function getLinkedNftId() external view returns (NftId linkedNftId);
|
116
|
+
|
117
|
+
function isLocked() external view returns (bool locked);
|
118
|
+
|
119
|
+
function roles() external view returns (uint256 numberOfRoles);
|
120
|
+
function getRoleId(uint256 idx) external view returns (RoleId roleId);
|
121
|
+
|
122
|
+
function roleExists(RoleId roleId) external view returns (bool exists);
|
123
|
+
function getRoleForName(string memory name) external view returns (RoleId roleId, bool exists);
|
124
|
+
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
|
125
|
+
function isRoleActive(RoleId roleId) external view returns (bool isActive);
|
126
|
+
function isRoleCustom(RoleId roleId) external view returns (bool isCustom);
|
127
|
+
|
128
|
+
function isRoleMember(RoleId roleId, address account) external view returns (bool);
|
129
|
+
function isRoleAdmin(RoleId roleId, address account) external view returns (bool);
|
130
|
+
function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers);
|
131
|
+
function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
|
132
|
+
|
133
|
+
function targetExists(address target) external view returns (bool exists);
|
134
|
+
function getTargetForName(Str name) external view returns (address target);
|
135
|
+
function targets() external view returns (uint256 numberOfTargets);
|
136
|
+
function getTargetAddress(uint256 idx) external view returns (address target);
|
137
|
+
function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
|
138
|
+
function isTargetLocked(address target) external view returns (bool locked);
|
139
|
+
|
140
|
+
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
141
|
+
function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
|
142
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IServiceAuthorization} from "./IServiceAuthorization.sol";
|
5
|
+
import {Str} from "../type/String.sol";
|
6
|
+
|
7
|
+
|
8
|
+
interface IAuthorization is
|
9
|
+
IServiceAuthorization
|
10
|
+
{
|
11
|
+
|
12
|
+
/// @dev Returns the token hander name.
|
13
|
+
/// Only components have a token handler.
|
14
|
+
function getTokenHandlerName() external view returns(string memory name);
|
15
|
+
|
16
|
+
/// @dev Returns the token hander target.
|
17
|
+
/// Only components have a token handler.
|
18
|
+
function getTokenHandlerTarget() external view returns(Str target);
|
19
|
+
|
20
|
+
/// @dev Returns the complete list of targets.
|
21
|
+
function getTargets() external view returns(Str[] memory targets);
|
22
|
+
|
23
|
+
/// @dev Returns true iff the specified target exists.
|
24
|
+
function targetExists(Str target) external view returns(bool exists);
|
25
|
+
}
|
26
|
+
|
@@ -0,0 +1,78 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
5
|
+
|
6
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
7
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
8
|
+
import {RoleId} from "../type/RoleId.sol";
|
9
|
+
import {Str} from "../type/String.sol";
|
10
|
+
import {VersionPart} from "../type/Version.sol";
|
11
|
+
|
12
|
+
interface IServiceAuthorization is
|
13
|
+
IERC165,
|
14
|
+
IAccess
|
15
|
+
{
|
16
|
+
|
17
|
+
error ErrorAuthorizationMainTargetNameEmpty();
|
18
|
+
error ErrorAuthorizationTargetDomainZero();
|
19
|
+
error ErrorAuthorizationReleaseInvalid(uint8 release);
|
20
|
+
error ErrorAuthorizationCommitHashInvalid(string commitHash);
|
21
|
+
|
22
|
+
/// @dev Returns the main domain of the authorization.
|
23
|
+
function getDomain() external view returns(ObjectType targetDomain);
|
24
|
+
|
25
|
+
/// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
|
26
|
+
/// Matches with the release returned by the linked service authorization.
|
27
|
+
function getRelease() external view returns(VersionPart release);
|
28
|
+
|
29
|
+
/// @dev Returns the commit hash for the related GIF release.
|
30
|
+
function getCommitHash() external view returns(string memory commitHash);
|
31
|
+
|
32
|
+
/// @dev Returns the main target id name as string.
|
33
|
+
/// This name is used to derive the target id and a corresponding target role name
|
34
|
+
/// Overwrite this function to change the basic pool target name.
|
35
|
+
function getMainTargetName() external view returns (string memory name);
|
36
|
+
|
37
|
+
/// @dev Returns the main target.
|
38
|
+
function getMainTarget() external view returns(Str target);
|
39
|
+
|
40
|
+
/// @dev Returns the full list of service domains for this release.
|
41
|
+
/// Services need to be registered for the release in revers order of this list.
|
42
|
+
function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
|
43
|
+
|
44
|
+
/// @dev Returns the service domain for the provided index.
|
45
|
+
function getServiceDomain(uint256 idx) external view returns(ObjectType serviceDomain);
|
46
|
+
|
47
|
+
/// @dev Returns the service target for the specified domain.
|
48
|
+
function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
|
49
|
+
|
50
|
+
/// @dev Returns the service target for the specified domain.
|
51
|
+
function getServiceRole(ObjectType serviceDomain) external view returns(RoleId serviceRoleId);
|
52
|
+
|
53
|
+
/// @dev Returns the expected service address for the provided domain.
|
54
|
+
function getServiceAddress(ObjectType serviceDomain) external view returns(address service);
|
55
|
+
|
56
|
+
/// @dev Returns the role id associated with the target.
|
57
|
+
/// If no role is associated with the target the zero role id is returned.
|
58
|
+
function getTargetRole(Str target) external view returns(RoleId roleId);
|
59
|
+
|
60
|
+
/// @dev Returns true iff the role exists.
|
61
|
+
function roleExists(RoleId roleId) external view returns(bool exists);
|
62
|
+
|
63
|
+
/// @dev Returns the list of involved roles.
|
64
|
+
function getRoles() external view returns(RoleId[] memory roles);
|
65
|
+
|
66
|
+
/// @dev Returns the role info for the provided role id.
|
67
|
+
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
|
68
|
+
|
69
|
+
/// @dev Returns the name for the provided role id.
|
70
|
+
function getRoleName(RoleId roleId) external view returns (string memory roleName);
|
71
|
+
|
72
|
+
/// @dev For the given target the list of authorized role ids is returned
|
73
|
+
function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds);
|
74
|
+
|
75
|
+
/// @dev For the given target and role id the list of authorized functions is returned
|
76
|
+
function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
|
77
|
+
}
|
78
|
+
|