@etherisc/gif-next 3.0.0-cf1abe2-268 → 3.0.0-cf20ffd-765
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 +10 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +119 -117
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +48 -93
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +145 -168
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +85 -83
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -222
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +59 -168
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +252 -238
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +154 -144
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +58 -180
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +145 -111
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +109 -246
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +137 -279
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -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/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1278 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1391 -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 +2214 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +104 -255
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +108 -240
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +125 -257
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +116 -248
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +69 -77
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +47 -99
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +126 -92
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +72 -166
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +225 -247
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +238 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +175 -149
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +116 -108
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +183 -133
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +153 -103
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +80 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +21 -21
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +9 -4
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +83 -209
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +63 -166
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +103 -94
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +69 -159
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +168 -163
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +133 -115
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +78 -168
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +158 -212
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -133
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +73 -107
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +76 -179
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +142 -138
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +78 -168
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +221 -277
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +134 -144
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +74 -149
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -114
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +59 -149
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -203
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -136
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +43 -82
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +59 -92
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +91 -97
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +45 -84
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +58 -161
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +51 -103
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +154 -188
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +132 -126
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +96 -163
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -120
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +59 -149
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +78 -174
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +111 -113
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +4 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +70 -163
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +218 -204
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +114 -322
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +221 -242
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +246 -287
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +114 -119
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +236 -245
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +217 -156
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +39 -23
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +41 -161
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +554 -182
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +145 -119
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- 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 +1 -1
- 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/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +558 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +40 -173
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +457 -97
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +58 -161
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +30 -3
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +27 -79
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +34 -73
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +59 -149
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +36 -17
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +26 -78
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +33 -72
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -82
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -70
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +182 -283
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -300
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +235 -352
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +128 -116
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +84 -357
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +115 -109
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +273 -281
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +22 -35
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +90 -67
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +22 -33
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +34 -55
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +52 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +11 -10
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +44 -43
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +8 -7
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/BundleSet.sol +7 -8
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +8 -8
- package/contracts/instance/IInstanceService.sol +6 -4
- package/contracts/instance/Instance.sol +12 -8
- package/contracts/instance/InstanceAdmin.sol +17 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +59 -23
- package/contracts/instance/InstanceService.sol +28 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +14 -14
- package/contracts/instance/RiskSet.sol +6 -7
- package/contracts/instance/base/BalanceStore.sol +7 -7
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +3 -3
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +21 -17
- package/contracts/oracle/Oracle.sol +6 -5
- package/contracts/oracle/OracleService.sol +68 -38
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +22 -28
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +9 -10
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +14 -13
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +35 -11
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IApplicationService.sol +8 -8
- package/contracts/product/IClaimService.sol +9 -9
- package/contracts/product/IPolicyService.sol +8 -7
- package/contracts/product/IRiskService.sol +4 -5
- package/contracts/product/PolicyService.sol +58 -45
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +2 -0
- package/contracts/product/RiskService.sol +42 -10
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/ChainNft.sol +2 -2
- package/contracts/registry/IRegistry.sol +15 -21
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +82 -126
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -6
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +27 -13
- package/contracts/registry/ReleaseRegistry.sol +81 -72
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +18 -9
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +168 -49
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +46 -10
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/INftOwnable.sol +3 -1
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +130 -39
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +6 -9
- package/contracts/staking/IStaking.sol +35 -33
- package/contracts/staking/IStakingService.sol +7 -16
- package/contracts/staking/Staking.sol +38 -32
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +15 -18
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +11 -11
- package/contracts/staking/TargetHandler.sol +6 -5
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +4 -3
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -5,9 +5,10 @@ import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
|
|
5
5
|
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
6
6
|
|
7
7
|
import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
|
8
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
8
9
|
import {IRegistry} from "./IRegistry.sol";
|
9
10
|
import {IRelease} from "./IRelease.sol";
|
10
|
-
import {
|
11
|
+
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
11
12
|
import {IService} from "../shared/IService.sol";
|
12
13
|
import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
|
13
14
|
|
@@ -15,7 +16,7 @@ import {ContractLib} from "../shared/ContractLib.sol";
|
|
15
16
|
import {NftId} from "../type/NftId.sol";
|
16
17
|
import {ObjectType, ObjectTypeLib, COMPONENT, POOL, RELEASE, REGISTRY, SERVICE, STAKING} from "../type/ObjectType.sol";
|
17
18
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
18
|
-
import {Registry
|
19
|
+
import {Registry} from "./Registry.sol";
|
19
20
|
import {ReleaseAdmin} from "./ReleaseAdmin.sol";
|
20
21
|
import {ReleaseLifecycle} from "./ReleaseLifecycle.sol";
|
21
22
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -33,12 +34,16 @@ import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
|
33
34
|
contract ReleaseRegistry is
|
34
35
|
AccessManaged,
|
35
36
|
ReleaseLifecycle,
|
36
|
-
|
37
|
+
IRegistryLinked
|
37
38
|
{
|
38
|
-
|
39
|
-
|
40
|
-
event
|
41
|
-
event
|
39
|
+
uint256 public constant INITIAL_GIF_VERSION = 3;// first active release version
|
40
|
+
|
41
|
+
event LogReleaseCreated(IAccessAdmin indexed admin, VersionPart indexed release, bytes32 indexed salt);
|
42
|
+
event LogReleaseActivated(VersionPart indexed release);
|
43
|
+
event LogReleaseEnabled(VersionPart indexed release, bool indexed active);
|
44
|
+
|
45
|
+
// constructor
|
46
|
+
error ErrorReleaseRegistryNotRegistry(Registry registry);
|
42
47
|
|
43
48
|
// _verifyServiceAuthorization
|
44
49
|
error ErrorReleaseRegistryNotServiceAuth(address notAuth);
|
@@ -53,19 +58,20 @@ contract ReleaseRegistry is
|
|
53
58
|
|
54
59
|
// _verifyService
|
55
60
|
error ErrorReleaseRegistryNotService(address notService);
|
56
|
-
error ErrorReleaseRegistryServiceAuthorityMismatch(IService service, address
|
61
|
+
error ErrorReleaseRegistryServiceAuthorityMismatch(IService service, address serviceAuthority, address releaseAuthority);
|
62
|
+
error ErrorReleaseRegistryServiceVersionMismatch(IService service, VersionPart serviceVersion, VersionPart releaseVersion);
|
57
63
|
error ErrorReleaseRegistryServiceDomainMismatch(IService service, ObjectType expectedDomain, ObjectType actualDomain);
|
58
64
|
|
59
|
-
//
|
65
|
+
// _verifyServiceInfo
|
60
66
|
error ErrorReleaseRegistryServiceInfoAddressInvalid(IService service, address expected);
|
61
67
|
error ErrorReleaseRegistryServiceInfoInterceptorInvalid(IService service, bool isInterceptor);
|
62
68
|
error ErrorReleaseRegistryServiceInfoTypeInvalid(IService service, ObjectType expected, ObjectType found);
|
63
|
-
error ErrorReleaseRegistryServiceInfoReleaseMismatch(IService service, VersionPart expected, VersionPart actual);
|
64
69
|
error ErrorReleaseRegistryServiceInfoOwnerInvalid(IService service, address expected, address found);
|
65
70
|
error ErrorReleaseRegistryServiceSelfRegistration(IService service);
|
66
71
|
error ErrorReleaseRegistryServiceOwnerRegistered(IService service, address owner);
|
67
72
|
|
68
73
|
RegistryAdmin public immutable _registryAdmin;
|
74
|
+
Registry public immutable _registry;
|
69
75
|
|
70
76
|
mapping(VersionPart release => IRelease.ReleaseInfo info) internal _releaseInfo;
|
71
77
|
VersionPart [] internal _release; // array of all created releases
|
@@ -79,18 +85,21 @@ contract ReleaseRegistry is
|
|
79
85
|
uint256 internal _servicesToRegister = 0;
|
80
86
|
|
81
87
|
// TODO move master relase admin outside constructor (same construction as for registry admin)
|
82
|
-
constructor()
|
88
|
+
constructor(Registry registry)
|
83
89
|
AccessManaged(msg.sender)
|
84
90
|
{
|
85
|
-
|
91
|
+
if (!ContractLib.isRegistry(address(registry))) {
|
92
|
+
revert ErrorReleaseRegistryNotRegistry(registry);
|
93
|
+
}
|
86
94
|
|
87
95
|
setAuthority(registry.getAuthority());
|
88
96
|
|
89
|
-
|
97
|
+
_registry = registry;
|
98
|
+
_registryAdmin = RegistryAdmin(_registry.getRegistryAdminAddress());
|
90
99
|
_masterReleaseAdmin = new ReleaseAdmin(
|
91
100
|
_cloneNewAccessManager());
|
92
101
|
|
93
|
-
_next = VersionPartLib.toVersionPart(
|
102
|
+
_next = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION - 1);
|
94
103
|
}
|
95
104
|
|
96
105
|
/// @dev Initiates the creation of a new GIF release by the GIF admin.
|
@@ -108,7 +117,7 @@ contract ReleaseRegistry is
|
|
108
117
|
}
|
109
118
|
|
110
119
|
release = VersionPartLib.toVersionPart(release.toInt() + 1);
|
111
|
-
_release.push(release);
|
120
|
+
_release.push(release);
|
112
121
|
|
113
122
|
_next = release;
|
114
123
|
_releaseInfo[release].version = release;
|
@@ -158,7 +167,7 @@ contract ReleaseRegistry is
|
|
158
167
|
_releaseInfo[releaseVersion].auth = serviceAuthorization;
|
159
168
|
_releaseInfo[releaseVersion].releaseAdmin = address(releaseAdmin);
|
160
169
|
|
161
|
-
emit
|
170
|
+
emit LogReleaseCreated(releaseAdmin, releaseVersion, releaseSalt);
|
162
171
|
}
|
163
172
|
|
164
173
|
function registerService(IService service)
|
@@ -174,21 +183,24 @@ contract ReleaseRegistry is
|
|
174
183
|
address releaseAuthority = ReleaseAdmin(_releaseInfo[releaseVersion].releaseAdmin).authority();
|
175
184
|
IServiceAuthorization releaseAuthz = _releaseInfo[releaseVersion].auth;
|
176
185
|
ObjectType expectedDomain = releaseAuthz.getServiceDomain(_registeredServices);
|
177
|
-
address expectedOwner = msg.sender;
|
178
186
|
|
179
187
|
// service can work with release registry and release version
|
180
188
|
(
|
181
189
|
IRegistry.ObjectInfo memory info,
|
182
|
-
|
183
|
-
|
190
|
+
ObjectType serviceDomain,
|
191
|
+
VersionPart serviceVersion
|
192
|
+
//,string memory serviceName
|
184
193
|
) = _verifyService(
|
185
194
|
service,
|
186
|
-
expectedOwner,
|
187
195
|
releaseAuthority,
|
188
196
|
releaseVersion,
|
189
197
|
expectedDomain
|
190
198
|
);
|
191
199
|
|
200
|
+
//_releaseInfo[releaseVersion].addresses.push(address(service)); // TODO get this info from auth contract?
|
201
|
+
//_releaseInfo[releaseVersion].domains.push(serviceDomain);
|
202
|
+
//_releaseInfo[releaseVersion].names.push(serviceName); // TODO if needed read in _verifyService()
|
203
|
+
|
192
204
|
_registeredServices++; // TODO use releaseInfo.someArray.length instead of _registeredServices
|
193
205
|
|
194
206
|
// release fully deployed
|
@@ -209,7 +221,7 @@ contract ReleaseRegistry is
|
|
209
221
|
releaseAdmin.setReleaseLocked(true);
|
210
222
|
|
211
223
|
// register service with registry
|
212
|
-
nftId =
|
224
|
+
nftId = _registry.registerService(info, serviceVersion, serviceDomain);
|
213
225
|
service.linkToRegisteredNftId();
|
214
226
|
}
|
215
227
|
|
@@ -232,34 +244,32 @@ contract ReleaseRegistry is
|
|
232
244
|
// grant special roles for registry/staking/pool services
|
233
245
|
// this will enable access to core contracts functions
|
234
246
|
|
235
|
-
IRegistry registry = _getRegistry();
|
236
|
-
|
237
247
|
// registry service MUST be registered for each release
|
238
|
-
address service =
|
248
|
+
address service = _registry.getServiceAddress(REGISTRY(), release);
|
239
249
|
if(service == address(0)) {
|
240
250
|
revert ErrorReleaseRegistryRegistryServiceMissing(release);
|
241
251
|
}
|
242
252
|
|
243
253
|
_registryAdmin.grantServiceRoleForAllVersions(IService(service), REGISTRY());
|
244
254
|
|
245
|
-
service =
|
255
|
+
service = _registry.getServiceAddress(STAKING(), release);
|
246
256
|
if(service != address(0)) {
|
247
257
|
_registryAdmin.grantServiceRoleForAllVersions(IService(service), STAKING());
|
248
258
|
}
|
249
259
|
|
250
|
-
service =
|
260
|
+
service = _registry.getServiceAddress(COMPONENT(), release);
|
251
261
|
if(service != address(0)) {
|
252
262
|
_registryAdmin.grantServiceRoleForAllVersions(IService(service), COMPONENT());
|
253
263
|
}
|
254
264
|
|
255
|
-
service =
|
265
|
+
service = _registry.getServiceAddress(POOL(), release);
|
256
266
|
if(service != address(0)) {
|
257
267
|
_registryAdmin.grantServiceRoleForAllVersions(IService(service), POOL());
|
258
268
|
}
|
259
269
|
|
260
270
|
_setReleaseLocked(release, false);
|
261
271
|
|
262
|
-
emit
|
272
|
+
emit LogReleaseActivated(release);
|
263
273
|
}
|
264
274
|
|
265
275
|
/// @dev stop/resume operations with restricted functions
|
@@ -273,12 +283,12 @@ contract ReleaseRegistry is
|
|
273
283
|
checkTransition(state, RELEASE(), PAUSED(), ACTIVE());
|
274
284
|
_releaseInfo[release].state = ACTIVE();
|
275
285
|
_releaseInfo[release].disabledAt = TimestampLib.max();
|
276
|
-
emit LogReleaseEnabled(release);
|
286
|
+
emit LogReleaseEnabled(release, true);
|
277
287
|
} else {
|
278
288
|
checkTransition(state, RELEASE(), ACTIVE(), PAUSED());
|
279
289
|
_releaseInfo[release].state = PAUSED();
|
280
290
|
_releaseInfo[release].disabledAt = TimestampLib.current();
|
281
|
-
emit
|
291
|
+
emit LogReleaseEnabled(release, false);
|
282
292
|
}
|
283
293
|
|
284
294
|
_setReleaseLocked(release, !active);
|
@@ -345,6 +355,12 @@ contract ReleaseRegistry is
|
|
345
355
|
return address(_registryAdmin);
|
346
356
|
}
|
347
357
|
|
358
|
+
//--- IRegistryLinked ------------------------------------------------------//
|
359
|
+
|
360
|
+
function getRegistry() external view returns (IRegistry) {
|
361
|
+
return _registry;
|
362
|
+
}
|
363
|
+
|
348
364
|
//--- private functions ----------------------------------------------------//
|
349
365
|
|
350
366
|
function _setReleaseLocked(VersionPart release, bool locked)
|
@@ -372,11 +388,12 @@ contract ReleaseRegistry is
|
|
372
388
|
|
373
389
|
clonedAdmin.initialize(
|
374
390
|
address(_cloneNewAccessManager()),
|
375
|
-
releaseAdminName
|
376
|
-
release);
|
391
|
+
releaseAdminName);
|
377
392
|
|
378
393
|
clonedAdmin.completeSetup(
|
394
|
+
address(_registry),
|
379
395
|
address(serviceAuthorization),
|
396
|
+
release,
|
380
397
|
address(this)); // release registry (this contract)
|
381
398
|
|
382
399
|
// lock release (remains locked until activation)
|
@@ -421,65 +438,62 @@ contract ReleaseRegistry is
|
|
421
438
|
|
422
439
|
// TODO get service names
|
423
440
|
function _verifyService(
|
424
|
-
IService service,
|
425
|
-
address expectedOwner,
|
441
|
+
IService service,
|
426
442
|
address expectedAuthority,
|
427
|
-
VersionPart
|
443
|
+
VersionPart expectedVersion,
|
428
444
|
ObjectType expectedDomain
|
429
445
|
)
|
430
446
|
internal
|
431
447
|
view
|
432
448
|
returns(
|
433
|
-
IRegistry.ObjectInfo memory
|
434
|
-
|
435
|
-
|
449
|
+
IRegistry.ObjectInfo memory serviceInfo,
|
450
|
+
ObjectType serviceDomain,
|
451
|
+
VersionPart serviceVersion
|
436
452
|
)
|
437
453
|
{
|
438
454
|
if(!service.supportsInterface(type(IService).interfaceId)) {
|
439
455
|
revert ErrorReleaseRegistryNotService(address(service));
|
440
456
|
}
|
441
457
|
|
442
|
-
address
|
443
|
-
|
458
|
+
address owner = msg.sender;
|
459
|
+
address serviceAuthority = service.authority();
|
460
|
+
serviceVersion = service.getVersion().toMajorPart();
|
461
|
+
serviceDomain = service.getDomain();// checked in registry
|
462
|
+
serviceInfo = service.getInitialInfo();
|
444
463
|
|
445
|
-
(
|
446
|
-
service,
|
447
|
-
expectedOwner,
|
448
|
-
expectedRelease);
|
464
|
+
_verifyServiceInfo(service, serviceInfo, owner);
|
449
465
|
|
450
|
-
if(
|
466
|
+
if(serviceAuthority != expectedAuthority) {
|
451
467
|
revert ErrorReleaseRegistryServiceAuthorityMismatch(
|
452
468
|
service,
|
453
|
-
|
454
|
-
|
469
|
+
serviceAuthority,
|
470
|
+
expectedAuthority);
|
455
471
|
}
|
456
472
|
|
457
|
-
if(
|
473
|
+
if(serviceVersion != expectedVersion) {
|
474
|
+
revert ErrorReleaseRegistryServiceVersionMismatch(
|
475
|
+
service,
|
476
|
+
serviceVersion,
|
477
|
+
expectedVersion);
|
478
|
+
}
|
479
|
+
|
480
|
+
if(serviceDomain != expectedDomain) {
|
458
481
|
revert ErrorReleaseRegistryServiceDomainMismatch(
|
459
482
|
service,
|
460
483
|
expectedDomain,
|
461
|
-
|
484
|
+
serviceDomain);
|
462
485
|
}
|
463
486
|
}
|
464
487
|
|
465
488
|
|
466
|
-
function
|
489
|
+
function _verifyServiceInfo(
|
467
490
|
IService service,
|
468
|
-
|
469
|
-
|
491
|
+
IRegistry.ObjectInfo memory info,
|
492
|
+
address expectedOwner // assume always valid, can not be 0
|
470
493
|
)
|
471
494
|
internal
|
472
495
|
view
|
473
|
-
returns (
|
474
|
-
IRegistry.ObjectInfo memory info,
|
475
|
-
address initialOwner,
|
476
|
-
bytes memory data
|
477
|
-
)
|
478
496
|
{
|
479
|
-
info = service.getInitialInfo();
|
480
|
-
initialOwner = service.getOwner();
|
481
|
-
data = service.getInitialData();
|
482
|
-
|
483
497
|
if(info.objectAddress != address(service)) {
|
484
498
|
revert ErrorReleaseRegistryServiceInfoAddressInvalid(service, info.objectAddress);
|
485
499
|
}
|
@@ -492,23 +506,18 @@ contract ReleaseRegistry is
|
|
492
506
|
revert ErrorReleaseRegistryServiceInfoTypeInvalid(service, SERVICE(), info.objectType);
|
493
507
|
}
|
494
508
|
|
495
|
-
|
496
|
-
revert ErrorReleaseRegistryServiceInfoReleaseMismatch(
|
497
|
-
service,
|
498
|
-
expectedRelease,
|
499
|
-
info.release);
|
500
|
-
}
|
509
|
+
address owner = info.initialOwner;
|
501
510
|
|
502
|
-
if(
|
503
|
-
revert ErrorReleaseRegistryServiceInfoOwnerInvalid(service, expectedOwner,
|
511
|
+
if(owner != expectedOwner) { // registerable owner protection
|
512
|
+
revert ErrorReleaseRegistryServiceInfoOwnerInvalid(service, expectedOwner, owner);
|
504
513
|
}
|
505
514
|
|
506
|
-
if(
|
515
|
+
if(owner == address(service)) {
|
507
516
|
revert ErrorReleaseRegistryServiceSelfRegistration(service);
|
508
517
|
}
|
509
518
|
|
510
|
-
if(
|
511
|
-
revert ErrorReleaseRegistryServiceOwnerRegistered(service,
|
519
|
+
if(_registry.isRegistered(owner)) {
|
520
|
+
revert ErrorReleaseRegistryServiceOwnerRegistered(service, owner);
|
512
521
|
}
|
513
522
|
}
|
514
523
|
}
|
@@ -21,8 +21,6 @@ import {IRegistryService} from "./IRegistryService.sol";
|
|
21
21
|
import {IRiskService} from "../product/IRiskService.sol";
|
22
22
|
|
23
23
|
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
24
|
-
import {VersionPartLib} from "../../contracts/type/Version.sol";
|
25
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
26
24
|
|
27
25
|
|
28
26
|
contract ServiceAuthorizationV3
|
@@ -33,7 +31,7 @@ contract ServiceAuthorizationV3
|
|
33
31
|
ServiceAuthorization(
|
34
32
|
"ReleaseAdmin",
|
35
33
|
RELEASE(),
|
36
|
-
|
34
|
+
3,
|
37
35
|
commitHash)
|
38
36
|
{}
|
39
37
|
|
@@ -92,7 +90,8 @@ contract ServiceAuthorizationV3
|
|
92
90
|
_authorize(functions, IRegistryService.registerBundle.selector, "registerBundle");
|
93
91
|
|
94
92
|
functions = _authorizeForService(REGISTRY(), COMPONENT());
|
95
|
-
_authorize(functions, IRegistryService.
|
93
|
+
_authorize(functions, IRegistryService.registerProduct.selector, "registerProduct");
|
94
|
+
_authorize(functions, IRegistryService.registerProductLinkedComponent.selector, "registerProductLinkedComponent");
|
96
95
|
|
97
96
|
functions = _authorizeForService(REGISTRY(), DISTRIBUTION());
|
98
97
|
_authorize(functions, IRegistryService.registerDistributor.selector, "registerDistributor");
|
@@ -5,7 +5,7 @@ import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManage
|
|
5
5
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
6
6
|
|
7
7
|
import {IRegistry} from "./IRegistry.sol";
|
8
|
-
import {
|
8
|
+
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
9
9
|
import {IStaking} from "../staking/IStaking.sol";
|
10
10
|
|
11
11
|
import {ChainId, ChainIdLib} from "../type/ChainId.sol";
|
@@ -16,11 +16,11 @@ import {VersionPart} from "../type/Version.sol";
|
|
16
16
|
/// Only whitelisted tokens can be used as default tokens for products, distribution and pools components.
|
17
17
|
contract TokenRegistry is
|
18
18
|
AccessManaged,
|
19
|
-
|
19
|
+
IRegistryLinked
|
20
20
|
{
|
21
|
-
event LogTokenRegistryTokenRegistered(ChainId chainId, address token, uint256 decimals, string symbol);
|
22
|
-
event LogTokenRegistryTokenGlobalStateSet(ChainId chainId, address token, bool active);
|
23
|
-
event LogTokenRegistryTokenStateSet(ChainId chainId, address token, VersionPart release, bool active);
|
21
|
+
event LogTokenRegistryTokenRegistered(ChainId indexed chainId, address indexed token, uint256 indexed decimals, string symbol);
|
22
|
+
event LogTokenRegistryTokenGlobalStateSet(ChainId indexed chainId, address indexed token, bool indexed active);
|
23
|
+
event LogTokenRegistryTokenStateSet(ChainId indexed chainId, address indexed token, VersionPart indexed release, bool active);
|
24
24
|
|
25
25
|
error ErrorTokenRegistryChainIdZero();
|
26
26
|
error ErrorTokenRegistryTokenAddressZero();
|
@@ -47,6 +47,7 @@ contract TokenRegistry is
|
|
47
47
|
mapping(ChainId chainId => mapping(address token => mapping(VersionPart release => bool isActive))) internal _active;
|
48
48
|
TokenInfo [] internal _token;
|
49
49
|
|
50
|
+
IRegistry internal _registry;
|
50
51
|
ChainId internal _chainId = ChainIdLib.current();
|
51
52
|
IERC20Metadata internal _dipToken;
|
52
53
|
|
@@ -58,13 +59,14 @@ contract TokenRegistry is
|
|
58
59
|
_;
|
59
60
|
}
|
60
61
|
|
61
|
-
constructor(IERC20Metadata dipToken)
|
62
|
+
constructor(IRegistry registry, IERC20Metadata dipToken)
|
62
63
|
AccessManaged(msg.sender)
|
63
64
|
{
|
64
65
|
// set authority
|
65
|
-
address authority = RegistryAdmin(
|
66
|
-
_getRegistry().getRegistryAdminAddress()).authority();
|
66
|
+
address authority = RegistryAdmin(registry.getRegistryAdminAddress()).authority();
|
67
67
|
setAuthority(authority);
|
68
|
+
|
69
|
+
_registry = registry;
|
68
70
|
|
69
71
|
// TODO deal with chains without a dip token
|
70
72
|
_dipToken = _verifyOnchainToken(address(dipToken));
|
@@ -178,7 +180,7 @@ contract TokenRegistry is
|
|
178
180
|
// verify valid major version
|
179
181
|
if(enforceVersionCheck) {
|
180
182
|
uint256 version = release.toInt();
|
181
|
-
if (!
|
183
|
+
if (!getRegistry().isActiveRelease(release)) {
|
182
184
|
revert ErrorTokenRegistryMajorVersionInvalid(release);
|
183
185
|
}
|
184
186
|
}
|
@@ -226,6 +228,13 @@ contract TokenRegistry is
|
|
226
228
|
return address(_dipToken);
|
227
229
|
}
|
228
230
|
|
231
|
+
//--- IRegistryLinked --------------------------------------------------//
|
232
|
+
|
233
|
+
/// @dev returns the dip token for this chain
|
234
|
+
function getRegistry() public view returns (IRegistry) {
|
235
|
+
return _registry;
|
236
|
+
}
|
237
|
+
|
229
238
|
//--- internal functions ------------------------------------------------//
|
230
239
|
|
231
240
|
|
@@ -12,7 +12,7 @@ import {NftId} from "../type/NftId.sol";
|
|
12
12
|
import {ObjectType, COMPONENT} from "../type/ObjectType.sol";
|
13
13
|
import {Registerable} from "../shared/Registerable.sol";
|
14
14
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
15
|
-
import {Version,
|
15
|
+
import {Version, VersionLib} from "../type/Version.sol";
|
16
16
|
|
17
17
|
|
18
18
|
abstract contract Component is
|
@@ -23,17 +23,14 @@ abstract contract Component is
|
|
23
23
|
bytes32 public constant COMPONENT_LOCATION_V1 = 0xffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00;
|
24
24
|
|
25
25
|
struct ComponentStorage {
|
26
|
-
//
|
26
|
+
string _name; // unique (per instance) component name
|
27
|
+
bool _isInterceptor;
|
27
28
|
IComponentService _componentService;
|
28
|
-
// slot 1
|
29
|
-
string _name; // unique (per instance) component name -> make pure to save gas?
|
30
|
-
// slot 2
|
31
|
-
bytes _data;
|
32
29
|
}
|
33
30
|
|
34
31
|
|
35
32
|
modifier onlyChainNft() {
|
36
|
-
if(msg.sender !=
|
33
|
+
if(msg.sender != getRegistry().getChainNftAddress()) {
|
37
34
|
revert ErrorComponentNotChainNft(msg.sender);
|
38
35
|
}
|
39
36
|
_;
|
@@ -47,9 +44,10 @@ abstract contract Component is
|
|
47
44
|
}
|
48
45
|
}
|
49
46
|
|
50
|
-
|
47
|
+
|
51
48
|
function __Component_init(
|
52
49
|
address authority,
|
50
|
+
address registry,
|
53
51
|
NftId parentNftId,
|
54
52
|
string memory name,
|
55
53
|
ObjectType componentType,
|
@@ -67,6 +65,7 @@ abstract contract Component is
|
|
67
65
|
|
68
66
|
__Registerable_init(
|
69
67
|
authority,
|
68
|
+
registry,
|
70
69
|
parentNftId,
|
71
70
|
componentType,
|
72
71
|
isInterceptor,
|
@@ -76,6 +75,7 @@ abstract contract Component is
|
|
76
75
|
// set component state
|
77
76
|
ComponentStorage storage $ = _getComponentStorage();
|
78
77
|
$._name = name;
|
78
|
+
$._isInterceptor = isInterceptor;
|
79
79
|
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
80
80
|
|
81
81
|
_registerInterface(type(IAccessManaged).interfaceId);
|
@@ -93,17 +93,6 @@ abstract contract Component is
|
|
93
93
|
_nftTransferFrom(from, to, tokenId, operator);
|
94
94
|
}
|
95
95
|
|
96
|
-
/// @inheritdoc IComponent
|
97
|
-
function withdrawFees(Amount amount)
|
98
|
-
external
|
99
|
-
virtual
|
100
|
-
restricted()
|
101
|
-
onlyOwner()
|
102
|
-
returns (Amount withdrawnAmount)
|
103
|
-
{
|
104
|
-
return _withdrawFees(amount);
|
105
|
-
}
|
106
|
-
|
107
96
|
|
108
97
|
function getWallet() public view virtual returns (address walletAddress) {
|
109
98
|
return getTokenHandler().getWallet();
|
@@ -121,6 +110,10 @@ abstract contract Component is
|
|
121
110
|
return getComponentInfo().name;
|
122
111
|
}
|
123
112
|
|
113
|
+
function getVersion() public view virtual returns (Version version) {
|
114
|
+
return VersionLib.toVersion(1, 0, 0);
|
115
|
+
}
|
116
|
+
|
124
117
|
function getComponentInfo() public virtual view returns (IComponents.ComponentInfo memory info) {
|
125
118
|
if (isRegistered()) {
|
126
119
|
return _getComponentInfo();
|
@@ -136,9 +129,17 @@ abstract contract Component is
|
|
136
129
|
}
|
137
130
|
|
138
131
|
|
132
|
+
function isNftInterceptor() public virtual view returns(bool isInterceptor) {
|
133
|
+
if (isRegistered()) {
|
134
|
+
return getRegistry().getObjectInfo(address(this)).isInterceptor;
|
135
|
+
} else {
|
136
|
+
return _getComponentStorage()._isInterceptor;
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
139
140
|
|
140
141
|
function isRegistered() public virtual view returns (bool) {
|
141
|
-
return
|
142
|
+
return getRegistry().getNftIdForAddress(address(this)).gtz();
|
142
143
|
}
|
143
144
|
|
144
145
|
|
@@ -169,12 +170,6 @@ abstract contract Component is
|
|
169
170
|
// empty default implementation
|
170
171
|
}
|
171
172
|
|
172
|
-
function _withdrawFees(Amount amount)
|
173
|
-
internal
|
174
|
-
returns (Amount withdrawnAmount)
|
175
|
-
{
|
176
|
-
return _getComponentStorage()._componentService.withdrawFees(amount);
|
177
|
-
}
|
178
173
|
|
179
174
|
/// @dev Sets the components wallet to the specified address.
|
180
175
|
/// Depending on the source of the component information this function needs to be overwritten.
|
@@ -210,6 +205,6 @@ abstract contract Component is
|
|
210
205
|
/// @dev returns the service address for the specified domain
|
211
206
|
/// gets address via lookup from registry using the major version form the linked instance
|
212
207
|
function _getServiceAddress(ObjectType domain) internal view returns (address) {
|
213
|
-
return
|
208
|
+
return getRegistry().getServiceAddress(domain, getRelease());
|
214
209
|
}
|
215
210
|
}
|