@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.
Files changed (333) hide show
  1. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +2 -2
  3. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +2 -2
  5. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  6. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
  8. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2 -2
  10. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
  13. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  19. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -96
  21. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  23. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +0 -94
  25. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
  27. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
  29. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +0 -94
  31. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  33. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  34. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +2 -77
  35. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  36. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
  37. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2 -77
  39. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +2 -2
  41. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  42. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
  43. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +2 -2
  44. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
  45. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +1 -1
  46. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +2 -2
  47. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
  48. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +54 -174
  49. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  50. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +20 -20
  51. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
  52. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +2 -77
  53. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
  54. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +2 -2
  55. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
  56. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +15 -90
  57. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +20 -20
  59. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +1 -1
  60. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +2 -2
  61. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
  62. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
  63. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  64. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +2 -96
  65. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  66. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
  67. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  68. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +86 -78
  69. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +2 -77
  71. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  72. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
  73. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2 -77
  75. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
  77. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  78. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  79. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  80. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  81. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  82. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +13 -0
  83. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  84. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +26 -0
  85. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  86. package/artifacts/contracts/instance/Instance.sol/Instance.json +30 -12
  87. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  88. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +76 -76
  89. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  90. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +21 -21
  91. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  92. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
  93. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +46 -20
  95. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +11 -11
  97. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  99. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  100. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  101. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +4 -0
  102. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
  103. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  104. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  105. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  106. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  107. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  108. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  109. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  110. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  111. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  112. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  113. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +38 -2
  114. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  115. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  116. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  117. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  118. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  119. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +82 -74
  122. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  124. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  125. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  126. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +65 -57
  127. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +51 -0
  129. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +68 -60
  131. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +119 -44
  133. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  134. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +35 -23
  135. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +0 -75
  137. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  138. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  139. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
  141. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
  143. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  144. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  145. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +0 -75
  146. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  147. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  148. package/artifacts/contracts/pool/Pool.sol/Pool.json +0 -75
  149. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  150. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
  151. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  152. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
  153. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
  155. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  157. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  159. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  160. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +0 -75
  161. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  162. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  163. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  164. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +36 -36
  165. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  166. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +19 -19
  167. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  168. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  169. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  170. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  171. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  172. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +0 -75
  173. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
  176. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  177. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  178. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
  180. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  181. package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
  182. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  183. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  184. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  185. package/artifacts/contracts/product/Product.sol/Product.json +0 -75
  186. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  187. package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
  188. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  189. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +2 -2
  190. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  195. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  196. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -27
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2 -2
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  214. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  215. package/artifacts/contracts/shared/Component.sol/Component.json +0 -75
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +295 -104
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +29 -29
  220. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +0 -75
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -75
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +239 -48
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +0 -75
  232. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  233. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  238. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  239. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  240. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -75
  241. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  242. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  243. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  246. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  247. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  248. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  249. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  250. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  251. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  252. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +0 -75
  253. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  254. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +0 -212
  255. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  256. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  257. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -77
  258. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  259. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  260. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  261. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  262. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  263. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  264. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  265. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -214
  266. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  267. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  268. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  269. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  270. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  271. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  272. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  273. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  274. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  275. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  278. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  282. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  283. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  285. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
  290. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  291. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  292. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  303. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  304. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  305. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  306. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  307. package/contracts/distribution/IDistributionComponent.sol +0 -2
  308. package/contracts/examples/flight/FlightOracle.sol +0 -97
  309. package/contracts/examples/flight/FlightOracleAuthorization.sol +2 -3
  310. package/contracts/examples/flight/FlightProduct.sol +2 -2
  311. package/contracts/examples/flight/FlightProductAuthorization.sol +1 -1
  312. package/contracts/instance/IInstance.sol +3 -0
  313. package/contracts/instance/IInstanceService.sol +5 -1
  314. package/contracts/instance/Instance.sol +8 -0
  315. package/contracts/instance/InstanceAdmin.sol +2 -1
  316. package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
  317. package/contracts/instance/InstanceService.sol +61 -37
  318. package/contracts/instance/RequestSet.sol +63 -0
  319. package/contracts/instance/TargetNames.sol +1 -0
  320. package/contracts/instance/base/ObjectSet.sol +8 -0
  321. package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
  322. package/contracts/oracle/IOracleComponent.sol +10 -0
  323. package/contracts/oracle/IOracleService.sol +9 -0
  324. package/contracts/oracle/Oracle.sol +50 -23
  325. package/contracts/oracle/OracleService.sol +73 -21
  326. package/contracts/registry/RegistryAuthorization.sol +0 -2
  327. package/contracts/shared/ComponentService.sol +31 -2
  328. package/contracts/shared/IComponent.sol +0 -4
  329. package/contracts/shared/IComponentService.sol +23 -2
  330. package/contracts/shared/InstanceLinkedComponent.sol +1 -1
  331. package/contracts/staking/IStakingService.sol +0 -9
  332. package/contracts/type/RequestId.sol +6 -0
  333. 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 resendRequest(RequestId requestId)
219
+ function resendResponse(RequestId requestId)
220
220
  external
221
221
  virtual
222
222
  restricted()
223
223
  {
224
- _resendRequest(requestId);
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.resendRequest.selector, "resendRequest");
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
- if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
353
- if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
354
- if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
355
- if(instanceStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceStoreAuthorityMismatch(); }
356
- if(productStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceProductStoreAuthorityMismatch(); }
357
- if(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
358
- if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
359
- if(instanceReader.getInstance() != instance) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch2(); }
360
-
361
- _masterAccessManager = accessManagerAddress;
362
- _masterInstanceAdmin = instanceAdminAddress;
363
- _masterInstance = instanceAddress;
364
- _masterInstanceReader = instanceReaderAddress;
365
- _masterInstanceBundleSet = bundleSetAddress;
366
- _masterInstanceRiskSet = riskSetAddress;
367
- _masterInstanceStore = instanceStoreAddress;
368
- _masterProductStore = productStoreAddress;
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
  }