@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
@@ -28,6 +28,7 @@ import {NftId} from "../type/NftId.sol";
|
|
28
28
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
29
29
|
import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
|
30
30
|
import {ProductStore} from "./ProductStore.sol";
|
31
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
31
32
|
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
32
33
|
import {RequestId} from "../type/RequestId.sol";
|
33
34
|
import {RiskId} from "../type/RiskId.sol";
|
@@ -40,14 +41,19 @@ import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
|
40
41
|
|
41
42
|
/// @dev Central reader contract for a specific instance.
|
42
43
|
/// Provides reading functions for all instance data and related component data.
|
43
|
-
contract InstanceReader
|
44
|
+
contract InstanceReader is
|
45
|
+
RegistryLinked
|
46
|
+
{
|
44
47
|
|
45
48
|
error ErrorInstanceReaderAlreadyInitialized();
|
46
49
|
error ErrorInstanceReaderInstanceAddressZero();
|
47
|
-
|
50
|
+
// TODO make state immutable:
|
51
|
+
// 1. instance receives reader through setInstanceReader()
|
52
|
+
// 2. this way instance initialization is not depends on reader
|
53
|
+
// 3. and reader is simple contract with constructor
|
54
|
+
// 4. no _initialized in storage, the rest is immutable
|
48
55
|
bool private _initialized = false;
|
49
56
|
|
50
|
-
IRegistry internal _registry;
|
51
57
|
IInstance internal _instance;
|
52
58
|
InstanceAdmin internal _instanceAdmin;
|
53
59
|
|
@@ -78,27 +84,24 @@ contract InstanceReader {
|
|
78
84
|
_initialized = true;
|
79
85
|
_instance = IInstance(instanceAddress);
|
80
86
|
_instanceAdmin = _instance.getInstanceAdmin();
|
81
|
-
_registry = _instance.getRegistry();
|
82
87
|
|
83
88
|
_store = _instance.getInstanceStore();
|
84
89
|
_productStore = _instance.getProductStore();
|
85
90
|
_bundleSet = _instance.getBundleSet();
|
86
91
|
_riskSet = _instance.getRiskSet();
|
87
|
-
|
92
|
+
|
93
|
+
_distributionService = IDistributionService(
|
94
|
+
_getRegistry().getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
88
95
|
}
|
89
96
|
|
90
97
|
|
91
98
|
//--- instance functions ---------------------------------------------------------//
|
92
99
|
|
93
|
-
/// @dev Returns the registry this instance is registered in.
|
94
|
-
function getRegistry() public view returns (IRegistry registry) {
|
95
|
-
return _registry;
|
96
|
-
}
|
97
100
|
|
98
101
|
|
99
102
|
/// @dev Returns the instance NFT ID.
|
100
103
|
function getInstanceNftId() public view returns (NftId instanceNftid) {
|
101
|
-
return
|
104
|
+
return _getRegistry().getNftIdForAddress(address(_instance));
|
102
105
|
}
|
103
106
|
|
104
107
|
|
@@ -177,8 +180,8 @@ contract InstanceReader {
|
|
177
180
|
|
178
181
|
|
179
182
|
/// @dev Returns th product NFT ID for the given index.
|
180
|
-
function
|
181
|
-
return _instance.
|
183
|
+
function getProduct(uint256 idx) public view returns (NftId productNftId) {
|
184
|
+
return _instance.getProduct(idx);
|
182
185
|
}
|
183
186
|
|
184
187
|
|
@@ -219,6 +222,12 @@ contract InstanceReader {
|
|
219
222
|
}
|
220
223
|
|
221
224
|
|
225
|
+
/// @dev Returns true if the specified risk exists for the given product NFT ID.
|
226
|
+
function isProductRisk(NftId productNftId, RiskId riskId) public view returns (bool exists) {
|
227
|
+
return _riskSet.hasRisk(productNftId, riskId);
|
228
|
+
}
|
229
|
+
|
230
|
+
|
222
231
|
/// @dev Returns the risk info for the given risk ID.
|
223
232
|
function getRiskInfo(RiskId riskId) public view returns (IRisk.RiskInfo memory info) {
|
224
233
|
return _productStore.getRiskInfo(riskId);
|
@@ -240,10 +249,21 @@ contract InstanceReader {
|
|
240
249
|
|
241
250
|
|
242
251
|
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
243
|
-
function
|
252
|
+
function getPolicyForRisk(RiskId riskId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
244
253
|
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
245
254
|
}
|
246
255
|
|
256
|
+
/// @dev Returns the number of linked policies for the given bundle NFT ID.
|
257
|
+
function policiesForBundle(NftId bundleNftId) public view returns (uint256 linkedPolicies) {
|
258
|
+
return _bundleSet.activePolicies(bundleNftId);
|
259
|
+
}
|
260
|
+
|
261
|
+
|
262
|
+
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
263
|
+
function getPolicyForBundle(NftId bundleNftId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
264
|
+
return _bundleSet.getActivePolicy(bundleNftId, idx);
|
265
|
+
}
|
266
|
+
|
247
267
|
|
248
268
|
/// @dev Returns the info for the given policy NFT ID.
|
249
269
|
function getPolicyInfo(NftId policyNftId) public view returns (IPolicy.PolicyInfo memory info) {
|
@@ -341,6 +361,11 @@ contract InstanceReader {
|
|
341
361
|
return _store.getRequestInfo(requestId);
|
342
362
|
}
|
343
363
|
|
364
|
+
/// @dev Returns the request info for the given oracle request ID.
|
365
|
+
function getRequestState(RequestId requestId) public view returns (StateId state) {
|
366
|
+
return getState(requestId.toKey32());
|
367
|
+
}
|
368
|
+
|
344
369
|
//--- pool functions -----------------------------------------------------------//
|
345
370
|
|
346
371
|
/// @dev Returns the pool info for the given pool NFT ID.
|
@@ -413,7 +438,7 @@ contract InstanceReader {
|
|
413
438
|
return _store.getReferralInfo(referralId);
|
414
439
|
}
|
415
440
|
|
416
|
-
|
441
|
+
// TODO reader dependce on service os wrong?
|
417
442
|
function getDiscountPercentage(ReferralId referralId)
|
418
443
|
public
|
419
444
|
view
|
@@ -422,10 +447,7 @@ contract InstanceReader {
|
|
422
447
|
ReferralStatus status
|
423
448
|
)
|
424
449
|
{
|
425
|
-
return
|
426
|
-
_registry.getServiceAddress(
|
427
|
-
DISTRIBUTION(),
|
428
|
-
_instance.getRelease())).getDiscountPercentage(
|
450
|
+
return _distributionService.getDiscountPercentage(
|
429
451
|
this, // instance reader
|
430
452
|
referralId);
|
431
453
|
}
|
@@ -175,7 +175,7 @@ contract InstanceService is
|
|
175
175
|
IInstance(instanceAddress).getInstanceAdmin().setInstanceLocked(locked);
|
176
176
|
|
177
177
|
emit LogInstanceServiceInstanceLocked(
|
178
|
-
|
178
|
+
_getRegistry().getNftIdForAddress(instanceAddress),
|
179
179
|
locked);
|
180
180
|
}
|
181
181
|
|
@@ -204,12 +204,11 @@ contract InstanceService is
|
|
204
204
|
// MUST be set after instance is set up and registered
|
205
205
|
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
206
206
|
instanceAdmin.completeSetup(
|
207
|
-
address(getRegistry()),
|
208
207
|
address(instanceAuthorization),
|
209
208
|
address(instance));
|
210
209
|
|
211
210
|
// hard checks for newly cloned instance
|
212
|
-
assert(address(instance.
|
211
|
+
//assert(address(instance._getRegistry()) == address(_getRegistry()));// consider deleting this
|
213
212
|
assert(instance.getRelease() == getRelease());
|
214
213
|
|
215
214
|
// register cloned instance as staking target
|
@@ -230,7 +229,7 @@ contract InstanceService is
|
|
230
229
|
restricted()
|
231
230
|
onlyInstance()
|
232
231
|
{
|
233
|
-
NftId instanceNftId =
|
232
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
234
233
|
_stakingService.setInstanceLockingPeriod(
|
235
234
|
instanceNftId,
|
236
235
|
stakeLockingPeriod);
|
@@ -243,7 +242,7 @@ contract InstanceService is
|
|
243
242
|
restricted()
|
244
243
|
onlyInstance()
|
245
244
|
{
|
246
|
-
NftId instanceNftId =
|
245
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
247
246
|
_stakingService.setInstanceRewardRate(
|
248
247
|
instanceNftId,
|
249
248
|
rewardRate);
|
@@ -255,7 +254,7 @@ contract InstanceService is
|
|
255
254
|
restricted()
|
256
255
|
onlyInstance()
|
257
256
|
{
|
258
|
-
NftId instanceNftId =
|
257
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
259
258
|
_stakingService.setInstanceMaxStakedAmount(
|
260
259
|
instanceNftId,
|
261
260
|
maxStakedAmount);
|
@@ -269,7 +268,7 @@ contract InstanceService is
|
|
269
268
|
onlyInstance()
|
270
269
|
returns (Amount newBalance)
|
271
270
|
{
|
272
|
-
NftId instanceNftId =
|
271
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
273
272
|
newBalance = _stakingService.refillInstanceRewardReserves(
|
274
273
|
instanceNftId,
|
275
274
|
rewardProvider,
|
@@ -284,7 +283,7 @@ contract InstanceService is
|
|
284
283
|
onlyInstance()
|
285
284
|
returns (Amount newBalance)
|
286
285
|
{
|
287
|
-
NftId instanceNftId =
|
286
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
288
287
|
newBalance = _stakingService.withdrawInstanceRewardReserves(
|
289
288
|
instanceNftId,
|
290
289
|
dipAmount);
|
@@ -307,7 +306,7 @@ contract InstanceService is
|
|
307
306
|
instance.setInstanceReader(upgradedInstanceReaderClone);
|
308
307
|
|
309
308
|
emit LogInstanceServiceInstanceReaderUpgraded(
|
310
|
-
|
309
|
+
_getRegistry().getNftIdForAddress(instanceAddress),
|
311
310
|
address(upgradedInstanceReaderClone));
|
312
311
|
}
|
313
312
|
|
@@ -391,7 +390,7 @@ contract InstanceService is
|
|
391
390
|
_masterInstanceReader = instanceReaderAddress;
|
392
391
|
|
393
392
|
emit LogInstanceServiceMasterInstanceReaderUpgraded(
|
394
|
-
|
393
|
+
_getRegistry().getNftIdForAddress(_masterInstance),
|
395
394
|
instanceReaderAddress);
|
396
395
|
}
|
397
396
|
|
@@ -446,7 +445,6 @@ contract InstanceService is
|
|
446
445
|
riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
|
447
446
|
instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
|
448
447
|
}),
|
449
|
-
getRegistry(),
|
450
448
|
instanceOwner,
|
451
449
|
allowAnyToken);
|
452
450
|
|
@@ -464,11 +462,10 @@ contract InstanceService is
|
|
464
462
|
onlyInitializing()
|
465
463
|
{
|
466
464
|
(
|
467
|
-
address authority
|
468
|
-
|
469
|
-
) = abi.decode(data, (address, address));
|
465
|
+
address authority
|
466
|
+
) = abi.decode(data, (address));
|
470
467
|
|
471
|
-
__Service_init(authority,
|
468
|
+
__Service_init(authority, owner);
|
472
469
|
|
473
470
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
474
471
|
_stakingService = IStakingService(_getServiceAddress(STAKING()));
|
@@ -486,7 +483,8 @@ contract InstanceService is
|
|
486
483
|
virtual
|
487
484
|
view
|
488
485
|
{
|
489
|
-
|
486
|
+
// TODO use ContractLib to verify registration, type and release
|
487
|
+
IRegistry registry = _getRegistry();
|
490
488
|
|
491
489
|
NftId instanceNftId = registry.getNftIdForAddress(instanceAddress);
|
492
490
|
if (instanceNftId.eqz()) {
|
@@ -12,14 +12,12 @@ contract InstanceServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with instance service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
InstanceService svc = new InstanceService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(authority
|
19
|
+
bytes memory data = abi.encode(authority);
|
21
20
|
IUpgradeable upgradeable = initialize(
|
22
|
-
registry,
|
23
21
|
address(svc),
|
24
22
|
data,
|
25
23
|
salt);
|
@@ -4,25 +4,19 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../../registry/IRegistry.sol";
|
7
|
+
import {RegistryLinked} from "../../shared/RegistryLinked.sol";
|
7
8
|
|
8
9
|
abstract contract Cloneable is
|
9
|
-
AccessManagedUpgradeable
|
10
|
+
AccessManagedUpgradeable,
|
11
|
+
RegistryLinked
|
10
12
|
{
|
11
|
-
IRegistry internal _registry;
|
12
|
-
|
13
13
|
/// @dev call to initialize MUST be made in the same transaction as cloning of the contract
|
14
14
|
function __Cloneable_init(
|
15
|
-
address authority
|
16
|
-
address registry
|
15
|
+
address authority
|
17
16
|
)
|
18
17
|
internal
|
19
18
|
onlyInitializing
|
20
19
|
{
|
21
20
|
__AccessManaged_init(authority);
|
22
|
-
_registry = IRegistry(registry);
|
23
|
-
}
|
24
|
-
|
25
|
-
function getRegistry() external view returns (IRegistry) {
|
26
|
-
return _registry;
|
27
21
|
}
|
28
22
|
}
|
@@ -21,12 +21,12 @@ contract ObjectSet is
|
|
21
21
|
address internal _instanceAddress;
|
22
22
|
|
23
23
|
/// @dev This initializer needs to be called from the instance itself.
|
24
|
-
function initialize(address authority
|
24
|
+
function initialize(address authority)
|
25
25
|
external
|
26
26
|
initializer()
|
27
27
|
{
|
28
28
|
_instanceAddress = msg.sender;
|
29
|
-
__Cloneable_init(authority
|
29
|
+
__Cloneable_init(authority);
|
30
30
|
|
31
31
|
emit LogObjectSetInitialized(address(_instanceAddress));
|
32
32
|
}
|
@@ -23,7 +23,6 @@ contract BasicOracle is
|
|
23
23
|
}
|
24
24
|
|
25
25
|
function _initializeBasicOracle(
|
26
|
-
address registry,
|
27
26
|
NftId instanceNftId,
|
28
27
|
IAuthorization authorization,
|
29
28
|
address initialOwner,
|
@@ -35,7 +34,6 @@ contract BasicOracle is
|
|
35
34
|
{
|
36
35
|
|
37
36
|
__Oracle_init(
|
38
|
-
registry,
|
39
37
|
instanceNftId,
|
40
38
|
authorization,
|
41
39
|
initialOwner,
|
@@ -18,13 +18,9 @@ interface IOracleService is IService {
|
|
18
18
|
event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
|
19
19
|
|
20
20
|
// create request
|
21
|
-
error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
|
22
21
|
error ErrorOracleServiceExpiryInThePast(Timestamp blockTimestamp, Timestamp expiryAt);
|
23
22
|
error ErrorOracleServiceCallbackMethodNameEmpty();
|
24
23
|
|
25
|
-
// respond
|
26
|
-
error ErrorOracleServiceNotResponsibleOracle(RequestId requestId, NftId expectedOracleNftId, NftId oracleNftId);
|
27
|
-
|
28
24
|
// get request info
|
29
25
|
error ErrorOracleServiceRequestStateNotActive(RequestId requestId, StateId state);
|
30
26
|
error ErrorOracleServiceCallerNotResponsibleOracle(RequestId requestId, NftId oracleNftId, NftId callerNftId);
|
@@ -41,26 +37,26 @@ interface IOracleService is IService {
|
|
41
37
|
string calldata callbackMethodName
|
42
38
|
) external returns (RequestId requestId);
|
43
39
|
|
44
|
-
/// @dev
|
45
|
-
///
|
46
|
-
///
|
40
|
+
/// @dev Respond to oracle request by oracle compnent.
|
41
|
+
/// The response data is amended in the request info stored with the instance.
|
42
|
+
/// The request state changes to FULFILLED (when calling the callback method of the requester is successful)
|
47
43
|
/// or to FAILED when calling the requester is not succesful.
|
48
|
-
///
|
49
|
-
///
|
44
|
+
/// The function returns true iff the state changes to FULFILLED.
|
45
|
+
/// Permissioned: only the receiving oracle component may call this method
|
50
46
|
function respond(
|
51
47
|
RequestId requestId,
|
52
48
|
bytes calldata responseData
|
53
49
|
) external returns (bool success);
|
54
50
|
|
55
|
-
/// @dev
|
56
|
-
///
|
57
|
-
///
|
58
|
-
///
|
51
|
+
/// @dev Resend a failed response to the requester.
|
52
|
+
/// Only requests in state FAILED may be resent.
|
53
|
+
/// The request state changes to FULFILLED when calling the callback method of the requester is successful.
|
54
|
+
/// Permissioned: only the receiving oracle may resend a request
|
59
55
|
function resend(RequestId requestId) external;
|
60
56
|
|
61
|
-
/// @dev
|
62
|
-
///
|
63
|
-
///
|
57
|
+
/// @dev Notify the oracle component that the specified request has become invalid.
|
58
|
+
/// Only requests in state ACTIVE may be cancelled.
|
59
|
+
/// Permissioned: only the requester may cancel a request
|
64
60
|
function cancel(RequestId requestId) external;
|
65
61
|
|
66
62
|
}
|
@@ -77,7 +77,6 @@ abstract contract Oracle is
|
|
77
77
|
|
78
78
|
|
79
79
|
function __Oracle_init(
|
80
|
-
address registry,
|
81
80
|
NftId productNftId,
|
82
81
|
IAuthorization authorization,
|
83
82
|
address initialOwner,
|
@@ -88,7 +87,6 @@ abstract contract Oracle is
|
|
88
87
|
onlyInitializing()
|
89
88
|
{
|
90
89
|
__InstanceLinkedComponent_init(
|
91
|
-
registry,
|
92
90
|
productNftId,
|
93
91
|
name,
|
94
92
|
ORACLE(),
|
@@ -32,11 +32,10 @@ contract OracleService is
|
|
32
32
|
onlyInitializing()
|
33
33
|
{
|
34
34
|
(
|
35
|
-
address authority
|
36
|
-
|
37
|
-
) = abi.decode(data, (address, address));
|
35
|
+
address authority
|
36
|
+
) = abi.decode(data, (address));
|
38
37
|
|
39
|
-
__Service_init(authority,
|
38
|
+
__Service_init(authority, owner);
|
40
39
|
_registerInterface(type(IOracleService).interfaceId);
|
41
40
|
}
|
42
41
|
|
@@ -49,25 +48,24 @@ contract OracleService is
|
|
49
48
|
external
|
50
49
|
virtual
|
51
50
|
restricted()
|
52
|
-
onlyNftOfType(oracleNftId, ORACLE())
|
53
51
|
returns (RequestId requestId)
|
54
52
|
{
|
55
53
|
// checks
|
56
|
-
|
57
|
-
|
58
|
-
IRegistry.ObjectInfo memory requesterInfo,
|
59
|
-
address instance
|
60
|
-
) = ContractLib.getAndVerifyAnyComponent(
|
61
|
-
getRegistry(), msg.sender, true);
|
62
|
-
|
63
|
-
(
|
64
|
-
NftId requesterNftId,
|
65
|
-
IOracleComponent oracle
|
66
|
-
) = _checkRequestParams(
|
67
|
-
getRegistry(), oracleNftId, requesterInfo, expiryAt, callbackMethodName);
|
54
|
+
NftId requesterNftId; // component
|
55
|
+
IOracleComponent oracle;
|
68
56
|
|
69
|
-
// effects
|
70
57
|
{
|
58
|
+
IInstance instance;
|
59
|
+
(
|
60
|
+
requesterNftId,
|
61
|
+
oracle,
|
62
|
+
instance
|
63
|
+
) = ContractLib.getAndVerifyComponentAndOracle(
|
64
|
+
oracleNftId, getRelease());
|
65
|
+
|
66
|
+
_checkRequestParams(expiryAt, callbackMethodName);
|
67
|
+
|
68
|
+
// effects
|
71
69
|
// create request info
|
72
70
|
IOracle.RequestInfo memory request = IOracle.RequestInfo({
|
73
71
|
requesterNftId: requesterNftId,
|
@@ -81,7 +79,7 @@ contract OracleService is
|
|
81
79
|
});
|
82
80
|
|
83
81
|
// store request with instance
|
84
|
-
requestId =
|
82
|
+
requestId = instance.getInstanceStore().createRequest(request);
|
85
83
|
}
|
86
84
|
|
87
85
|
emit LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt);
|
@@ -108,13 +106,11 @@ contract OracleService is
|
|
108
106
|
returns (bool success)
|
109
107
|
{
|
110
108
|
(
|
111
|
-
|
112
|
-
|
109
|
+
NftId oracleNftId,
|
110
|
+
IInstance instance
|
113
111
|
) = ContractLib.getAndVerifyComponent(
|
114
|
-
|
112
|
+
msg.sender, ORACLE(), getRelease(), true);
|
115
113
|
|
116
|
-
NftId oracleNftId = info.nftId;
|
117
|
-
IInstance instance = IInstance(instanceAddress);
|
118
114
|
bool callerIsOracle = true;
|
119
115
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
|
120
116
|
request.responseData = responseData;
|
@@ -123,7 +119,7 @@ contract OracleService is
|
|
123
119
|
instance.getInstanceStore().updateRequest(
|
124
120
|
requestId, request, KEEP_STATE());
|
125
121
|
|
126
|
-
IRegistry.ObjectInfo memory requesterInfo =
|
122
|
+
IRegistry.ObjectInfo memory requesterInfo = _getRegistry().getObjectInfo(
|
127
123
|
request.requesterNftId);
|
128
124
|
|
129
125
|
string memory functionSignature = string(
|
@@ -156,24 +152,25 @@ contract OracleService is
|
|
156
152
|
restricted()
|
157
153
|
{
|
158
154
|
(
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
155
|
+
// !!! TODO requesterNftId is in request.requesterNftId
|
156
|
+
// here is responder nft id?
|
157
|
+
NftId requesterNftId, // component
|
158
|
+
IInstance instance
|
159
|
+
) = ContractLib.getAndVerifyComponent(
|
160
|
+
msg.sender, COMPONENT(), getRelease(), true);
|
163
161
|
|
164
|
-
NftId requesterNftId = info.nftId;
|
165
|
-
IInstance instance = IInstance(instanceAddress);
|
166
162
|
bool callerIsOracle = false;
|
167
163
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
168
164
|
|
169
165
|
// attempt to deliver response to requester
|
166
|
+
address requester = msg.sender;
|
170
167
|
string memory functionSignature = string(
|
171
168
|
abi.encodePacked(
|
172
169
|
request.callbackMethodName,
|
173
170
|
"(uint64,bytes)"
|
174
171
|
));
|
175
172
|
|
176
|
-
(bool success, bytes memory returnData) =
|
173
|
+
(bool success, bytes memory returnData) = requester.call(
|
177
174
|
abi.encodeWithSignature(
|
178
175
|
functionSignature,
|
179
176
|
requestId,
|
@@ -184,7 +181,8 @@ contract OracleService is
|
|
184
181
|
instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
|
185
182
|
emit LogOracleServiceResponseResent(requestId, requesterNftId);
|
186
183
|
} else {
|
187
|
-
|
184
|
+
// TODO why requester address instead of nftId?
|
185
|
+
emit LogOracleServiceDeliveryFailed(requestId, requester, functionSignature);
|
188
186
|
}
|
189
187
|
}
|
190
188
|
|
@@ -195,13 +193,11 @@ contract OracleService is
|
|
195
193
|
restricted()
|
196
194
|
{
|
197
195
|
(
|
198
|
-
|
199
|
-
|
200
|
-
) = ContractLib.
|
201
|
-
|
196
|
+
NftId requesterNftId, // component
|
197
|
+
IInstance instance
|
198
|
+
) = ContractLib.getAndVerifyComponent(
|
199
|
+
msg.sender, COMPONENT(), getRelease(), true);
|
202
200
|
|
203
|
-
NftId requesterNftId = info.nftId;
|
204
|
-
IInstance instance = IInstance(instanceAddress);
|
205
201
|
bool callerIsOracle = false;
|
206
202
|
// TODO property isCancelled and state update to CANCELLED are redundant, get rid of isCancelled
|
207
203
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
@@ -211,7 +207,7 @@ contract OracleService is
|
|
211
207
|
|
212
208
|
// call oracle component
|
213
209
|
// TODO add check that oracle is active?
|
214
|
-
address oracleAddress =
|
210
|
+
address oracleAddress = _getRegistry().getObjectAddress(request.oracleNftId);
|
215
211
|
IOracleComponent(oracleAddress).cancel(requestId);
|
216
212
|
|
217
213
|
emit LogOracleServiceRequestCancelled(requestId, requesterNftId);
|
@@ -219,39 +215,13 @@ contract OracleService is
|
|
219
215
|
|
220
216
|
|
221
217
|
function _checkRequestParams(
|
222
|
-
IRegistry registry,
|
223
|
-
NftId oracleNftId,
|
224
|
-
IRegistry.ObjectInfo memory requesterInfo,
|
225
218
|
Timestamp expiryAt,
|
226
219
|
string memory callbackMethodName
|
227
220
|
)
|
228
221
|
internal
|
229
222
|
virtual
|
230
223
|
view
|
231
|
-
returns (
|
232
|
-
NftId requesterNftId,
|
233
|
-
IOracleComponent oracle
|
234
|
-
)
|
235
224
|
{
|
236
|
-
// get oracle info
|
237
|
-
(IRegistry.ObjectInfo memory oracleInfo,) = ContractLib.getInfoAndInstance(
|
238
|
-
registry, oracleNftId, true);
|
239
|
-
|
240
|
-
// obtain return values
|
241
|
-
requesterNftId = requesterInfo.nftId;
|
242
|
-
oracle = IOracleComponent(oracleInfo.objectAddress);
|
243
|
-
|
244
|
-
// check that requester and oracle share same product cluster
|
245
|
-
if (requesterInfo.objectType == PRODUCT()) {
|
246
|
-
if (oracleInfo.parentNftId != requesterNftId) {
|
247
|
-
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterNftId, oracleInfo.parentNftId);
|
248
|
-
}
|
249
|
-
} else {
|
250
|
-
if (oracleInfo.parentNftId != requesterInfo.parentNftId) {
|
251
|
-
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterInfo.parentNftId, oracleInfo.parentNftId);
|
252
|
-
}
|
253
|
-
}
|
254
|
-
|
255
225
|
// check expiriyAt >= now
|
256
226
|
if (expiryAt < TimestampLib.current()) {
|
257
227
|
revert ErrorOracleServiceExpiryInThePast(TimestampLib.current(), expiryAt);
|
@@ -12,14 +12,12 @@ contract OracleServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with service implementation and deploys instance
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
OracleService svc = new OracleService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(authority
|
19
|
+
bytes memory data = abi.encode(authority);
|
21
20
|
IUpgradeable upgradeable = initialize(
|
22
|
-
registry,
|
23
21
|
address(svc),
|
24
22
|
data,
|
25
23
|
salt);
|
@@ -18,7 +18,6 @@ abstract contract BasicPool is
|
|
18
18
|
{
|
19
19
|
|
20
20
|
function _initializeBasicPool(
|
21
|
-
address registry,
|
22
21
|
NftId productNftId,
|
23
22
|
string memory name,
|
24
23
|
IComponents.PoolInfo memory poolInfo,
|
@@ -30,7 +29,6 @@ abstract contract BasicPool is
|
|
30
29
|
onlyInitializing()
|
31
30
|
{
|
32
31
|
__Pool_init(
|
33
|
-
registry,
|
34
32
|
productNftId,
|
35
33
|
name,
|
36
34
|
poolInfo,
|
@@ -45,8 +43,8 @@ abstract contract BasicPool is
|
|
45
43
|
public
|
46
44
|
virtual
|
47
45
|
restricted()
|
48
|
-
onlyBundleOwner(bundleNftId)
|
49
|
-
onlyNftOfType(bundleNftId, BUNDLE())
|
46
|
+
onlyBundleOwner(bundleNftId) // TODO single modifier to check everything about given arbitrary nftId
|
47
|
+
onlyNftOfType(bundleNftId, BUNDLE()) // TODO service will check this
|
50
48
|
{
|
51
49
|
_stake(bundleNftId, amount);
|
52
50
|
}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
-
import {IComponent} from "../shared/
|
5
|
+
import {IComponent} from "../shared/IComponent.sol";
|
6
6
|
import {IPoolComponent} from "./IPoolComponent.sol";
|
7
7
|
|
8
8
|
import {Authorization} from "../authorization/Authorization.sol";
|