@etherisc/gif-next 0.0.2-e0ff180-766 → 0.0.2-e14821a-976
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 +153 -22
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1088 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +803 -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 +1664 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1416 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +803 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1372 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +659 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1247 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +818 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → distribution/Distribution.sol/Distribution.json} +311 -328
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1835 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +943 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Component.sol/Component.json → distribution/IDistributionComponent.sol/IDistributionComponent.json} +276 -280
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +534 -340
- 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 +1487 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +818 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2056 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +818 -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 +1442 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +818 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1174 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1650 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +818 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2588 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +818 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/{base/IKeyValueStore.sol/IKeyValueStore.json → BaseStore.sol/BaseStore.json} +87 -184
- 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 +573 -1775
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +530 -71
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +639 -2578
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2284 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +850 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1866 -636
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +571 -386
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +216 -172
- 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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +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 +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +960 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +823 -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/{instance/service/IBundleService.sol/IBundleService.json → oracle/IOracleService.sol/IOracleService.json} +328 -225
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +876 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1055 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +823 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +357 -488
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +818 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1464 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +879 -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/{components/IProductComponent.sol/IProductComponent.json → pool/IPoolComponent.sol/IPoolComponent.json} +349 -284
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1397 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → pool/Pool.sol/Pool.json} +382 -418
- 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 +1807 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +879 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1062 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +803 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +492 -497
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +818 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1546 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +891 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IApplicationService.sol/IApplicationService.json} +334 -374
- 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/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +185 -155
- 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/{instance/service/IPolicyService.sol/IPolicyService.json → product/IRiskService.sol/IRiskService.json} +223 -164
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1417 -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 +867 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +958 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +827 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1120 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +886 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +787 -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 +499 -34
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +315 -109
- 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 +987 -131
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2160 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1087 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +415 -262
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +227 -111
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -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 +1389 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +696 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -137
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +289 -188
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1577 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +875 -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/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 +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +153 -138
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/IComponentService.sol/IComponentService.json} +584 -738
- 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/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +38 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +163 -3
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +98 -5
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +66 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +798 -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 +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +57 -67
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +36 -73
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +160 -102
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +110 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
- 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 +3188 -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 +860 -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 +1357 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +779 -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 +251 -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 +241 -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 +142 -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/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 +289 -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 +180 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -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/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +669 -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 +11 -1
- 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 +780 -0
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +158 -0
- package/contracts/authorization/Authorization.sol +169 -0
- package/contracts/authorization/IAccess.sol +67 -0
- package/contracts/authorization/IAccessAdmin.sol +144 -0
- package/contracts/authorization/IAuthorization.sol +26 -0
- package/contracts/authorization/IServiceAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +320 -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 +465 -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/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 +131 -73
- package/contracts/instance/IInstanceService.sol +86 -39
- package/contracts/instance/Instance.sol +248 -224
- package/contracts/instance/InstanceAdmin.sol +379 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
- package/contracts/instance/InstanceReader.sol +513 -192
- package/contracts/instance/InstanceService.sol +432 -394
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- 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 +9 -11
- package/contracts/instance/module/IComponents.sol +43 -24
- package/contracts/instance/module/IDistribution.sol +25 -12
- package/contracts/instance/module/IPolicy.sol +71 -38
- package/contracts/instance/module/IRisk.sol +6 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
- 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 +401 -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 +167 -0
- package/contracts/pool/Pool.sol +331 -0
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +635 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +343 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
- package/contracts/product/BasicProduct.sol +48 -0
- package/contracts/product/BasicProductAuthorization.sol +63 -0
- package/contracts/product/ClaimService.sol +642 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
- package/contracts/{instance/service → product}/IApplicationService.sol +41 -35
- 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 +680 -0
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +318 -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 +79 -40
- package/contracts/registry/IRegistry.sol +104 -33
- package/contracts/registry/IRegistryService.sol +34 -40
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +469 -200
- package/contracts/registry/RegistryAdmin.sol +191 -0
- package/contracts/registry/RegistryAuthorization.sol +336 -0
- package/contracts/registry/RegistryService.sol +90 -131
- package/contracts/registry/RegistryServiceManager.sol +23 -32
- package/contracts/registry/ReleaseAdmin.sol +195 -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 +265 -64
- package/contracts/shared/Component.sol +210 -0
- package/contracts/shared/ComponentService.sol +705 -0
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ContractLib.sol +312 -0
- package/contracts/shared/IComponent.sol +58 -0
- package/contracts/shared/IComponentService.sol +111 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
- package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
- package/contracts/shared/INftOwnable.sol +6 -2
- package/contracts/shared/IPolicyHolder.sol +23 -14
- package/contracts/shared/IRegisterable.sol +22 -1
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +12 -5
- package/contracts/shared/InitializableERC165.sol +49 -0
- package/contracts/shared/InstanceLinkedComponent.sol +192 -0
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +39 -30
- package/contracts/shared/PolicyHolder.sol +23 -41
- package/contracts/shared/Registerable.sol +54 -22
- package/contracts/shared/RegistryLinked.sol +11 -21
- package/contracts/shared/Service.sol +36 -41
- package/contracts/shared/TokenHandler.sol +322 -13
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +367 -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 +320 -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/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +154 -0
- package/contracts/{types → type}/Blocknumber.sol +36 -13
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/{types → type}/ClaimId.sol +31 -3
- package/contracts/{types → type}/Fee.sol +28 -26
- package/contracts/{types → type}/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/{types → type}/NftId.sol +21 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +307 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +75 -0
- package/contracts/type/RoleId.sol +180 -0
- package/contracts/type/Seconds.sol +120 -0
- package/contracts/type/Selector.sol +107 -0
- package/contracts/{types → type}/StateId.sol +47 -4
- package/contracts/type/String.sol +65 -0
- package/contracts/{types → type}/Timestamp.sol +23 -7
- package/contracts/type/UFixed.sol +263 -0
- package/contracts/{types → type}/Version.sol +58 -7
- package/contracts/{shared → upgradeability}/IVersionable.sol +4 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +118 -41
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +28 -0
- package/contracts/{shared → upgradeability}/Versionable.sol +9 -6
- package/package.json +12 -8
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -237
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -475
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +0 -450
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
- 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/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
- 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/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -267
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/Component.sol +0 -253
- package/contracts/components/Distribution.sol +0 -280
- package/contracts/components/IComponent.sol +0 -76
- package/contracts/components/IDistributionComponent.sol +0 -71
- package/contracts/components/IPoolComponent.sol +0 -113
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/components/Pool.sol +0 -303
- package/contracts/components/Product.sol +0 -293
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/instance/BundleManager.sol +0 -127
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -527
- package/contracts/instance/ObjectManager.sol +0 -82
- package/contracts/instance/base/ComponentService.sol +0 -121
- package/contracts/instance/base/IKeyValueStore.sol +0 -49
- package/contracts/instance/base/KeyValueStore.sol +0 -180
- package/contracts/instance/base/Lifecycle.sol +0 -109
- package/contracts/instance/module/IAccess.sol +0 -54
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -350
- package/contracts/instance/service/BundleService.sol +0 -431
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -151
- package/contracts/instance/service/DistributionService.sol +0 -435
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -93
- package/contracts/instance/service/IClaimService.sol +0 -61
- package/contracts/instance/service/IDistributionService.sol +0 -99
- package/contracts/instance/service/IPolicyService.sol +0 -72
- package/contracts/instance/service/IPoolService.sol +0 -99
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -362
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -303
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -210
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/registry/ReleaseManager.sol +0 -324
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/ERC165.sol +0 -27
- package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/Amount.sol +0 -60
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/PayoutId.sol +0 -54
- package/contracts/types/RiskId.sol +0 -43
- package/contracts/types/RoleId.sol +0 -97
- package/contracts/types/Seconds.sol +0 -54
- package/contracts/types/UFixed.sol +0 -326
- /package/contracts/{types → type}/DistributorType.sol +0 -0
@@ -1,216 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: UNLICENSED
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
|
5
|
-
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
6
|
-
|
7
|
-
import {RoleId, RoleIdLib,
|
8
|
-
GIF_MANAGER_ROLE,
|
9
|
-
GIF_ADMIN_ROLE,
|
10
|
-
RELEASE_MANAGER_ROLE} from "../types/RoleId.sol";
|
11
|
-
|
12
|
-
import {TokenRegistry} from "./TokenRegistry.sol";
|
13
|
-
import {ReleaseManager} from "./ReleaseManager.sol";
|
14
|
-
|
15
|
-
/*
|
16
|
-
4 types of roles:
|
17
|
-
1) RELEASE_MANAGER_ROLE
|
18
|
-
- has only ReleaseManager as member
|
19
|
-
- responsible for setting and granting of REGISTRAR roles
|
20
|
-
1) REGISTRAR roles
|
21
|
-
- set and granted by RELEASE_MANAGER_ROLE
|
22
|
-
- each has 1 unique member (regular service ver.X) (subject to change)
|
23
|
-
- each set to 1 target (registry service ver.X) and 1 selector (function of registry service ver.X) (subject to change)
|
24
|
-
2) GIF_MANAGER_ROLE
|
25
|
-
- can have arbitrary number of members
|
26
|
-
- responsible for services registrations
|
27
|
-
- responsible for token registration and activation
|
28
|
-
3) GIF_ADMIN_ROLE
|
29
|
-
- admin of GIF_MANAGER_ROLE
|
30
|
-
- MUST have 1 member at any time
|
31
|
-
- granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
|
32
|
-
- responsible for creation and activation of releases
|
33
|
-
|
34
|
-
*/
|
35
|
-
|
36
|
-
contract RegistryAccessManager is AccessManaged
|
37
|
-
{
|
38
|
-
error NotInitialized();
|
39
|
-
error AlreadyInitialized();
|
40
|
-
|
41
|
-
uint64 public constant UNIQUE_ROLE_ID_MIN = 1000000;
|
42
|
-
|
43
|
-
AccessManager private immutable _accessManager;
|
44
|
-
address private _releaseManager;
|
45
|
-
address private _tokenRegistry;
|
46
|
-
|
47
|
-
uint64 private _idNext; // role id
|
48
|
-
bool private _isInitialized;
|
49
|
-
|
50
|
-
modifier onlyOnce() {
|
51
|
-
if(_isInitialized) {
|
52
|
-
revert AlreadyInitialized();
|
53
|
-
}
|
54
|
-
_;
|
55
|
-
_isInitialized = true;
|
56
|
-
}
|
57
|
-
|
58
|
-
modifier onlyInitialized() {
|
59
|
-
if(!_isInitialized) {
|
60
|
-
revert NotInitialized();
|
61
|
-
}
|
62
|
-
_;
|
63
|
-
}
|
64
|
-
|
65
|
-
constructor(address manager)
|
66
|
-
AccessManaged(msg.sender)
|
67
|
-
{
|
68
|
-
_accessManager = new AccessManager(address(this));
|
69
|
-
setAuthority(address(_accessManager));
|
70
|
-
|
71
|
-
_idNext = UNIQUE_ROLE_ID_MIN;
|
72
|
-
|
73
|
-
_configureAdminRoleInitial();
|
74
|
-
|
75
|
-
address admin = msg.sender;
|
76
|
-
_grantRole(GIF_ADMIN_ROLE(), admin, 0);
|
77
|
-
_grantRole(GIF_MANAGER_ROLE(), manager, 0);
|
78
|
-
}
|
79
|
-
|
80
|
-
function initialize(address releaseManager, address tokenRegistry)
|
81
|
-
external
|
82
|
-
restricted // GIF_ADMIN_ROLE
|
83
|
-
onlyOnce
|
84
|
-
{
|
85
|
-
require(
|
86
|
-
ReleaseManager(releaseManager).authority() == address(_accessManager),
|
87
|
-
"RegistryAccessManager: release manager authority is invalid");
|
88
|
-
require(tokenRegistry > address(0), "RegistryAccessManager: token registry is 0");
|
89
|
-
//require(tokenRegistry.authority() == address(_accessManager));
|
90
|
-
|
91
|
-
_releaseManager = releaseManager;
|
92
|
-
_tokenRegistry = tokenRegistry;
|
93
|
-
|
94
|
-
_configureAdminRole();
|
95
|
-
_configureManagerRole();
|
96
|
-
_configureReleaseManagerRole();
|
97
|
-
|
98
|
-
_grantRole(RELEASE_MANAGER_ROLE(), releaseManager, 0);
|
99
|
-
}
|
100
|
-
|
101
|
-
// set unique role for target, role forever have 1 member and never revoked
|
102
|
-
function setAndGrantUniqueRole(
|
103
|
-
address account,
|
104
|
-
address target,
|
105
|
-
bytes4[] memory selector
|
106
|
-
)
|
107
|
-
external
|
108
|
-
restricted // RELEASE_MANAGER_ROLE
|
109
|
-
onlyInitialized
|
110
|
-
returns(RoleId)
|
111
|
-
{
|
112
|
-
// TODO questionable check...
|
113
|
-
// target is not part of `runtime`
|
114
|
-
//if(
|
115
|
-
// target == address(this) ||
|
116
|
-
// target == address(_accessManager) ||
|
117
|
-
// target == _releaseManager ||
|
118
|
-
// target == _tokenRegistry)
|
119
|
-
//{ return TargetInvalid(); }
|
120
|
-
|
121
|
-
RoleId roleId = _getNextRoleId();
|
122
|
-
|
123
|
-
_setTargetFunctionRole(target, selector, roleId);
|
124
|
-
_grantRole(roleId, account, 0);
|
125
|
-
}
|
126
|
-
|
127
|
-
/*function transferAdmin(address to)
|
128
|
-
external
|
129
|
-
restricted // only with GIF_ADMIN_ROLE or nft owner
|
130
|
-
{
|
131
|
-
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
132
|
-
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
133
|
-
}*/
|
134
|
-
|
135
|
-
//--- view functions ----------------------------------------------------//
|
136
|
-
|
137
|
-
function getAccessManager()
|
138
|
-
external
|
139
|
-
view
|
140
|
-
returns (AccessManager)
|
141
|
-
{
|
142
|
-
return _accessManager;
|
143
|
-
}
|
144
|
-
|
145
|
-
//--- private functions -------------------------------------------------//
|
146
|
-
|
147
|
-
function _configureAdminRoleInitial() private
|
148
|
-
{
|
149
|
-
bytes4[] memory functionSelector = new bytes4[](1);
|
150
|
-
|
151
|
-
functionSelector[0] = RegistryAccessManager.initialize.selector;
|
152
|
-
_setTargetFunctionRole(address(this), functionSelector, GIF_ADMIN_ROLE());
|
153
|
-
}
|
154
|
-
|
155
|
-
function _configureAdminRole() private
|
156
|
-
{
|
157
|
-
bytes4[] memory functionSelector = new bytes4[](1);
|
158
|
-
|
159
|
-
// for RegistryServiceProxyManager
|
160
|
-
// TODO upgrading with releaseManager.upgrade()->proxy.upgrade()???
|
161
|
-
//functionSelector[0] = RegistryServiceManager.upgrade.selector;
|
162
|
-
//_setTargetFunctionRole(address(this), functionSelector, GIF_ADMIN_ROLE());
|
163
|
-
|
164
|
-
// for TokenRegistry
|
165
|
-
|
166
|
-
// for ReleaseManager
|
167
|
-
functionSelector[0] = ReleaseManager.createNextRelease.selector;
|
168
|
-
_setTargetFunctionRole(_releaseManager, functionSelector, GIF_ADMIN_ROLE());
|
169
|
-
|
170
|
-
functionSelector[0] = ReleaseManager.activateNextRelease.selector;
|
171
|
-
_setTargetFunctionRole(_releaseManager, functionSelector, GIF_ADMIN_ROLE());
|
172
|
-
}
|
173
|
-
|
174
|
-
function _configureManagerRole() private
|
175
|
-
{
|
176
|
-
bytes4[] memory functionSelector = new bytes4[](1);
|
177
|
-
|
178
|
-
// for TokenRegistry
|
179
|
-
functionSelector[0] = TokenRegistry.setActive.selector;
|
180
|
-
_setTargetFunctionRole(address(_tokenRegistry), functionSelector, GIF_MANAGER_ROLE());
|
181
|
-
|
182
|
-
// for ReleaseManager
|
183
|
-
functionSelector[0] = ReleaseManager.registerService.selector;
|
184
|
-
_setTargetFunctionRole(_releaseManager, functionSelector, GIF_MANAGER_ROLE());
|
185
|
-
|
186
|
-
functionSelector[0] = ReleaseManager.registerRegistryService.selector;
|
187
|
-
_setTargetFunctionRole(_releaseManager, functionSelector, GIF_MANAGER_ROLE());
|
188
|
-
|
189
|
-
// set admin
|
190
|
-
_setRoleAdmin(GIF_MANAGER_ROLE(), GIF_ADMIN_ROLE());
|
191
|
-
}
|
192
|
-
|
193
|
-
function _configureReleaseManagerRole() private
|
194
|
-
{
|
195
|
-
bytes4[] memory functionSelector = new bytes4[](1);
|
196
|
-
|
197
|
-
functionSelector[0] = RegistryAccessManager.setAndGrantUniqueRole.selector;
|
198
|
-
_setTargetFunctionRole(address(this), functionSelector, RELEASE_MANAGER_ROLE());
|
199
|
-
}
|
200
|
-
|
201
|
-
function _setTargetFunctionRole(address target, bytes4[] memory selectors, RoleId roleId) private {
|
202
|
-
_accessManager.setTargetFunctionRole(target, selectors, roleId.toInt());
|
203
|
-
}
|
204
|
-
|
205
|
-
function _setRoleAdmin(RoleId roleId, RoleId adminRoleId) private {
|
206
|
-
_accessManager.setRoleAdmin(roleId.toInt(), adminRoleId.toInt());
|
207
|
-
}
|
208
|
-
|
209
|
-
function _grantRole(RoleId roleId, address account, uint32 executionDelay) private {
|
210
|
-
_accessManager.grantRole(roleId.toInt(), account, executionDelay);
|
211
|
-
}
|
212
|
-
|
213
|
-
function _getNextRoleId() private returns(RoleId roleId) {
|
214
|
-
roleId = RoleIdLib.toRoleId(_idNext++);
|
215
|
-
}
|
216
|
-
}
|
@@ -1,324 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
5
|
-
|
6
|
-
import {NftId} from "../types/NftId.sol";
|
7
|
-
import {RoleId} from "../types/RoleId.sol";
|
8
|
-
import {ObjectType, ObjectTypeLib, zeroObjectType, REGISTRY, SERVICE} from "../types/ObjectType.sol";
|
9
|
-
import {Version, VersionLib, VersionPart, VersionPartLib} from "../types/Version.sol";
|
10
|
-
import {Timestamp, TimestampLib} from "../types/Timestamp.sol";
|
11
|
-
|
12
|
-
import {IService} from "../shared/IService.sol";
|
13
|
-
|
14
|
-
import {IRegistry} from "./IRegistry.sol";
|
15
|
-
import {Registry} from "./Registry.sol";
|
16
|
-
import {IRegistryService} from "./IRegistryService.sol";
|
17
|
-
import {RegistryAccessManager} from "./RegistryAccessManager.sol";
|
18
|
-
|
19
|
-
|
20
|
-
contract ReleaseManager is AccessManaged
|
21
|
-
{
|
22
|
-
using ObjectTypeLib for ObjectType;
|
23
|
-
|
24
|
-
event LogReleaseCreation(VersionPart version);
|
25
|
-
event LogReleaseActivation(VersionPart version);
|
26
|
-
|
27
|
-
// createNextRelease
|
28
|
-
error NotRegistryService();
|
29
|
-
error UnexpectedServiceAuthority(address expected, address found);
|
30
|
-
|
31
|
-
// registerService
|
32
|
-
error NotService();
|
33
|
-
|
34
|
-
// activateNextRelease
|
35
|
-
error ReleaseNotCreated();
|
36
|
-
error ReleaseRegistrationNotFinished();
|
37
|
-
|
38
|
-
// _getAndVerifyContractInfo
|
39
|
-
error UnexpectedRegisterableType(ObjectType expected, ObjectType found);
|
40
|
-
error NotRegisterableOwner(address notOwner);
|
41
|
-
error SelfRegistration();
|
42
|
-
error RegisterableOwnerIsRegistered();
|
43
|
-
|
44
|
-
// _verifyService
|
45
|
-
error UnexpectedServiceVersion(VersionPart expected, VersionPart found);
|
46
|
-
error UnexpectedServiceDomain(ObjectType expected, ObjectType found);
|
47
|
-
|
48
|
-
// _verifyAndStoreConfig
|
49
|
-
error ConfigMissing();
|
50
|
-
error ConfigServiceDomainInvalid(uint configArrayIndex, ObjectType domain);
|
51
|
-
error ConfigSelectorZero(uint configArrayIndex);
|
52
|
-
error SelectorAlreadyExists(VersionPart releaseVersion, ObjectType serviceDomain);
|
53
|
-
|
54
|
-
|
55
|
-
RegistryAccessManager private immutable _accessManager;
|
56
|
-
IRegistry private immutable _registry;
|
57
|
-
|
58
|
-
VersionPart immutable _initial;// first active major version
|
59
|
-
VersionPart _latest;// latest active major version
|
60
|
-
VersionPart _next;// major version to create and activate
|
61
|
-
|
62
|
-
mapping(VersionPart majorVersion => IRegistry.ReleaseInfo info) _release;
|
63
|
-
|
64
|
-
mapping(VersionPart majorVersion => mapping(ObjectType serviceDomain => bytes4[])) _selectors; // registry service function selector assigned to domain
|
65
|
-
|
66
|
-
uint _awaitingRegistration; // "services left to register" counter
|
67
|
-
|
68
|
-
mapping(address registryService => bool isActive) _active;
|
69
|
-
|
70
|
-
mapping(VersionPart majorVersion => bool isValid) _valid; // TODO refactor to use _active only
|
71
|
-
|
72
|
-
constructor(
|
73
|
-
RegistryAccessManager accessManager,
|
74
|
-
VersionPart initialVersion)
|
75
|
-
AccessManaged(accessManager.authority())
|
76
|
-
{
|
77
|
-
require(initialVersion.toInt() > 0, "ReleaseManager: initial version is 0");
|
78
|
-
|
79
|
-
_accessManager = accessManager;
|
80
|
-
|
81
|
-
_initial = initialVersion;
|
82
|
-
_next = initialVersion;
|
83
|
-
|
84
|
-
_registry = new Registry();
|
85
|
-
}
|
86
|
-
|
87
|
-
/// @dev skips previous release if was not activated
|
88
|
-
function createNextRelease()
|
89
|
-
external
|
90
|
-
restricted // GIF_ADMIN_ROLE
|
91
|
-
{
|
92
|
-
// allow to register new registry service for next version
|
93
|
-
VersionPartLib.toVersionPart(_next.toInt() + 1);
|
94
|
-
// disallow registration of regular services for next version while registry service is not registered
|
95
|
-
_awaitingRegistration = 0;
|
96
|
-
|
97
|
-
emit LogReleaseCreation(_next);
|
98
|
-
}
|
99
|
-
|
100
|
-
function activateNextRelease()
|
101
|
-
external
|
102
|
-
restricted // GIF_ADMIN_ROLE
|
103
|
-
{
|
104
|
-
VersionPart version = _next;
|
105
|
-
address service = _registry.getServiceAddress(REGISTRY(), version);
|
106
|
-
|
107
|
-
// release was created
|
108
|
-
if(service == address(0)) {
|
109
|
-
revert ReleaseNotCreated();
|
110
|
-
}
|
111
|
-
|
112
|
-
// release fully deployed
|
113
|
-
if(_awaitingRegistration > 0) {
|
114
|
-
revert ReleaseRegistrationNotFinished();
|
115
|
-
}
|
116
|
-
|
117
|
-
//setTargetClosed(service, false);
|
118
|
-
|
119
|
-
_latest = version;
|
120
|
-
|
121
|
-
_active[service] = true;
|
122
|
-
_valid[version] = true;
|
123
|
-
|
124
|
-
emit LogReleaseActivation(version);
|
125
|
-
}
|
126
|
-
|
127
|
-
// TODO deploy proxy and initialize with given implementation instead of using given proxy?
|
128
|
-
// IMPORTANT: MUST never be possible to create with access/release manager, token registry
|
129
|
-
// callable once per release after release creation, can not register regular services while registry service is not registered
|
130
|
-
function registerRegistryService(IRegistryService service)
|
131
|
-
external
|
132
|
-
restricted // GIF_MANAGER_ROLE
|
133
|
-
returns(NftId nftId)
|
134
|
-
{
|
135
|
-
if(!service.supportsInterface(type(IRegistryService).interfaceId)) {
|
136
|
-
revert NotRegistryService();
|
137
|
-
}
|
138
|
-
|
139
|
-
// TODO unreliable! MUST guarantee the same authority -> how?
|
140
|
-
address serviceAuthority = service.authority();
|
141
|
-
if(serviceAuthority != authority()) {
|
142
|
-
revert UnexpectedServiceAuthority(
|
143
|
-
authority(),
|
144
|
-
serviceAuthority);
|
145
|
-
}
|
146
|
-
|
147
|
-
IRegistry.ObjectInfo memory info = _getAndVerifyContractInfo(service, SERVICE(), msg.sender);
|
148
|
-
|
149
|
-
VersionPart majorVersion = _next;
|
150
|
-
ObjectType domain = REGISTRY();
|
151
|
-
_verifyService(service, majorVersion, domain);
|
152
|
-
_createRelease(service.getFunctionConfigs());
|
153
|
-
|
154
|
-
nftId = _registry.registerService(info, majorVersion, domain);
|
155
|
-
|
156
|
-
// external call
|
157
|
-
service.linkToRegisteredNftId();
|
158
|
-
}
|
159
|
-
|
160
|
-
// TODO adding service to release -> synchronized with proxy upgrades or simple addServiceToRelease(service, version, selector)?
|
161
|
-
// TODO removing service from release? -> set _active to false forever, but keep all other records?
|
162
|
-
function registerService(IService service)
|
163
|
-
external
|
164
|
-
restricted // GIF_MANAGER_ROLE
|
165
|
-
returns(NftId nftId)
|
166
|
-
{
|
167
|
-
if(!service.supportsInterface(type(IService).interfaceId)) {
|
168
|
-
revert NotService();
|
169
|
-
}
|
170
|
-
|
171
|
-
IRegistry.ObjectInfo memory info = _getAndVerifyContractInfo(service, SERVICE(), msg.sender);
|
172
|
-
VersionPart majorVersion = getNextVersion();
|
173
|
-
ObjectType domain = _release[majorVersion].domains[_awaitingRegistration];// reversed registration order of services specified in RegistryService config
|
174
|
-
_verifyService(service, majorVersion, domain);
|
175
|
-
|
176
|
-
// setup and grant unique role if service does registrations
|
177
|
-
bytes4[] memory selectors = _selectors[majorVersion][domain];
|
178
|
-
address registryService = _registry.getServiceAddress(REGISTRY(), majorVersion);
|
179
|
-
if(selectors.length > 0) {
|
180
|
-
_accessManager.setAndGrantUniqueRole(
|
181
|
-
address(service),
|
182
|
-
registryService,
|
183
|
-
selectors);
|
184
|
-
}
|
185
|
-
|
186
|
-
_awaitingRegistration--;
|
187
|
-
|
188
|
-
nftId = _registry.registerService(info, majorVersion, domain);
|
189
|
-
|
190
|
-
// external call
|
191
|
-
service.linkToRegisteredNftId();
|
192
|
-
}
|
193
|
-
|
194
|
-
//--- view functions ----------------------------------------------------//
|
195
|
-
|
196
|
-
function isActiveRegistryService(address service) external view returns(bool)
|
197
|
-
{
|
198
|
-
return _active[service];
|
199
|
-
}
|
200
|
-
|
201
|
-
function isValidRelease(VersionPart version) external view returns(bool)
|
202
|
-
{
|
203
|
-
return _valid[version];
|
204
|
-
}
|
205
|
-
|
206
|
-
function getRegistry() external view returns(address)
|
207
|
-
{
|
208
|
-
return (address(_registry));
|
209
|
-
}
|
210
|
-
|
211
|
-
function getReleaseInfo(VersionPart version) external view returns(IRegistry.ReleaseInfo memory)
|
212
|
-
{
|
213
|
-
return _release[version];
|
214
|
-
}
|
215
|
-
|
216
|
-
function getNextVersion() public view returns(VersionPart)
|
217
|
-
{
|
218
|
-
return _next;
|
219
|
-
}
|
220
|
-
|
221
|
-
function getLatestVersion() external view returns(VersionPart) {
|
222
|
-
return _latest;
|
223
|
-
}
|
224
|
-
|
225
|
-
function getInitialVersion() external view returns(VersionPart) {
|
226
|
-
return _initial;
|
227
|
-
}
|
228
|
-
|
229
|
-
//--- private functions ----------------------------------------------------//
|
230
|
-
|
231
|
-
function _getAndVerifyContractInfo(
|
232
|
-
IService service,
|
233
|
-
ObjectType expectedType,
|
234
|
-
address expectedOwner // assume always valid, can not be 0
|
235
|
-
)
|
236
|
-
internal
|
237
|
-
// view
|
238
|
-
returns(
|
239
|
-
IRegistry.ObjectInfo memory info
|
240
|
-
)
|
241
|
-
{
|
242
|
-
info = service.getInitialInfo();
|
243
|
-
info.objectAddress = address(service);
|
244
|
-
info.isInterceptor = false; // service is never interceptor, at least now
|
245
|
-
|
246
|
-
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
247
|
-
revert UnexpectedRegisterableType(expectedType, info.objectType);
|
248
|
-
}
|
249
|
-
|
250
|
-
address owner = info.initialOwner;
|
251
|
-
|
252
|
-
if(owner != expectedOwner) { // registerable owner protection
|
253
|
-
revert NotRegisterableOwner(expectedOwner);
|
254
|
-
}
|
255
|
-
|
256
|
-
if(owner == address(service)) {
|
257
|
-
revert SelfRegistration();
|
258
|
-
}
|
259
|
-
|
260
|
-
if(_registry.isRegistered(owner)) {
|
261
|
-
revert RegisterableOwnerIsRegistered();
|
262
|
-
}
|
263
|
-
}
|
264
|
-
|
265
|
-
function _verifyService(
|
266
|
-
IService service,
|
267
|
-
VersionPart expectedVersion,
|
268
|
-
ObjectType expectedDomain
|
269
|
-
)
|
270
|
-
internal
|
271
|
-
view
|
272
|
-
returns(ObjectType)
|
273
|
-
{
|
274
|
-
Version version = service.getVersion();
|
275
|
-
VersionPart majorVersion = version.toMajorPart();
|
276
|
-
if(majorVersion != expectedVersion) {
|
277
|
-
revert UnexpectedServiceVersion(expectedVersion, majorVersion);
|
278
|
-
}
|
279
|
-
|
280
|
-
if(service.getDomain() != expectedDomain) {
|
281
|
-
revert UnexpectedServiceDomain(expectedDomain, service.getDomain());
|
282
|
-
}
|
283
|
-
|
284
|
-
return expectedDomain;
|
285
|
-
}
|
286
|
-
|
287
|
-
// TODO check if registry supports types specified in the config array
|
288
|
-
function _createRelease(IRegistryService.FunctionConfig[] memory config)
|
289
|
-
internal
|
290
|
-
{
|
291
|
-
VersionPart version = getNextVersion();
|
292
|
-
|
293
|
-
if(config.length == 0) {
|
294
|
-
revert ConfigMissing();
|
295
|
-
}
|
296
|
-
// always in release
|
297
|
-
_release[version].domains.push(REGISTRY());
|
298
|
-
for(uint idx = 0; idx < config.length; idx++)
|
299
|
-
{
|
300
|
-
ObjectType domain = config[idx].serviceDomain;
|
301
|
-
// not "registry service" / zero domain
|
302
|
-
if(
|
303
|
-
domain == REGISTRY() ||
|
304
|
-
domain.eqz()
|
305
|
-
) { revert ConfigServiceDomainInvalid(idx, domain); }
|
306
|
-
|
307
|
-
bytes4[] memory selectors = config[idx].selectors;
|
308
|
-
|
309
|
-
// TODO can be zero -> e.g. duplicate domain, first with zero selector, second with non zero selector -> need to check _release[version].domains.contains(domain) instead
|
310
|
-
// no overwrite
|
311
|
-
if(_selectors[version][domain].length > 0) {
|
312
|
-
revert SelectorAlreadyExists(version, domain);
|
313
|
-
}
|
314
|
-
|
315
|
-
_selectors[version][domain] = selectors;
|
316
|
-
_release[version].domains.push(domain);
|
317
|
-
}
|
318
|
-
// TODO set when activated?
|
319
|
-
_release[version].createdAt = TimestampLib.blockTimestamp();
|
320
|
-
//_release[version].updatedAt = TimestampLib.blockTimestamp();
|
321
|
-
|
322
|
-
_awaitingRegistration = config.length;
|
323
|
-
}
|
324
|
-
}
|
@@ -1,72 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
library ContractDeployerLib {
|
5
|
-
|
6
|
-
event LogContractDeployed(address contractAddress);
|
7
|
-
|
8
|
-
error ErrorCreationCodeHashMismatch(bytes32 expectedHash, bytes32 actualHash);
|
9
|
-
|
10
|
-
/// @dev deploys a new contract using the provided creation code
|
11
|
-
function deploy(
|
12
|
-
bytes memory creationCode,
|
13
|
-
bytes32 expectedCreationCodeHash
|
14
|
-
)
|
15
|
-
public
|
16
|
-
returns (address contractAdress)
|
17
|
-
{
|
18
|
-
// check against expected hash, if provided
|
19
|
-
if (expectedCreationCodeHash != bytes32(0)) {
|
20
|
-
bytes32 creationCodeHash = getHash(creationCode);
|
21
|
-
if (creationCodeHash != expectedCreationCodeHash) {
|
22
|
-
revert ErrorCreationCodeHashMismatch(expectedCreationCodeHash, creationCodeHash);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
|
26
|
-
// solhint-disable no-inline-assembly
|
27
|
-
assembly {
|
28
|
-
contractAdress := create(0, add(creationCode, 0x20), mload(creationCode))
|
29
|
-
|
30
|
-
if iszero(extcodesize(contractAdress)) {
|
31
|
-
revert(0, 0)
|
32
|
-
}
|
33
|
-
}
|
34
|
-
// solhint enable
|
35
|
-
|
36
|
-
emit LogContractDeployed(contractAdress);
|
37
|
-
}
|
38
|
-
|
39
|
-
/// @dev gets the creation code for the new contract
|
40
|
-
// for terminology see eg https://www.rareskills.io/post/ethereum-contract-creation-code
|
41
|
-
function getCreationCode(
|
42
|
-
bytes memory byteCodeWithInitCode, // what you get with type(<Contract>).creationCode
|
43
|
-
bytes memory encodedConstructorArguments // what you get with
|
44
|
-
)
|
45
|
-
public
|
46
|
-
pure
|
47
|
-
returns (bytes memory creationCode)
|
48
|
-
{
|
49
|
-
return abi.encodePacked(byteCodeWithInitCode, encodedConstructorArguments);
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
function matchesWithHash(
|
54
|
-
bytes memory creationCode,
|
55
|
-
bytes32 expectedHash
|
56
|
-
)
|
57
|
-
public
|
58
|
-
pure
|
59
|
-
returns (bool isMatching)
|
60
|
-
{
|
61
|
-
return getHash(creationCode) == expectedHash;
|
62
|
-
}
|
63
|
-
|
64
|
-
|
65
|
-
function getHash(bytes memory creationCode)
|
66
|
-
public
|
67
|
-
pure
|
68
|
-
returns (bytes32 hash)
|
69
|
-
{
|
70
|
-
return keccak256(creationCode);
|
71
|
-
}
|
72
|
-
}
|
@@ -1,27 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.19;
|
3
|
-
|
4
|
-
import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
5
|
-
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
6
|
-
|
7
|
-
contract ERC165 is
|
8
|
-
Initializable,
|
9
|
-
IERC165
|
10
|
-
{
|
11
|
-
mapping(bytes4 => bool) private _isSupported;
|
12
|
-
|
13
|
-
// @dev initializes with support for ERC165
|
14
|
-
function initializeERC165() public onlyInitializing() {
|
15
|
-
_isSupported[type(IERC165).interfaceId] = true;
|
16
|
-
}
|
17
|
-
|
18
|
-
// @dev register support for provided interfaceId
|
19
|
-
// includes initialization for ERC165_ID if not yet done
|
20
|
-
function registerInterface(bytes4 interfaceId) public onlyInitializing() {
|
21
|
-
_isSupported[interfaceId] = true;
|
22
|
-
}
|
23
|
-
|
24
|
-
function supportsInterface(bytes4 interfaceId) external view override returns (bool) {
|
25
|
-
return _isSupported[interfaceId];
|
26
|
-
}
|
27
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
|
5
|
-
import {TransparentUpgradeableProxy, ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
|
6
|
-
|
7
|
-
import {IVersionable} from "./IVersionable.sol";
|
8
|
-
|
9
|
-
contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
|
10
|
-
|
11
|
-
constructor(address implementation, address initialProxyAdminOwner, bytes memory data)
|
12
|
-
TransparentUpgradeableProxy(implementation, initialProxyAdminOwner, data)
|
13
|
-
{}
|
14
|
-
|
15
|
-
function getProxyAdmin() external returns (ProxyAdmin) { return ProxyAdmin(_proxyAdmin()); }
|
16
|
-
}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.19;
|
3
|
-
|
4
|
-
import {UFixed, UFixedLib} from "../types/UFixed.sol";
|
5
|
-
import {Fee, FeeLib} from "../types/Fee.sol";
|
6
|
-
|
7
|
-
contract TestFee {
|
8
|
-
|
9
|
-
function createFee(
|
10
|
-
uint256 fractionalValue,
|
11
|
-
int8 exponent,
|
12
|
-
uint256 fixedValue
|
13
|
-
)
|
14
|
-
external
|
15
|
-
pure
|
16
|
-
returns(Fee memory fee)
|
17
|
-
{
|
18
|
-
return FeeLib.toFee(UFixedLib.toUFixed(fractionalValue, exponent), fixedValue);
|
19
|
-
}
|
20
|
-
|
21
|
-
function getZeroFee() external pure returns(Fee memory fee) {
|
22
|
-
return FeeLib.zeroFee();
|
23
|
-
}
|
24
|
-
|
25
|
-
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.19;
|
3
|
-
|
4
|
-
import {NftId} from "../../contracts/types/NftId.sol";
|
5
|
-
import {ObjectType, TOKEN} from "../../contracts/types/ObjectType.sol";
|
6
|
-
import {IRegistry} from "../../contracts/registry/IRegistry.sol";
|
7
|
-
import {Registerable} from "../../contracts/shared/Registerable.sol";
|
8
|
-
|
9
|
-
contract TestRegisterable is Registerable {
|
10
|
-
|
11
|
-
constructor(address registry, NftId registryNftId, ObjectType objectType, bool isInterceptor, address initialOwner)
|
12
|
-
//Registerable(registry, registryNftId)
|
13
|
-
// solhint-disable-next-line no-empty-blocks
|
14
|
-
{
|
15
|
-
bytes memory data = "";
|
16
|
-
initializeRegisterable(registry, registryNftId, objectType, isInterceptor, initialOwner, data);
|
17
|
-
}
|
18
|
-
}
|