@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-ab0fcb2-112
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 +1 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +59 -107
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +59 -156
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +13 -61
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +58 -90
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +80 -59
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- 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 +14 -46
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +45 -85
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +13 -61
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +119 -175
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +89 -190
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +13 -61
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +13 -61
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +54 -103
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +104 -153
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +18 -18
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +604 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1255 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +825 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1528 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +820 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2635 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +820 -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 +57 -119
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +51 -113
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +59 -121
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +63 -125
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +18 -18
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +14 -62
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +13 -61
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +42 -95
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +158 -182
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +179 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +51 -99
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +55 -152
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/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 +3 -8
- 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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +41 -81
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
- 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 +13 -61
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +13 -103
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +13 -61
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +61 -175
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +60 -169
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +13 -61
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +95 -151
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +78 -179
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -61
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +13 -61
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +25 -104
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +13 -61
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -252
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +143 -190
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +89 -170
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +59 -99
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +59 -152
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +13 -61
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +18 -18
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +103 -151
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +81 -178
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +13 -61
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -61
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -61
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +13 -61
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +13 -61
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +83 -152
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +71 -168
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -119
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +65 -162
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +13 -61
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -95
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +58 -147
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -61
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -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 +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +140 -169
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -99
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -157
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +146 -183
- 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 +98 -185
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -71
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +13 -61
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +81 -137
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +70 -171
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +411 -139
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +691 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +13 -61
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +13 -61
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -61
- 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 +1 -70
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -54
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +13 -61
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -54
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +13 -61
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -61
- 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 +15 -76
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -56
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +13 -61
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -79
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +13 -61
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +13 -61
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +13 -61
- 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 +73 -121
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +66 -163
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -64
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +49 -97
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +54 -151
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -266
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- 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/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 +2 -2
- 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/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +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/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +29 -121
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +3 -4
- package/contracts/accounting/AccountingServiceManager.sol +1 -3
- package/contracts/authorization/AccessAdmin.sol +3 -3
- package/contracts/authorization/AccessAdminLib.sol +14 -11
- package/contracts/authorization/IAccessAdmin.sol +1 -0
- package/contracts/distribution/BasicDistribution.sol +0 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +0 -2
- package/contracts/distribution/DistributionService.sol +14 -13
- package/contracts/distribution/DistributionServiceManager.sol +1 -3
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/flight/FlightLib.sol +322 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +163 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
- package/contracts/examples/flight/FlightPool.sol +85 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +650 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +45 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +6 -7
- package/contracts/instance/InstanceAdmin.sol +6 -8
- package/contracts/instance/InstanceReader.sol +40 -18
- package/contracts/instance/InstanceService.sol +14 -16
- package/contracts/instance/InstanceServiceManager.sol +1 -3
- package/contracts/instance/base/Cloneable.sol +4 -10
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +0 -2
- package/contracts/oracle/IOracleService.sol +12 -16
- package/contracts/oracle/Oracle.sol +0 -2
- package/contracts/oracle/OracleService.sol +36 -66
- package/contracts/oracle/OracleServiceManager.sol +1 -3
- package/contracts/pool/BasicPool.sol +2 -4
- package/contracts/pool/BasicPoolAuthorization.sol +1 -1
- package/contracts/pool/BundleService.sol +20 -14
- package/contracts/pool/BundleServiceManager.sol +2 -4
- package/contracts/pool/IPoolService.sol +5 -6
- package/contracts/pool/Pool.sol +1 -3
- package/contracts/pool/PoolLib.sol +4 -104
- package/contracts/pool/PoolService.sol +66 -100
- package/contracts/pool/PoolServiceManager.sol +1 -3
- package/contracts/product/ApplicationService.sol +9 -29
- package/contracts/product/ApplicationServiceManager.sol +1 -3
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +4 -3
- package/contracts/product/ClaimService.sol +9 -33
- package/contracts/product/ClaimServiceManager.sol +2 -4
- package/contracts/product/IPolicyService.sol +0 -1
- package/contracts/product/PolicyService.sol +43 -56
- package/contracts/product/PolicyServiceManager.sol +1 -3
- package/contracts/product/PricingService.sol +6 -7
- package/contracts/product/PricingServiceManager.sol +1 -3
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +7 -39
- package/contracts/product/RiskServiceManager.sol +1 -3
- package/contracts/registry/RegistryAdmin.sol +6 -11
- package/contracts/registry/RegistryAuthorization.sol +2 -2
- package/contracts/registry/RegistryService.sol +14 -15
- package/contracts/registry/RegistryServiceManager.sol +1 -8
- package/contracts/registry/ReleaseAdmin.sol +2 -11
- package/contracts/registry/ReleaseRegistry.sol +14 -26
- package/contracts/registry/TokenRegistry.sol +6 -15
- package/contracts/shared/Component.sol +3 -5
- package/contracts/shared/ComponentService.sol +18 -30
- package/contracts/shared/ComponentServiceManager.sol +2 -4
- package/contracts/shared/ContractLib.sol +359 -93
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -6
- package/contracts/shared/INftOwnable.sol +0 -2
- package/contracts/shared/IRegisterable.sol +6 -0
- package/contracts/shared/IRegistryLinked.sol +1 -5
- package/contracts/shared/InstanceLinkedComponent.sol +73 -22
- package/contracts/shared/NftOwnable.sol +8 -8
- package/contracts/shared/PolicyHolder.sol +0 -2
- package/contracts/shared/Registerable.sol +5 -6
- package/contracts/shared/RegistryLinked.sol +4 -30
- package/contracts/shared/Service.sol +2 -4
- package/contracts/staking/Staking.sol +22 -17
- package/contracts/staking/StakingLib.sol +3 -1
- package/contracts/staking/StakingManager.sol +0 -3
- package/contracts/staking/StakingReader.sol +9 -17
- package/contracts/staking/StakingService.sol +6 -6
- package/contracts/staking/StakingServiceManager.sol +1 -4
- package/contracts/staking/StakingStore.sol +4 -6
- package/contracts/staking/TargetHandler.sol +4 -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/upgradeability/ProxyManager.sol +1 -5
- package/package.json +2 -1
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
@@ -6,6 +6,9 @@ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessMana
|
|
6
6
|
import {INftOwnable} from "./INftOwnable.sol";
|
7
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
8
|
import {IVersionable} from "./IVersionable.sol";
|
9
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
10
|
+
import {NftId} from "../type/NftId.sol";
|
11
|
+
import {VersionPart} from "../type/Version.sol";
|
9
12
|
|
10
13
|
/// @title IRegisterable
|
11
14
|
/// @dev Marks contracts that are intended to be registered in the registry.
|
@@ -21,6 +24,9 @@ interface IRegisterable is
|
|
21
24
|
// onlyActive()
|
22
25
|
error ErrorRegisterableNotActive();
|
23
26
|
|
27
|
+
//_checkNftType()
|
28
|
+
error ErrorRegisterableInvalidType(NftId nftId, ObjectType expectedType, VersionPart expectedRelease);
|
29
|
+
|
24
30
|
/// @dev Returns true iff this contract managed by its authority is active.
|
25
31
|
/// Queries the IAccessManaged.authority().
|
26
32
|
function isActive() external view returns (bool active);
|
@@ -5,9 +5,5 @@ import {IRegistry} from "../registry/IRegistry.sol";
|
|
5
5
|
|
6
6
|
interface IRegistryLinked {
|
7
7
|
|
8
|
-
|
9
|
-
error ErrorRegistryLinkedNotRegistry(address target, address notRegistry);
|
10
|
-
error ErrorRegistryLinkedRegistryMismatch(address target, address givenRegistry, address pureRegistry);
|
11
|
-
|
12
|
-
function getRegistry() external view returns (IRegistry);
|
8
|
+
function getRegistry() external pure returns (IRegistry);
|
13
9
|
}
|
@@ -1,18 +1,26 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
|
5
|
-
import {Amount} from "../type/Amount.sol";
|
6
|
-
import {Component} from "./Component.sol";
|
7
|
-
import {IComponentService} from "./IComponentService.sol";
|
8
|
-
import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
|
9
4
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
5
|
+
import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
|
10
6
|
import {IComponents} from "../instance/module/IComponents.sol";
|
7
|
+
import {IComponentService} from "./IComponentService.sol";
|
11
8
|
import {IInstance} from "../instance/IInstance.sol";
|
9
|
+
import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
|
10
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
11
|
+
import {IOracleService} from "../oracle/IOracleService.sol";
|
12
|
+
|
13
|
+
import {Amount} from "../type/Amount.sol";
|
14
|
+
import {Component} from "./Component.sol";
|
12
15
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
13
16
|
import {IRegistry} from "../registry/IRegistry.sol";
|
14
17
|
import {NftId} from "../type/NftId.sol";
|
15
|
-
import {ObjectType, COMPONENT, INSTANCE, PRODUCT} from "../type/ObjectType.sol";
|
18
|
+
import {ObjectType, COMPONENT, INSTANCE, ORACLE, PRODUCT} from "../type/ObjectType.sol";
|
19
|
+
import {RequestId} from "../type/RequestId.sol";
|
20
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
21
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
22
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
23
|
+
import {VersionPart} from "../type/Version.sol";
|
16
24
|
|
17
25
|
// then add (Distribution|Pool|Product)Upradeable that also intherit from Versionable
|
18
26
|
// same pattern as for Service which is also upgradeable
|
@@ -26,20 +34,71 @@ abstract contract InstanceLinkedComponent is
|
|
26
34
|
struct InstanceLinkedComponentStorage {
|
27
35
|
IInstance _instance; // instance for this component
|
28
36
|
IAuthorization _initialAuthorization;
|
37
|
+
IComponentService _componentService;
|
38
|
+
IOracleService _oracleService;
|
29
39
|
}
|
30
40
|
|
41
|
+
//--- view functions ----------------------------------------------------//
|
42
|
+
|
31
43
|
/// @inheritdoc IInstanceLinkedComponent
|
32
|
-
function getInstance() public view virtual returns (IInstance instance) {
|
44
|
+
function getInstance() public view virtual override returns (IInstance instance) {
|
33
45
|
return _getInstanceLinkedComponentStorage()._instance;
|
34
46
|
}
|
35
47
|
|
36
|
-
|
48
|
+
|
49
|
+
/// @inheritdoc IAuthorizedComponent
|
37
50
|
function getAuthorization() external view virtual returns (IAuthorization authorization) {
|
38
51
|
return _getInstanceLinkedComponentStorage()._initialAuthorization;
|
39
52
|
}
|
40
53
|
|
54
|
+
|
55
|
+
//function setInstanceReader(address readerAddress);
|
56
|
+
|
57
|
+
//--- internal functions ------------------------------------------------//
|
58
|
+
|
59
|
+
function _sendRequest(
|
60
|
+
NftId oracleNftId,
|
61
|
+
bytes memory requestData,
|
62
|
+
Timestamp expiryAt,
|
63
|
+
string memory callbackMethod
|
64
|
+
)
|
65
|
+
internal
|
66
|
+
virtual
|
67
|
+
returns (RequestId requestId)
|
68
|
+
{
|
69
|
+
return _getInstanceLinkedComponentStorage()._oracleService.request(
|
70
|
+
oracleNftId,
|
71
|
+
requestData,
|
72
|
+
expiryAt,
|
73
|
+
callbackMethod);
|
74
|
+
}
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
function _cancelRequest(RequestId requestId)
|
79
|
+
internal
|
80
|
+
virtual
|
81
|
+
{
|
82
|
+
_getInstanceLinkedComponentStorage()._oracleService.cancel(requestId);
|
83
|
+
}
|
84
|
+
|
85
|
+
|
86
|
+
function _resendRequest(RequestId requestId)
|
87
|
+
internal
|
88
|
+
virtual
|
89
|
+
{
|
90
|
+
_getInstanceLinkedComponentStorage()._oracleService.resend(requestId);
|
91
|
+
}
|
92
|
+
|
93
|
+
|
94
|
+
function _getInstanceLinkedComponentStorage() private pure returns (InstanceLinkedComponentStorage storage $) {
|
95
|
+
assembly {
|
96
|
+
$.slot := INSTANCE_LINKED_COMPONENT_LOCATION_V1
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
|
41
101
|
function __InstanceLinkedComponent_init(
|
42
|
-
address registry,
|
43
102
|
NftId parentNftId,
|
44
103
|
string memory name,
|
45
104
|
ObjectType componentType,
|
@@ -51,14 +110,11 @@ abstract contract InstanceLinkedComponent is
|
|
51
110
|
virtual
|
52
111
|
onlyInitializing()
|
53
112
|
{
|
54
|
-
|
55
|
-
// at least breaks order of checks -> e.g. if registry is not contract no meaningfull error will be given
|
56
|
-
IInstance instance = _checkAndGetInstance(registry, parentNftId, componentType);
|
113
|
+
IInstance instance = _checkAndGetInstance(parentNftId, componentType);
|
57
114
|
|
58
115
|
// set component specific parameters
|
59
116
|
__Component_init(
|
60
117
|
instance.authority(),
|
61
|
-
registry,
|
62
118
|
parentNftId,
|
63
119
|
name,
|
64
120
|
componentType,
|
@@ -70,13 +126,14 @@ abstract contract InstanceLinkedComponent is
|
|
70
126
|
InstanceLinkedComponentStorage storage $ = _getInstanceLinkedComponentStorage();
|
71
127
|
$._instance = instance;
|
72
128
|
$._initialAuthorization = authorization;
|
129
|
+
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
130
|
+
$._oracleService = IOracleService(_getServiceAddress(ORACLE()));
|
73
131
|
|
74
132
|
// register interfaces
|
75
133
|
_registerInterface(type(IInstanceLinkedComponent).interfaceId);
|
76
134
|
}
|
77
135
|
|
78
136
|
function _checkAndGetInstance(
|
79
|
-
address registryAddress,
|
80
137
|
NftId parentNftId,
|
81
138
|
ObjectType componentType
|
82
139
|
)
|
@@ -85,7 +142,7 @@ abstract contract InstanceLinkedComponent is
|
|
85
142
|
returns (IInstance instance)
|
86
143
|
{
|
87
144
|
NftId instanceNftId;
|
88
|
-
IRegistry registry =
|
145
|
+
IRegistry registry = _getRegistry();
|
89
146
|
|
90
147
|
if(componentType == PRODUCT()) {
|
91
148
|
instanceNftId = parentNftId;
|
@@ -116,7 +173,7 @@ abstract contract InstanceLinkedComponent is
|
|
116
173
|
|
117
174
|
|
118
175
|
function _getComponentInfo() internal virtual override view returns (IComponents.ComponentInfo memory info) {
|
119
|
-
NftId componentNftId =
|
176
|
+
NftId componentNftId = _getRegistry().getNftIdForAddress(address(this));
|
120
177
|
|
121
178
|
// if registered, attempt to return component info via instance reader
|
122
179
|
if (componentNftId.gtz()) {
|
@@ -138,10 +195,4 @@ abstract contract InstanceLinkedComponent is
|
|
138
195
|
function _getInstanceReader() internal view returns (InstanceReader reader) {
|
139
196
|
return _getInstanceLinkedComponentStorage()._instance.getInstanceReader();
|
140
197
|
}
|
141
|
-
|
142
|
-
function _getInstanceLinkedComponentStorage() private pure returns (InstanceLinkedComponentStorage storage $) {
|
143
|
-
assembly {
|
144
|
-
$.slot := INSTANCE_LINKED_COMPONENT_LOCATION_V1
|
145
|
-
}
|
146
|
-
}
|
147
198
|
}
|
@@ -28,7 +28,7 @@ contract NftOwnable is
|
|
28
28
|
}
|
29
29
|
|
30
30
|
modifier onlyNftOwner(NftId nftId) {
|
31
|
-
if(!
|
31
|
+
if(!_getRegistry().isOwnerOf(nftId, msg.sender)) {
|
32
32
|
revert ErrorNftOwnableNotOwner(msg.sender);
|
33
33
|
}
|
34
34
|
_;
|
@@ -37,7 +37,6 @@ contract NftOwnable is
|
|
37
37
|
/// @dev Initialization for upgradable contracts.
|
38
38
|
// used in __Registerable_init, ProxyManager.initialize
|
39
39
|
function __NftOwnable_init(
|
40
|
-
address registry,
|
41
40
|
address initialOwner
|
42
41
|
)
|
43
42
|
internal
|
@@ -45,7 +44,6 @@ contract NftOwnable is
|
|
45
44
|
onlyInitializing()
|
46
45
|
{
|
47
46
|
__ERC165_init();
|
48
|
-
__RegistryLinked_init(registry);
|
49
47
|
|
50
48
|
if(initialOwner == address(0)) {
|
51
49
|
revert ErrorNftOwnableInitialOwnerZero();
|
@@ -75,7 +73,7 @@ contract NftOwnable is
|
|
75
73
|
NftOwnableStorage storage $ = _getNftOwnableStorage();
|
76
74
|
|
77
75
|
if ($._nftId.gtz()) {
|
78
|
-
return
|
76
|
+
return _getRegistry().ownerOf($._nftId);
|
79
77
|
}
|
80
78
|
|
81
79
|
return $._initialOwner;
|
@@ -95,15 +93,17 @@ contract NftOwnable is
|
|
95
93
|
revert ErrorNftOwnableAlreadyLinked($._nftId);
|
96
94
|
}
|
97
95
|
|
98
|
-
|
96
|
+
NftId nftId = _getRegistry().getNftIdForAddress(nftOwnableAddress);
|
97
|
+
|
98
|
+
if (nftId.eqz()) {
|
99
99
|
revert ErrorNftOwnableContractNotRegistered(nftOwnableAddress);
|
100
100
|
}
|
101
101
|
|
102
|
-
$._nftId =
|
102
|
+
$._nftId = nftId;
|
103
103
|
|
104
|
-
emit LogNftOwnableNftLinkedToAddress(
|
104
|
+
emit LogNftOwnableNftLinkedToAddress(nftId, getOwner());
|
105
105
|
|
106
|
-
return
|
106
|
+
return nftId;
|
107
107
|
}
|
108
108
|
|
109
109
|
|
@@ -24,13 +24,11 @@ contract PolicyHolder is
|
|
24
24
|
// will need a release parameter to fetch the right service addresses for the modifiers
|
25
25
|
|
26
26
|
function __PolicyHolder_init(
|
27
|
-
address registryAddress
|
28
27
|
)
|
29
28
|
internal
|
30
29
|
virtual
|
31
30
|
onlyInitializing()
|
32
31
|
{
|
33
|
-
__RegistryLinked_init(registryAddress);
|
34
32
|
_initializeERC165();
|
35
33
|
_registerInterface(type(IPolicyHolder).interfaceId);
|
36
34
|
}
|
@@ -38,22 +38,22 @@ abstract contract Registerable is
|
|
38
38
|
_;
|
39
39
|
}
|
40
40
|
|
41
|
-
// TODO move to registerables verification library
|
42
41
|
modifier onlyNftOfType(NftId nftId, ObjectType expectedObjectType) {
|
43
42
|
_checkNftType(nftId, expectedObjectType);
|
44
43
|
_;
|
45
44
|
}
|
46
45
|
|
47
46
|
// TODO move to registerables verification library
|
47
|
+
// TODO and check the owner here?
|
48
48
|
function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
|
49
|
-
|
50
|
-
|
49
|
+
VersionPart expectedRelease = getRelease();
|
50
|
+
if(expectedObjectType.eqz() || !_getRegistry().isObjectType(nftId, expectedObjectType, expectedRelease)) {
|
51
|
+
revert ErrorRegisterableInvalidType(nftId, expectedObjectType, expectedRelease);
|
51
52
|
}
|
52
53
|
}
|
53
54
|
|
54
55
|
function __Registerable_init(
|
55
56
|
address authority,
|
56
|
-
address registry,
|
57
57
|
NftId parentNftId,
|
58
58
|
ObjectType objectType,
|
59
59
|
bool isInterceptor,
|
@@ -68,11 +68,10 @@ abstract contract Registerable is
|
|
68
68
|
revert ErrorAuthorityInvalid(authority);
|
69
69
|
}
|
70
70
|
|
71
|
-
// release must allign with authority -> not a release check of third contract...
|
72
71
|
VersionPart release = AccessManagerCloneable(authority).getRelease();
|
73
72
|
|
74
73
|
__AccessManaged_init(authority);
|
75
|
-
__NftOwnable_init(
|
74
|
+
__NftOwnable_init(initialOwner);
|
76
75
|
__Versionable_init(release);
|
77
76
|
|
78
77
|
RegisterableStorage storage $ = _getRegisterableStorage();
|
@@ -1,45 +1,19 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
4
|
|
6
5
|
import {ContractLib} from "../shared/ContractLib.sol";
|
7
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
7
|
import {IRegistryLinked} from "./IRegistryLinked.sol";
|
9
8
|
|
10
9
|
contract RegistryLinked is
|
11
|
-
Initializable,
|
12
10
|
IRegistryLinked
|
13
11
|
{
|
14
|
-
|
15
|
-
|
16
|
-
// registry address MUST NOT be upgraded
|
17
|
-
IRegistry private _registry;
|
18
|
-
|
19
|
-
/// @dev initialization for upgradable contracts
|
20
|
-
// used in RegistryAdmin / InstanceAdmin / ReleaseAdmin.completeSetup()
|
21
|
-
function __RegistryLinked_init(
|
22
|
-
address registry
|
23
|
-
)
|
24
|
-
internal
|
25
|
-
virtual
|
26
|
-
{
|
27
|
-
if(address(_registry) != address(0) ) {
|
28
|
-
if(_registry != IRegistry(registry)) {
|
29
|
-
revert ErrorRegistryLinkedRegistryAlreadyInitialized(address(this), address(_registry));
|
30
|
-
}
|
31
|
-
return;
|
32
|
-
}
|
33
|
-
|
34
|
-
if (!ContractLib.isRegistry(registry)) {
|
35
|
-
revert ErrorRegistryLinkedNotRegistry(address(this), registry);
|
36
|
-
}
|
37
|
-
|
38
|
-
_registry = IRegistry(registry);
|
12
|
+
function getRegistry() external pure returns (IRegistry) {
|
13
|
+
return ContractLib.getRegistry();
|
39
14
|
}
|
40
15
|
|
41
|
-
|
42
|
-
|
43
|
-
return _registry;
|
16
|
+
function _getRegistry() internal pure returns (IRegistry) {
|
17
|
+
return ContractLib.getRegistry();
|
44
18
|
}
|
45
19
|
}
|
@@ -24,7 +24,6 @@ abstract contract Service is
|
|
24
24
|
|
25
25
|
function __Service_init(
|
26
26
|
address authority, // real authority for registry service adress(0) for other services
|
27
|
-
address registry,
|
28
27
|
address initialOwner
|
29
28
|
)
|
30
29
|
internal
|
@@ -35,8 +34,7 @@ abstract contract Service is
|
|
35
34
|
|
36
35
|
__Registerable_init(
|
37
36
|
authority,
|
38
|
-
|
39
|
-
IRegistry(registry).getNftId(),
|
37
|
+
_getRegistry().getNftId(),
|
40
38
|
SERVICE(),
|
41
39
|
false, // is interceptor
|
42
40
|
initialOwner,
|
@@ -63,6 +61,6 @@ abstract contract Service is
|
|
63
61
|
|
64
62
|
|
65
63
|
function _getServiceAddress(ObjectType domain) internal view returns (address) {
|
66
|
-
return
|
64
|
+
return _getRegistry().getServiceAddress(domain, getRelease());
|
67
65
|
}
|
68
66
|
}
|
@@ -75,17 +75,18 @@ contract Staking is
|
|
75
75
|
external
|
76
76
|
virtual
|
77
77
|
{
|
78
|
-
|
78
|
+
IRegistry registry = _getRegistry();
|
79
|
+
if (msg.sender != address(registry)) {
|
79
80
|
revert ErrorStakingNotRegistry(msg.sender);
|
80
81
|
}
|
81
82
|
|
82
83
|
StakingStorage storage $ = _getStakingStorage();
|
83
84
|
address dipToken = _getStakingStorage()._tokenRegistry.getDipTokenAddress();
|
84
85
|
$._tokenHandler = TokenHandlerDeployerLib.deployTokenHandler(
|
85
|
-
address(
|
86
|
+
address(registry),
|
86
87
|
address(this),
|
87
88
|
dipToken,
|
88
|
-
|
89
|
+
registry.getAuthority());
|
89
90
|
}
|
90
91
|
|
91
92
|
|
@@ -190,7 +191,7 @@ contract Staking is
|
|
190
191
|
// effects
|
191
192
|
StakingStorage storage $ = _getStakingStorage();
|
192
193
|
address oldStakingService = address($._stakingService);
|
193
|
-
$._stakingService = StakingLib.checkAndGetStakingService(
|
194
|
+
$._stakingService = StakingLib.checkAndGetStakingService(release);
|
194
195
|
|
195
196
|
emit LogStakingStakingServiceSet(address($._stakingService), release, oldStakingService);
|
196
197
|
}
|
@@ -277,9 +278,10 @@ contract Staking is
|
|
277
278
|
returns (Amount newBalance)
|
278
279
|
{
|
279
280
|
address transferTo;
|
281
|
+
IRegistry registry = _getRegistry();
|
280
282
|
|
281
283
|
// case 1: protocol target: staking owner is recipient
|
282
|
-
if (targetNftId ==
|
284
|
+
if (targetNftId == registry.getProtocolNftId()) {
|
283
285
|
// verify that the caller is the staking owner
|
284
286
|
transferTo = getOwner();
|
285
287
|
if (msg.sender != transferTo) {
|
@@ -289,7 +291,7 @@ contract Staking is
|
|
289
291
|
// case 2: same chain target: target owner is recipient
|
290
292
|
} else if (ChainIdLib.isCurrentChain(targetNftId)) {
|
291
293
|
// verify that the caller is the target owner
|
292
|
-
transferTo =
|
294
|
+
transferTo = registry.ownerOf(targetNftId);
|
293
295
|
if (msg.sender != transferTo) {
|
294
296
|
revert ErrorStakingNotNftOwner(targetNftId);
|
295
297
|
}
|
@@ -323,13 +325,15 @@ contract Staking is
|
|
323
325
|
onlyTarget(targetNftId)
|
324
326
|
returns (Amount newBalance)
|
325
327
|
{
|
328
|
+
IRegistry registry = _getRegistry();
|
329
|
+
|
326
330
|
// check that service does not withdraw from protocol target
|
327
|
-
if (targetNftId ==
|
331
|
+
if (targetNftId == registry.getProtocolNftId()) {
|
328
332
|
revert ErrorStakingTargetTypeNotSupported(targetNftId, PROTOCOL());
|
329
333
|
}
|
330
334
|
|
331
335
|
// default: on-chain target owner is recipient
|
332
|
-
address targetOwner =
|
336
|
+
address targetOwner = registry.ownerOf(targetNftId);
|
333
337
|
return _withdrawRewardReserves(targetNftId, dipAmount, targetOwner);
|
334
338
|
}
|
335
339
|
|
@@ -431,7 +435,9 @@ contract Staking is
|
|
431
435
|
virtual
|
432
436
|
restricted() // only pool service
|
433
437
|
{
|
438
|
+
// !!! TODO amount can be 0
|
434
439
|
StakingStorage storage $ = _getStakingStorage();
|
440
|
+
// why not StakingBalanceStore instead of StakingStore?
|
435
441
|
$._store.increaseTotalValueLocked(targetNftId, token, amount);
|
436
442
|
}
|
437
443
|
|
@@ -528,7 +534,7 @@ contract Staking is
|
|
528
534
|
|
529
535
|
// collect staked DIP token via staking service
|
530
536
|
if (stakeAmount.gtz()) {
|
531
|
-
address stakeOwner =
|
537
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
532
538
|
$._stakingService.pullDipToken(stakeAmount, stakeOwner);
|
533
539
|
}
|
534
540
|
}
|
@@ -551,7 +557,7 @@ contract Staking is
|
|
551
557
|
|
552
558
|
// transfer unstaked DIP token via staking service
|
553
559
|
if (unstakedAmount.gtz()) {
|
554
|
-
address stakeOwner =
|
560
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
555
561
|
$._stakingService.pushDipToken(unstakedAmount, stakeOwner);
|
556
562
|
}
|
557
563
|
}
|
@@ -582,7 +588,7 @@ contract Staking is
|
|
582
588
|
AmountLib.max()); // unstake up to this amount
|
583
589
|
|
584
590
|
// step 2: create new stake with full unstaked amount
|
585
|
-
address stakeOwner =
|
591
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
586
592
|
newStakeNftId = $._stakingService.createStakeObject(newTargetNftId, stakeOwner);
|
587
593
|
$._store.createStake(newStakeNftId, newTargetNftId, stakeOwner, newStakedAmount);
|
588
594
|
|
@@ -621,7 +627,7 @@ contract Staking is
|
|
621
627
|
// collect staked DIP token by staking service
|
622
628
|
if (claimedAmount.gtz()) {
|
623
629
|
// interactions
|
624
|
-
address stakeOwner =
|
630
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
625
631
|
$._stakingService.pushDipToken(claimedAmount, stakeOwner);
|
626
632
|
}
|
627
633
|
}
|
@@ -718,14 +724,13 @@ contract Staking is
|
|
718
724
|
onlyInitializing()
|
719
725
|
{
|
720
726
|
(
|
721
|
-
address registryAddress,
|
722
727
|
address targetHandlerAddress,
|
723
728
|
address stakingStoreAddress,
|
724
729
|
address tokenRegistryAddress
|
725
|
-
) = abi.decode(data, (address, address, address
|
730
|
+
) = abi.decode(data, (address, address, address));
|
726
731
|
|
727
732
|
// wiring to external contracts
|
728
|
-
IRegistry registry =
|
733
|
+
IRegistry registry = _getRegistry();
|
729
734
|
StakingStorage storage $ = _getStakingStorage();
|
730
735
|
$._protocolNftId = registry.getProtocolNftId();
|
731
736
|
$._targetHandler = TargetHandler(targetHandlerAddress);
|
@@ -735,9 +740,9 @@ contract Staking is
|
|
735
740
|
// staking service has to be set via setStakingService after deploying the first GIF release
|
736
741
|
|
737
742
|
// initialize component
|
743
|
+
// TODO Will read 0 component service address from registry
|
738
744
|
__Component_init(
|
739
745
|
registry.getAuthority(),
|
740
|
-
registryAddress,
|
741
746
|
registry.getNftId(), // parent nft id
|
742
747
|
CONTRACT_NAME,
|
743
748
|
STAKING(),
|
@@ -771,7 +776,7 @@ contract Staking is
|
|
771
776
|
}
|
772
777
|
|
773
778
|
if (checkOwner) {
|
774
|
-
address nftOwner =
|
779
|
+
address nftOwner = _getRegistry().ownerOf(nftId);
|
775
780
|
if (msg.sender != nftOwner) {
|
776
781
|
revert ErrorStakingNotOwner(nftId, nftOwner, msg.sender);
|
777
782
|
}
|
@@ -6,6 +6,7 @@ import {IStaking} from "./IStaking.sol";
|
|
6
6
|
import {IStakingService} from "./IStakingService.sol";
|
7
7
|
|
8
8
|
import {Amount} from "../type/Amount.sol";
|
9
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
9
10
|
import {NftId} from "../type/NftId.sol";
|
10
11
|
import {ReleaseRegistry} from "../registry/ReleaseRegistry.sol";
|
11
12
|
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
@@ -111,13 +112,14 @@ library StakingLib {
|
|
111
112
|
|
112
113
|
|
113
114
|
function checkAndGetStakingService(
|
114
|
-
IRegistry registry,
|
115
115
|
VersionPart release
|
116
116
|
)
|
117
117
|
public
|
118
118
|
view
|
119
119
|
returns (IStakingService stakingService)
|
120
120
|
{
|
121
|
+
IRegistry registry = ContractLib.getRegistry();
|
122
|
+
|
121
123
|
if (!ReleaseRegistry(registry.getReleaseRegistryAddress()).isActiveRelease(release)) {
|
122
124
|
revert IStaking.ErrorStakingReleaseNotActive(release);
|
123
125
|
}
|
@@ -15,7 +15,6 @@ contract StakingManager is
|
|
15
15
|
|
16
16
|
/// @dev initializes proxy manager with service implementation
|
17
17
|
constructor(
|
18
|
-
address registry,
|
19
18
|
address targetHandler,
|
20
19
|
address stakingStore,
|
21
20
|
address tokenRegistry,
|
@@ -27,13 +26,11 @@ contract StakingManager is
|
|
27
26
|
|
28
27
|
_initialImplementation = address(stakingImplementation);
|
29
28
|
_initializationData = abi.encode(
|
30
|
-
registry,
|
31
29
|
targetHandler,
|
32
30
|
stakingStore,
|
33
31
|
tokenRegistry);
|
34
32
|
|
35
33
|
IUpgradeable upgradeable = initialize(
|
36
|
-
registry,
|
37
34
|
_initialImplementation,
|
38
35
|
_initializationData,
|
39
36
|
salt);
|
@@ -4,36 +4,32 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
|
-
import {
|
7
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
8
8
|
import {IStaking} from "../staking/IStaking.sol";
|
9
9
|
|
10
|
-
import {Amount
|
11
|
-
import {Blocknumber} from "../type/Blocknumber.sol";
|
10
|
+
import {Amount} from "../type/Amount.sol";
|
12
11
|
import {ChainId} from "../type/ChainId.sol";
|
13
12
|
import {NftId} from "../type/NftId.sol";
|
14
13
|
import {ObjectType} from "../type/ObjectType.sol";
|
14
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
15
15
|
import {Seconds} from "../type/Seconds.sol";
|
16
16
|
import {StakingStore} from "./StakingStore.sol";
|
17
|
-
import {STAKE, TARGET} from "../type/ObjectType.sol";
|
18
|
-
import {Timestamp} from "../type/Timestamp.sol";
|
19
17
|
import {UFixed} from "../type/UFixed.sol";
|
20
18
|
|
21
19
|
|
22
20
|
contract StakingReader is
|
23
|
-
|
24
|
-
|
21
|
+
Initializable,
|
22
|
+
RegistryLinked
|
25
23
|
{
|
26
24
|
|
27
25
|
error ErrorStakingReaderUnauthorizedCaler();
|
28
26
|
|
29
27
|
address private _initializeOwner;
|
30
|
-
IRegistry private _registry;
|
31
28
|
IStaking private _staking;
|
32
29
|
StakingStore private _store;
|
33
30
|
|
34
|
-
constructor(
|
31
|
+
constructor() {
|
35
32
|
_initializeOwner = msg.sender;
|
36
|
-
_registry = registry;
|
37
33
|
}
|
38
34
|
|
39
35
|
function initialize(
|
@@ -51,18 +47,14 @@ contract StakingReader is
|
|
51
47
|
_store = StakingStore(stakingStoreAddress);
|
52
48
|
}
|
53
49
|
|
54
|
-
// view
|
55
|
-
|
56
|
-
function getRegistry() external view returns (IRegistry registry) {
|
57
|
-
return _registry;
|
58
|
-
}
|
50
|
+
// view functions
|
59
51
|
|
60
52
|
function getStaking() external view returns (IStaking staking) {
|
61
53
|
return _staking;
|
62
54
|
}
|
63
55
|
|
64
56
|
function getProtocolNftId() external view returns (NftId protocolNftId) {
|
65
|
-
return
|
57
|
+
return _getRegistry().getProtocolNftId();
|
66
58
|
}
|
67
59
|
|
68
60
|
|
@@ -82,7 +74,7 @@ contract StakingReader is
|
|
82
74
|
|
83
75
|
|
84
76
|
function getTargetNftId(NftId stakeNftId) public view returns (NftId targetNftId) {
|
85
|
-
return
|
77
|
+
return _getRegistry().getParentNftId(stakeNftId);
|
86
78
|
}
|
87
79
|
|
88
80
|
|