@etherisc/gif-next 3.0.0-fbc2b82-347 → 3.0.0-fe24052-863
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/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +2 -2
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +2 -2
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2 -2
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- 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/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 +2 -96
- 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 +0 -94
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +0 -94
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- 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 +2 -77
- 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 +2 -77
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +2 -2
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +2 -2
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +2 -2
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +54 -174
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +20 -20
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +2 -77
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +15 -90
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +20 -20
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +2 -2
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +2 -96
- 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 +86 -78
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +2 -77
- 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 +2 -77
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
- 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 +2 -2
- 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 +13 -0
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +26 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +30 -12
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +76 -76
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +21 -21
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +46 -20
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +11 -11
- 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/RequestSet.sol/RequestSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.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/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +38 -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 +82 -74
- 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 +65 -57
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +51 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +68 -60
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +119 -44
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +35 -23
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +0 -75
- 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 +2 -2
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +0 -75
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +0 -75
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +0 -75
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +36 -36
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +19 -19
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +0 -75
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +0 -75
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +2 -2
- 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/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 +2 -2
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -27
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2 -2
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -75
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +295 -104
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +29 -29
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +0 -75
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +239 -48
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +0 -75
- 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/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.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 +0 -75
- 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/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +0 -75
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +0 -212
- 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 +2 -77
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -214
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
- 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/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- 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/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- 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/Timestamp.sol/TimestampLib.dbg.json +1 -1
- 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/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/examples/flight/FlightOracle.sol +0 -97
- package/contracts/examples/flight/FlightOracleAuthorization.sol +2 -3
- package/contracts/examples/flight/FlightProduct.sol +2 -2
- package/contracts/examples/flight/FlightProductAuthorization.sol +1 -1
- package/contracts/instance/IInstance.sol +3 -0
- package/contracts/instance/IInstanceService.sol +5 -1
- package/contracts/instance/Instance.sol +8 -0
- package/contracts/instance/InstanceAdmin.sol +2 -1
- package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
- package/contracts/instance/InstanceService.sol +61 -37
- package/contracts/instance/RequestSet.sol +63 -0
- package/contracts/instance/TargetNames.sol +1 -0
- package/contracts/instance/base/ObjectSet.sol +8 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
- package/contracts/oracle/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +9 -0
- package/contracts/oracle/Oracle.sol +50 -23
- package/contracts/oracle/OracleService.sol +73 -21
- package/contracts/registry/RegistryAuthorization.sol +0 -2
- package/contracts/shared/ComponentService.sol +31 -2
- package/contracts/shared/IComponent.sol +0 -4
- package/contracts/shared/IComponentService.sol +23 -2
- package/contracts/shared/InstanceLinkedComponent.sol +1 -1
- package/contracts/staking/IStakingService.sol +0 -9
- package/contracts/type/RequestId.sol +6 -0
- package/package.json +1 -1
@@ -7,7 +7,6 @@ import {ACTIVE, FULFILLED, FAILED} from "../../type/StateId.sol";
|
|
7
7
|
import {NftId} from "../../type/NftId.sol";
|
8
8
|
import {BasicOracle} from "../../oracle/BasicOracle.sol";
|
9
9
|
import {RequestId} from "../../type/RequestId.sol";
|
10
|
-
import {LibRequestIdSet} from "../../type/RequestIdSet.sol";
|
11
10
|
import {RiskId} from "../../type/RiskId.sol";
|
12
11
|
import {StateId} from "../../type/StateId.sol";
|
13
12
|
import {Str} from "../../type/String.sol";
|
@@ -33,9 +32,6 @@ contract FlightOracle is
|
|
33
32
|
event LogFlightOracleResponseSent(RequestId requestId, bytes1 status, int256 delay);
|
34
33
|
event LogFlightOracleRequestCancelled(RequestId requestId);
|
35
34
|
|
36
|
-
// TODO decide if this variable should be moved to instance store
|
37
|
-
// if so it need to manage active requests by requestor nft id
|
38
|
-
LibRequestIdSet.Set internal _activeRequests;
|
39
35
|
|
40
36
|
|
41
37
|
constructor(
|
@@ -99,52 +95,10 @@ contract FlightOracle is
|
|
99
95
|
|
100
96
|
// effects + interaction (via framework to receiving component)
|
101
97
|
_respond(requestId, responseData);
|
102
|
-
|
103
|
-
// TODO decide if the code below should be moved to GIF
|
104
|
-
_updateRequestState(requestId);
|
105
|
-
}
|
106
|
-
|
107
|
-
|
108
|
-
function updateRequestState(
|
109
|
-
RequestId requestId
|
110
|
-
)
|
111
|
-
external
|
112
|
-
restricted()
|
113
|
-
{
|
114
|
-
_updateRequestState(requestId);
|
115
98
|
}
|
116
99
|
|
117
100
|
//--- view functions ----------------------------------------------------//
|
118
101
|
|
119
|
-
// TODO decide if the code below should be moved to GIF
|
120
|
-
function activeRequests()
|
121
|
-
external
|
122
|
-
view
|
123
|
-
returns(uint256 numberOfRequests)
|
124
|
-
{
|
125
|
-
return LibRequestIdSet.size(_activeRequests);
|
126
|
-
}
|
127
|
-
|
128
|
-
|
129
|
-
// TODO decide if the code below should be moved to GIF
|
130
|
-
function getActiveRequest(uint256 idx)
|
131
|
-
external
|
132
|
-
view
|
133
|
-
returns(RequestId requestId)
|
134
|
-
{
|
135
|
-
return LibRequestIdSet.getElementAt(_activeRequests, idx);
|
136
|
-
}
|
137
|
-
|
138
|
-
|
139
|
-
function isActiveRequest(RequestId requestId)
|
140
|
-
external
|
141
|
-
view
|
142
|
-
returns(bool isActive)
|
143
|
-
{
|
144
|
-
return LibRequestIdSet.contains(_activeRequests, requestId);
|
145
|
-
}
|
146
|
-
|
147
|
-
|
148
102
|
function getRequestState(RequestId requestId)
|
149
103
|
external
|
150
104
|
view
|
@@ -172,55 +126,4 @@ contract FlightOracle is
|
|
172
126
|
return abi.decode(data, (FlightStatusRequest));
|
173
127
|
}
|
174
128
|
|
175
|
-
//--- internal functions ------------------------------------------------//
|
176
|
-
|
177
|
-
|
178
|
-
// TODO decide if the code below should be moved to GIF
|
179
|
-
// check callback result
|
180
|
-
function _updateRequestState(
|
181
|
-
RequestId requestId
|
182
|
-
)
|
183
|
-
internal
|
184
|
-
{
|
185
|
-
bool requestFulfilled = _getInstanceReader().getRequestState(
|
186
|
-
requestId) == FULFILLED();
|
187
|
-
|
188
|
-
// remove from active requests when successful
|
189
|
-
if (requestFulfilled && LibRequestIdSet.contains(_activeRequests, requestId)) {
|
190
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
191
|
-
}
|
192
|
-
}
|
193
|
-
|
194
|
-
|
195
|
-
/// @dev use case specific handling of oracle requests
|
196
|
-
/// for now only log is emitted to verify that request has been received by oracle component
|
197
|
-
function _request(
|
198
|
-
RequestId requestId,
|
199
|
-
NftId requesterId,
|
200
|
-
bytes calldata requestData,
|
201
|
-
Timestamp expiryAt
|
202
|
-
)
|
203
|
-
internal
|
204
|
-
virtual override
|
205
|
-
{
|
206
|
-
FlightStatusRequest memory request = abi.decode(requestData, (FlightStatusRequest));
|
207
|
-
|
208
|
-
// TODO decide if the line below should be moved to GIF
|
209
|
-
LibRequestIdSet.add(_activeRequests, requestId);
|
210
|
-
emit LogFlightOracleRequestReceived(requestId, requesterId);
|
211
|
-
}
|
212
|
-
|
213
|
-
|
214
|
-
/// @dev use case specific handling of oracle requests
|
215
|
-
/// for now only log is emitted to verify that cancelling has been received by oracle component
|
216
|
-
function _cancel(
|
217
|
-
RequestId requestId
|
218
|
-
)
|
219
|
-
internal
|
220
|
-
virtual override
|
221
|
-
{
|
222
|
-
// TODO decide if the line below should be moved to GIF
|
223
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
224
|
-
emit LogFlightOracleRequestCancelled(requestId);
|
225
|
-
}
|
226
129
|
}
|
@@ -49,9 +49,8 @@ contract FlightOracleAuthorization
|
|
49
49
|
functions = _authorizeForTarget(getMainTargetName(), STATUS_PROVIDER_ROLE);
|
50
50
|
_authorize(functions, FlightOracle.respondWithFlightStatus.selector, "respondWithFlightStatus");
|
51
51
|
|
52
|
-
// authorize public role (additional authz via onlyOwner)
|
53
|
-
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
54
|
-
_authorize(functions, FlightOracle.updateRequestState.selector, "updateRequestState");
|
52
|
+
// // authorize public role (additional authz via onlyOwner)
|
53
|
+
// functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
55
54
|
}
|
56
55
|
}
|
57
56
|
|
@@ -216,12 +216,12 @@ contract FlightProduct is
|
|
216
216
|
}
|
217
217
|
|
218
218
|
|
219
|
-
function
|
219
|
+
function resendResponse(RequestId requestId)
|
220
220
|
external
|
221
221
|
virtual
|
222
222
|
restricted()
|
223
223
|
{
|
224
|
-
|
224
|
+
_resendResponse(requestId);
|
225
225
|
}
|
226
226
|
|
227
227
|
|
@@ -57,7 +57,7 @@ contract FlightProductAuthorization
|
|
57
57
|
|
58
58
|
// authorize public role (additional authz via onlyOwner)
|
59
59
|
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
60
|
-
_authorize(functions, FlightProduct.
|
60
|
+
_authorize(functions, FlightProduct.resendResponse.selector, "resendResponse");
|
61
61
|
_authorize(functions, FlightProduct.processPayoutsAndClosePolicies.selector, "processPayoutsAndClosePolicies");
|
62
62
|
_authorize(functions, FlightProduct.setConstants.selector, "setConstants");
|
63
63
|
_authorize(functions, FlightProduct.setTestMode.selector, "setTestMode");
|
@@ -12,6 +12,7 @@ import {InstanceReader} from "./InstanceReader.sol";
|
|
12
12
|
import {InstanceStore} from "./InstanceStore.sol";
|
13
13
|
import {NftId} from "../type/NftId.sol";
|
14
14
|
import {ProductStore} from "./ProductStore.sol";
|
15
|
+
import {RequestSet} from "./RequestSet.sol";
|
15
16
|
import {RoleId} from "../type/RoleId.sol";
|
16
17
|
import {Seconds} from "../type/Seconds.sol";
|
17
18
|
import {UFixed} from "../type/UFixed.sol";
|
@@ -58,6 +59,7 @@ interface IInstance is
|
|
58
59
|
ProductStore productStore;
|
59
60
|
BundleSet bundleSet;
|
60
61
|
RiskSet riskSet;
|
62
|
+
RequestSet requestSet;
|
61
63
|
InstanceReader instanceReader;
|
62
64
|
}
|
63
65
|
|
@@ -149,6 +151,7 @@ interface IInstance is
|
|
149
151
|
function getInstanceReader() external view returns (InstanceReader);
|
150
152
|
function getBundleSet() external view returns (BundleSet);
|
151
153
|
function getRiskSet() external view returns (RiskSet);
|
154
|
+
function getRequestSet() external view returns (RequestSet);
|
152
155
|
function getInstanceAdmin() external view returns (InstanceAdmin);
|
153
156
|
function getInstanceStore() external view returns (InstanceStore);
|
154
157
|
function getProductStore() external view returns (ProductStore);
|
@@ -26,6 +26,7 @@ interface IInstanceService is IService {
|
|
26
26
|
error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
|
27
27
|
error ErrorInstanceServiceMasterBundleSetAlreadySet();
|
28
28
|
error ErrorInstanceServiceMasterRiskSetAlreadySet();
|
29
|
+
error ErrorInstanceServiceMasterRequestSetAlreadySet();
|
29
30
|
error ErrorInstanceServiceInstanceAddressZero();
|
30
31
|
|
31
32
|
error ErrorInstanceServiceMasterInstanceReaderNotSet();
|
@@ -38,15 +39,18 @@ interface IInstanceService is IService {
|
|
38
39
|
error ErrorInstanceServiceInstanceReaderZero();
|
39
40
|
error ErrorInstanceServiceBundleSetZero();
|
40
41
|
error ErrorInstanceServiceRiskSetZero();
|
42
|
+
error ErrorInstanceServiceRequestSetZero();
|
41
43
|
error ErrorInstanceServiceInstanceStoreZero();
|
42
44
|
error ErrorInstanceServiceProductStoreZero();
|
43
45
|
|
44
46
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
45
47
|
error ErrorInstanceServiceBundleSetAuthorityMismatch();
|
46
48
|
error ErrorInstanceServiceRiskSetAuthorityMismatch();
|
49
|
+
error ErrorInstanceServiceRequestSetAuthorityMismatch();
|
47
50
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
|
48
51
|
error ErrorInstanceServiceBundleSetInstanceMismatch();
|
49
52
|
error ErrorInstanceServiceRiskSetInstanceMismatch();
|
53
|
+
error ErrorInstanceServiceRequestSetInstanceMismatch();
|
50
54
|
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
51
55
|
error ErrorInstanceServiceProductStoreAuthorityMismatch();
|
52
56
|
|
@@ -59,7 +63,7 @@ interface IInstanceService is IService {
|
|
59
63
|
event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
|
60
64
|
event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
|
61
65
|
event LogInstanceServiceMasterInstanceRegistered(NftId masterInstanceNftId, address masterInstance, address masterInstanceAdmin, address masterAccessManager,
|
62
|
-
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceStore, address masterProductStore);
|
66
|
+
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceRequestSet, address masterInstanceStore, address masterProductStore);
|
63
67
|
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
64
68
|
event LogInstanceServiceInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
65
69
|
|
@@ -17,6 +17,7 @@ import {InstanceStore} from "./InstanceStore.sol";
|
|
17
17
|
import {NftId} from "../type/NftId.sol";
|
18
18
|
import {ProductStore} from "./ProductStore.sol";
|
19
19
|
import {Registerable} from "../shared/Registerable.sol";
|
20
|
+
import {RequestSet} from "./RequestSet.sol";
|
20
21
|
import {RoleId} from "../type/RoleId.sol";
|
21
22
|
import {Seconds} from "../type/Seconds.sol";
|
22
23
|
import {UFixed} from "../type/UFixed.sol";
|
@@ -35,6 +36,7 @@ contract Instance is
|
|
35
36
|
InstanceReader internal _instanceReader;
|
36
37
|
BundleSet internal _bundleSet;
|
37
38
|
RiskSet internal _riskSet;
|
39
|
+
RequestSet internal _requestSet;
|
38
40
|
InstanceStore internal _instanceStore;
|
39
41
|
ProductStore internal _productStore;
|
40
42
|
NftId [] internal _products;
|
@@ -88,6 +90,7 @@ contract Instance is
|
|
88
90
|
_productStore = instanceContracts.productStore;
|
89
91
|
_bundleSet = instanceContracts.bundleSet;
|
90
92
|
_riskSet = instanceContracts.riskSet;
|
93
|
+
_requestSet = instanceContracts.requestSet;
|
91
94
|
_instanceReader = instanceContracts.instanceReader;
|
92
95
|
|
93
96
|
// initialize instance supporting contracts
|
@@ -95,6 +98,7 @@ contract Instance is
|
|
95
98
|
_productStore.initialize();
|
96
99
|
_bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
97
100
|
_riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
101
|
+
_requestSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
98
102
|
_instanceReader.initialize();
|
99
103
|
|
100
104
|
_componentService = IComponentService(
|
@@ -333,6 +337,10 @@ contract Instance is
|
|
333
337
|
return _riskSet;
|
334
338
|
}
|
335
339
|
|
340
|
+
function getRequestSet() external view returns (RequestSet) {
|
341
|
+
return _requestSet;
|
342
|
+
}
|
343
|
+
|
336
344
|
function getInstanceAdmin() external view returns (InstanceAdmin) {
|
337
345
|
return _instanceAdmin;
|
338
346
|
}
|
@@ -13,7 +13,7 @@ import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
|
13
13
|
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
14
14
|
import {Str} from "../type/String.sol";
|
15
15
|
import {VersionPart} from "../type/Version.sol";
|
16
|
-
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
16
|
+
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME, REQUEST_SET_TARGET_NAME} from "./TargetNames.sol";
|
17
17
|
|
18
18
|
|
19
19
|
contract InstanceAdmin is
|
@@ -123,6 +123,7 @@ contract InstanceAdmin is
|
|
123
123
|
_createInstanceTarget(address(_instance.getProductStore()), PRODUCT_STORE_TARGET_NAME);
|
124
124
|
_createInstanceTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
125
125
|
_createInstanceTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
126
|
+
_createInstanceTarget(address(_instance.getRequestSet()), REQUEST_SET_TARGET_NAME);
|
126
127
|
}
|
127
128
|
|
128
129
|
|
@@ -10,9 +10,10 @@ import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION
|
|
10
10
|
import {BundleSet} from "../instance/BundleSet.sol";
|
11
11
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
12
12
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
13
|
-
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
13
|
+
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME, REQUEST_SET_TARGET_NAME} from "./TargetNames.sol";
|
14
14
|
import {ProductStore} from "../instance/ProductStore.sol";
|
15
15
|
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
16
|
+
import {RequestSet} from "../instance/RequestSet.sol";
|
16
17
|
import {RiskSet} from "../instance/RiskSet.sol";
|
17
18
|
|
18
19
|
|
@@ -71,6 +72,7 @@ contract InstanceAuthorizationV3
|
|
71
72
|
_addInstanceTarget(PRODUCT_STORE_TARGET_NAME);
|
72
73
|
_addInstanceTarget(BUNDLE_SET_TARGET_NAME);
|
73
74
|
_addInstanceTarget(RISK_SET_TARGET_NAME);
|
75
|
+
_addInstanceTarget(REQUEST_SET_TARGET_NAME);
|
74
76
|
}
|
75
77
|
|
76
78
|
|
@@ -84,6 +86,18 @@ contract InstanceAuthorizationV3
|
|
84
86
|
_setupProductStoreAuthorization();
|
85
87
|
_setupBundleSetAuthorization();
|
86
88
|
_setUpRiskSetAuthorization();
|
89
|
+
_setUpRequestIdSetAuthorization();
|
90
|
+
}
|
91
|
+
|
92
|
+
function _setUpRequestIdSetAuthorization()
|
93
|
+
internal
|
94
|
+
{
|
95
|
+
IAccess.FunctionInfo[] storage functions;
|
96
|
+
|
97
|
+
// authorize oracle service role
|
98
|
+
functions = _authorizeForTarget(REQUEST_SET_TARGET_NAME, getServiceRole(ORACLE()));
|
99
|
+
_authorize(functions, RequestSet.add.selector, "add");
|
100
|
+
_authorize(functions, RequestSet.remove.selector, "remove");
|
87
101
|
}
|
88
102
|
|
89
103
|
|
@@ -22,6 +22,7 @@ import {InstanceStore} from "./InstanceStore.sol";
|
|
22
22
|
import {NftId} from "../type/NftId.sol";
|
23
23
|
import {ObjectType, INSTANCE, COMPONENT, INSTANCE, REGISTRY, STAKING} from "../type/ObjectType.sol";
|
24
24
|
import {ProductStore} from "./ProductStore.sol";
|
25
|
+
import {RequestSet} from "./RequestSet.sol";
|
25
26
|
import {RiskSet} from "./RiskSet.sol";
|
26
27
|
import {RoleId} from "../type/RoleId.sol";
|
27
28
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -49,6 +50,7 @@ contract InstanceService is
|
|
49
50
|
address internal _masterInstanceReader;
|
50
51
|
address internal _masterInstanceBundleSet;
|
51
52
|
address internal _masterInstanceRiskSet;
|
53
|
+
address internal _masterInstanceRequestSet;
|
52
54
|
address internal _masterInstanceStore;
|
53
55
|
address internal _masterProductStore;
|
54
56
|
|
@@ -323,49 +325,70 @@ contract InstanceService is
|
|
323
325
|
if(_masterInstanceAdmin != address(0)) { revert ErrorInstanceServiceMasterInstanceAdminAlreadySet(); }
|
324
326
|
if(_masterInstanceBundleSet != address(0)) { revert ErrorInstanceServiceMasterBundleSetAlreadySet(); }
|
325
327
|
if(_masterInstanceRiskSet != address(0)) { revert ErrorInstanceServiceMasterRiskSetAlreadySet(); }
|
328
|
+
if(_masterInstanceRequestSet != address(0)) { revert ErrorInstanceServiceMasterRequestSetAlreadySet(); }
|
326
329
|
if(instanceAddress == address(0)) { revert ErrorInstanceServiceInstanceAddressZero(); }
|
327
330
|
|
328
331
|
{
|
329
332
|
IInstance instance = IInstance(instanceAddress);
|
330
333
|
address accessManagerAddress = instance.authority();
|
331
334
|
InstanceAdmin instanceAdmin = instance.getInstanceAdmin();
|
332
|
-
address instanceAdminAddress = address(instanceAdmin);
|
333
|
-
InstanceReader instanceReader = instance.getInstanceReader();
|
334
|
-
address instanceReaderAddress = address(instanceReader);
|
335
|
-
BundleSet bundleSet = instance.getBundleSet();
|
336
|
-
address bundleSetAddress = address(bundleSet);
|
337
|
-
RiskSet riskSet = instance.getRiskSet();
|
338
|
-
address riskSetAddress = address(riskSet);
|
339
|
-
InstanceStore instanceStore = instance.getInstanceStore();
|
340
|
-
address instanceStoreAddress = address(instanceStore);
|
341
|
-
ProductStore productStore = instance.getProductStore();
|
342
|
-
address productStoreAddress = address(productStore);
|
343
|
-
|
344
|
-
if(accessManagerAddress == address(0)) { revert ErrorInstanceServiceAccessManagerZero(); }
|
345
|
-
if(instanceAdminAddress == address(0)) { revert ErrorInstanceServiceInstanceAdminZero(); }
|
346
|
-
if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderZero(); }
|
347
|
-
if(bundleSetAddress == address(0)) { revert ErrorInstanceServiceBundleSetZero(); }
|
348
|
-
if(riskSetAddress == address(0)) { revert ErrorInstanceServiceRiskSetZero(); }
|
349
|
-
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
350
|
-
if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
|
351
335
|
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
336
|
+
{
|
337
|
+
address instanceAdminAddress = address(instanceAdmin);
|
338
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
339
|
+
address instanceReaderAddress = address(instanceReader);
|
340
|
+
|
341
|
+
if(accessManagerAddress == address(0)) { revert ErrorInstanceServiceAccessManagerZero(); }
|
342
|
+
if(instanceAdminAddress == address(0)) { revert ErrorInstanceServiceInstanceAdminZero(); }
|
343
|
+
if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderZero(); }
|
344
|
+
|
345
|
+
if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
|
346
|
+
if(instanceReader.getInstance() != instance) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch2(); }
|
347
|
+
|
348
|
+
_masterAccessManager = accessManagerAddress;
|
349
|
+
_masterInstanceAdmin = instanceAdminAddress;
|
350
|
+
_masterInstance = instanceAddress;
|
351
|
+
_masterInstanceReader = instanceReaderAddress;
|
352
|
+
}
|
353
|
+
|
354
|
+
{
|
355
|
+
BundleSet bundleSet = instance.getBundleSet();
|
356
|
+
address bundleSetAddress = address(bundleSet);
|
357
|
+
RiskSet riskSet = instance.getRiskSet();
|
358
|
+
address riskSetAddress = address(riskSet);
|
359
|
+
RequestSet requestSet = instance.getRequestSet();
|
360
|
+
address requestSetAddress = address(requestSet);
|
361
|
+
|
362
|
+
if(bundleSetAddress == address(0)) { revert ErrorInstanceServiceBundleSetZero(); }
|
363
|
+
if(riskSetAddress == address(0)) { revert ErrorInstanceServiceRiskSetZero(); }
|
364
|
+
if(requestSetAddress == address(0)) { revert ErrorInstanceServiceRequestSetZero(); }
|
365
|
+
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
366
|
+
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
367
|
+
if(requestSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRequestSetAuthorityMismatch(); }
|
368
|
+
if(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
|
369
|
+
if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
|
370
|
+
if(requestSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRequestSetInstanceMismatch(); }
|
371
|
+
|
372
|
+
_masterInstanceBundleSet = bundleSetAddress;
|
373
|
+
_masterInstanceRiskSet = riskSetAddress;
|
374
|
+
_masterInstanceRequestSet = requestSetAddress;
|
375
|
+
}
|
376
|
+
|
377
|
+
{
|
378
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
379
|
+
address instanceStoreAddress = address(instanceStore);
|
380
|
+
ProductStore productStore = instance.getProductStore();
|
381
|
+
address productStoreAddress = address(productStore);
|
382
|
+
|
383
|
+
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
384
|
+
if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
|
385
|
+
|
386
|
+
if(instanceStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceStoreAuthorityMismatch(); }
|
387
|
+
if(productStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceProductStoreAuthorityMismatch(); }
|
388
|
+
|
389
|
+
_masterInstanceStore = instanceStoreAddress;
|
390
|
+
_masterProductStore = productStoreAddress;
|
391
|
+
}
|
369
392
|
}
|
370
393
|
|
371
394
|
{
|
@@ -375,7 +398,7 @@ contract InstanceService is
|
|
375
398
|
|
376
399
|
emit LogInstanceServiceMasterInstanceRegistered(
|
377
400
|
masterInstanceNftId, _masterInstance, _masterInstanceAdmin, _masterAccessManager,
|
378
|
-
_masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceStore, _masterProductStore);
|
401
|
+
_masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceRequestSet, _masterInstanceStore, _masterProductStore);
|
379
402
|
}
|
380
403
|
}
|
381
404
|
|
@@ -447,6 +470,7 @@ contract InstanceService is
|
|
447
470
|
productStore: ProductStore(Clones.clone(address(_masterProductStore))),
|
448
471
|
bundleSet: BundleSet(Clones.clone(_masterInstanceBundleSet)),
|
449
472
|
riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
|
473
|
+
requestSet: RequestSet(Clones.clone(address(_masterInstanceRequestSet))),
|
450
474
|
instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
|
451
475
|
}),
|
452
476
|
getRegistry(),
|
@@ -0,0 +1,63 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IComponents} from "./module/IComponents.sol";
|
5
|
+
|
6
|
+
import {Key32} from "../type/Key32.sol";
|
7
|
+
import {LibNftIdSet} from "../type/NftIdSet.sol";
|
8
|
+
import {LibRequestIdSet} from "../type/RequestIdSet.sol";
|
9
|
+
import {NftId} from "../type/NftId.sol";
|
10
|
+
import {ObjectSet} from "./base/ObjectSet.sol";
|
11
|
+
import {ObjectSetHelperLib} from "./base/ObjectSetHelperLib.sol";
|
12
|
+
import {RequestId, RequestIdLib} from "../type/RequestId.sol";
|
13
|
+
|
14
|
+
contract RequestSet is
|
15
|
+
ObjectSet
|
16
|
+
{
|
17
|
+
using LibNftIdSet for LibNftIdSet.Set;
|
18
|
+
using LibRequestIdSet for LibRequestIdSet.Set;
|
19
|
+
|
20
|
+
event LogRequestSetRequestAdded(NftId indexed oracleNftId, RequestId indexed requestId);
|
21
|
+
event LogRequestSetRequestRemoved(NftId indexed oracleNftId, RequestId indexed requestId);
|
22
|
+
|
23
|
+
error ErrorRequestSetOracleNotRegistered(NftId oracleNftId);
|
24
|
+
|
25
|
+
/// @dev add a new request to a oracle registerd with this instance
|
26
|
+
// the corresponding oracles existence is checked via instance reader
|
27
|
+
function add(NftId oracleNftId, RequestId requestId) external restricted() {
|
28
|
+
IComponents.ComponentInfo memory componentInfo = ObjectSetHelperLib.getComponentInfo(_instanceAddress, oracleNftId);
|
29
|
+
|
30
|
+
// ensure pool is registered with instance
|
31
|
+
if (bytes(componentInfo.name).length == 0) {
|
32
|
+
revert ErrorRequestSetOracleNotRegistered(oracleNftId);
|
33
|
+
}
|
34
|
+
|
35
|
+
_add(oracleNftId, _toRequestKey32(requestId));
|
36
|
+
emit LogRequestSetRequestAdded(oracleNftId, requestId);
|
37
|
+
}
|
38
|
+
|
39
|
+
function remove(NftId oracleNftId, RequestId requestId) external restricted() {
|
40
|
+
_remove(oracleNftId, _toRequestKey32(requestId));
|
41
|
+
emit LogRequestSetRequestRemoved(oracleNftId, requestId);
|
42
|
+
}
|
43
|
+
|
44
|
+
function _toRequestKey32(RequestId requestId) private pure returns (Key32) {
|
45
|
+
return requestId.toKey32();
|
46
|
+
}
|
47
|
+
|
48
|
+
function activeRequests(NftId oracleNftId) external view returns (uint256 numberOfRequests) {
|
49
|
+
return _objects(oracleNftId);
|
50
|
+
}
|
51
|
+
|
52
|
+
function activeRequestAt(NftId oracleNftId, uint256 idx) external view returns (RequestId requestId) {
|
53
|
+
return _toRequestId(_getActiveObject(oracleNftId, idx));
|
54
|
+
}
|
55
|
+
|
56
|
+
function contains(NftId oracleNftId, RequestId requestId) external view returns (bool) {
|
57
|
+
return _contains(oracleNftId, _toRequestKey32(requestId));
|
58
|
+
}
|
59
|
+
|
60
|
+
function _toRequestId(Key32 key) private pure returns (RequestId) {
|
61
|
+
return RequestIdLib.toRequestId(key.toKeyId());
|
62
|
+
}
|
63
|
+
}
|
@@ -7,4 +7,5 @@ string constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
|
7
7
|
string constant PRODUCT_STORE_TARGET_NAME = "ProductStore";
|
8
8
|
string constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
9
9
|
string constant RISK_SET_TARGET_NAME = "RiskSet";
|
10
|
+
string constant REQUEST_SET_TARGET_NAME = "RequestSet";
|
10
11
|
|
@@ -43,6 +43,14 @@ contract ObjectSet is
|
|
43
43
|
activeSet.add(key);
|
44
44
|
}
|
45
45
|
|
46
|
+
function _remove(NftId componentNftId, Key32 key) internal {
|
47
|
+
LibKey32Set.Set storage allSet = _allObjects[componentNftId];
|
48
|
+
LibKey32Set.Set storage activeSet = _activeObjects[componentNftId];
|
49
|
+
|
50
|
+
allSet.remove(key);
|
51
|
+
activeSet.remove(key);
|
52
|
+
}
|
53
|
+
|
46
54
|
function _activate(NftId componentNftId, Key32 key) internal {
|
47
55
|
_activeObjects[componentNftId].add(key);
|
48
56
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IBundle} from "../module/IBundle.sol";
|
5
|
+
import {IComponents} from "../module/IComponents.sol";
|
5
6
|
import {IInstance} from "../IInstance.sol";
|
6
7
|
import {IRisk} from "../module/IRisk.sol";
|
7
8
|
import {NftId} from "../../type/NftId.sol";
|
@@ -11,7 +12,6 @@ import {RiskId} from "../../type/RiskId.sol";
|
|
11
12
|
library ObjectSetHelperLib {
|
12
13
|
|
13
14
|
function getRiskInfo(address instanceAddress, RiskId riskId) public view returns (IRisk.RiskInfo memory) {
|
14
|
-
|
15
15
|
return IInstance(instanceAddress).getInstanceReader().getRiskInfo(riskId);
|
16
16
|
}
|
17
17
|
|
@@ -27,4 +27,8 @@ library ObjectSetHelperLib {
|
|
27
27
|
return getBundleInfo(instanceAddress, bundleNftId).poolNftId;
|
28
28
|
}
|
29
29
|
|
30
|
+
function getComponentInfo(address instanceAddress, NftId componentNftId) public view returns (IComponents.ComponentInfo memory) {
|
31
|
+
return IInstance(instanceAddress).getInstanceReader().getComponentInfo(componentNftId);
|
32
|
+
}
|
33
|
+
|
30
34
|
}
|
@@ -13,6 +13,10 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
13
13
|
interface IOracleComponent is IInstanceLinkedComponent {
|
14
14
|
error ErrorOracleNotImplemented(string methodName);
|
15
15
|
|
16
|
+
event LogOracleRequestReceived(RequestId indexed requestId, NftId indexed requesterId);
|
17
|
+
event LogOracleRequestCancelled(RequestId indexed requestId);
|
18
|
+
|
19
|
+
|
16
20
|
/// @dev callback method for requesting some data from the oracle
|
17
21
|
function request(
|
18
22
|
RequestId requestId,
|
@@ -30,4 +34,10 @@ interface IOracleComponent is IInstanceLinkedComponent {
|
|
30
34
|
|
31
35
|
/// @dev returns true iff the component needs to be called when selling/renewing policis
|
32
36
|
function isVerifying() external view returns (bool verifying);
|
37
|
+
|
38
|
+
function activeRequests() external view returns(uint256 numberOfRequests);
|
39
|
+
|
40
|
+
function getActiveRequest(uint256 idx) external view returns(RequestId requestId);
|
41
|
+
|
42
|
+
function isActiveRequest(RequestId requestId) external view returns(bool isActive);
|
33
43
|
}
|
@@ -63,4 +63,13 @@ interface IOracleService is IService {
|
|
63
63
|
/// Permissioned: only the requester may cancel a request
|
64
64
|
function cancel(RequestId requestId) external;
|
65
65
|
|
66
|
+
// FIXME: move to instance reader
|
67
|
+
function activeRequests() external view returns(uint256 numberOfRequests);
|
68
|
+
|
69
|
+
// FIXME: move to instance reader
|
70
|
+
function activeRequestAt(uint256 idx) external view returns(RequestId requestId);
|
71
|
+
|
72
|
+
// FIXME: move to instance reader
|
73
|
+
function isActiveRequest(RequestId requestId) external view returns(bool isActive);
|
74
|
+
|
66
75
|
}
|