@etherisc/gif-next 3.0.0-9009647-729 → 3.0.0-9091768-396

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 (324) 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 +87 -99
  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/IAccessAdmin.sol/IAccessAdmin.json +63 -75
  16. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -2
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +143 -131
  27. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +47 -47
  29. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +51 -39
  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 -2
  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 -2
  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 -99
  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 -2
  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 -15
  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 -2
  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 +101 -18
  69. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +2 -2
  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 -2
  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 +56 -56
  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 +33 -20
  83. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  84. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +37 -23
  85. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  86. package/artifacts/contracts/instance/Instance.sol/Instance.json +50 -32
  87. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  88. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +170 -182
  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 +103 -36
  93. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +59 -45
  95. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +12 -12
  97. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +114 -114
  99. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  100. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +84 -84
  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 +61 -61
  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 +97 -14
  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 +83 -0
  127. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +12 -18
  129. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +83 -0
  131. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +50 -56
  133. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  134. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +20 -20
  135. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  137. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  138. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  139. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +80 -80
  140. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +30 -30
  142. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  143. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +22 -22
  144. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  145. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  146. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  147. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  148. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
  149. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  150. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
  151. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
  153. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  155. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  157. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  158. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  159. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  160. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  161. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +36 -36
  162. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +19 -19
  164. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  165. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  166. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  167. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  169. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +2 -2
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  189. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  190. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  191. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  192. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +147 -159
  194. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
  196. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  198. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  200. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +170 -182
  202. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  203. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +57 -57
  205. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  207. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  209. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  210. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  211. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +2 -2
  212. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  213. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +2 -2
  214. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  215. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  218. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  219. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  220. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  222. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  223. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  229. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  231. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  232. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  234. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  235. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  236. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  237. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  238. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  239. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  240. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  241. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  242. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  243. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  244. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
  245. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  246. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  247. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  248. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  249. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  250. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  251. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  252. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
  253. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  254. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  255. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  256. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  257. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  258. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  259. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  260. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  261. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  262. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  263. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  264. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  265. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  266. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  267. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  269. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  270. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  272. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
  277. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  278. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  279. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  282. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  290. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  291. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  292. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  293. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  294. package/contracts/authorization/AccessAdmin.sol +8 -10
  295. package/contracts/authorization/IAccessAdmin.sol +8 -9
  296. package/contracts/distribution/DistributionService.sol +19 -22
  297. package/contracts/distribution/IDistributionService.sol +8 -8
  298. package/contracts/examples/flight/FlightOracle.sol +0 -97
  299. package/contracts/examples/flight/FlightOracleAuthorization.sol +2 -3
  300. package/contracts/examples/flight/FlightProduct.sol +2 -2
  301. package/contracts/examples/flight/FlightProductAuthorization.sol +1 -1
  302. package/contracts/instance/BundleSet.sol +6 -6
  303. package/contracts/instance/IInstance.sol +10 -7
  304. package/contracts/instance/IInstanceService.sol +10 -6
  305. package/contracts/instance/Instance.sol +8 -0
  306. package/contracts/instance/InstanceAdmin.sol +2 -1
  307. package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
  308. package/contracts/instance/InstanceReader.sol +15 -0
  309. package/contracts/instance/InstanceService.sol +61 -41
  310. package/contracts/instance/InstanceStore.sol +14 -14
  311. package/contracts/instance/ProductStore.sol +14 -14
  312. package/contracts/instance/RequestSet.sol +63 -0
  313. package/contracts/instance/RiskSet.sol +6 -6
  314. package/contracts/instance/TargetNames.sol +1 -0
  315. package/contracts/instance/base/ObjectSet.sol +8 -0
  316. package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
  317. package/contracts/oracle/IOracleComponent.sol +10 -0
  318. package/contracts/oracle/IOracleService.sol +5 -5
  319. package/contracts/oracle/Oracle.sol +47 -23
  320. package/contracts/oracle/OracleService.sol +26 -23
  321. package/contracts/pool/IBundleService.sol +10 -10
  322. package/contracts/shared/InstanceLinkedComponent.sol +1 -1
  323. package/contracts/type/RequestId.sol +6 -0
  324. package/package.json +1 -1
@@ -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
 
@@ -304,13 +306,11 @@ contract InstanceService is
304
306
  InstanceReader upgradedInstanceReaderClone = InstanceReader(
305
307
  Clones.clone(address(_masterInstanceReader)));
306
308
 
307
- address oldInstanceReaderAddress = address(instance.getInstanceReader());
308
309
  upgradedInstanceReaderClone.initializeWithInstance(instanceAddress);
309
310
  instance.setInstanceReader(upgradedInstanceReaderClone);
310
311
 
311
312
  emit LogInstanceServiceInstanceReaderUpgraded(
312
313
  getRegistry().getNftIdForAddress(instanceAddress),
313
- oldInstanceReaderAddress,
314
314
  address(upgradedInstanceReaderClone));
315
315
  }
316
316
 
@@ -325,49 +325,70 @@ contract InstanceService is
325
325
  if(_masterInstanceAdmin != address(0)) { revert ErrorInstanceServiceMasterInstanceAdminAlreadySet(); }
326
326
  if(_masterInstanceBundleSet != address(0)) { revert ErrorInstanceServiceMasterBundleSetAlreadySet(); }
327
327
  if(_masterInstanceRiskSet != address(0)) { revert ErrorInstanceServiceMasterRiskSetAlreadySet(); }
328
+ if(_masterInstanceRequestSet != address(0)) { revert ErrorInstanceServiceMasterRequestSetAlreadySet(); }
328
329
  if(instanceAddress == address(0)) { revert ErrorInstanceServiceInstanceAddressZero(); }
329
330
 
330
331
  {
331
332
  IInstance instance = IInstance(instanceAddress);
332
333
  address accessManagerAddress = instance.authority();
333
334
  InstanceAdmin instanceAdmin = instance.getInstanceAdmin();
334
- address instanceAdminAddress = address(instanceAdmin);
335
- InstanceReader instanceReader = instance.getInstanceReader();
336
- address instanceReaderAddress = address(instanceReader);
337
- BundleSet bundleSet = instance.getBundleSet();
338
- address bundleSetAddress = address(bundleSet);
339
- RiskSet riskSet = instance.getRiskSet();
340
- address riskSetAddress = address(riskSet);
341
- InstanceStore instanceStore = instance.getInstanceStore();
342
- address instanceStoreAddress = address(instanceStore);
343
- ProductStore productStore = instance.getProductStore();
344
- address productStoreAddress = address(productStore);
345
-
346
- if(accessManagerAddress == address(0)) { revert ErrorInstanceServiceAccessManagerZero(); }
347
- if(instanceAdminAddress == address(0)) { revert ErrorInstanceServiceInstanceAdminZero(); }
348
- if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderZero(); }
349
- if(bundleSetAddress == address(0)) { revert ErrorInstanceServiceBundleSetZero(); }
350
- if(riskSetAddress == address(0)) { revert ErrorInstanceServiceRiskSetZero(); }
351
- if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
352
- if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
353
335
 
354
- if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
355
- if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
356
- if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
357
- if(instanceStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceStoreAuthorityMismatch(); }
358
- if(productStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceProductStoreAuthorityMismatch(); }
359
- if(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
360
- if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
361
- if(instanceReader.getInstance() != instance) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch2(); }
362
-
363
- _masterAccessManager = accessManagerAddress;
364
- _masterInstanceAdmin = instanceAdminAddress;
365
- _masterInstance = instanceAddress;
366
- _masterInstanceReader = instanceReaderAddress;
367
- _masterInstanceBundleSet = bundleSetAddress;
368
- _masterInstanceRiskSet = riskSetAddress;
369
- _masterInstanceStore = instanceStoreAddress;
370
- _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
+ }
371
392
  }
372
393
 
373
394
  {
@@ -377,7 +398,7 @@ contract InstanceService is
377
398
 
378
399
  emit LogInstanceServiceMasterInstanceRegistered(
379
400
  masterInstanceNftId, _masterInstance, _masterInstanceAdmin, _masterAccessManager,
380
- _masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceStore, _masterProductStore);
401
+ _masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceRequestSet, _masterInstanceStore, _masterProductStore);
381
402
  }
382
403
  }
383
404
 
@@ -394,12 +415,10 @@ contract InstanceService is
394
415
  InstanceReader instanceReader = InstanceReader(instanceReaderAddress);
395
416
  if(instanceReader.getInstance() != IInstance(_masterInstance)) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch(); }
396
417
 
397
- address oldMasterInstanceReaderAddress = _masterInstanceReader;
398
418
  _masterInstanceReader = instanceReaderAddress;
399
419
 
400
420
  emit LogInstanceServiceMasterInstanceReaderUpgraded(
401
421
  getRegistry().getNftIdForAddress(_masterInstance),
402
- oldMasterInstanceReaderAddress,
403
422
  instanceReaderAddress);
404
423
  }
405
424
 
@@ -451,6 +470,7 @@ contract InstanceService is
451
470
  productStore: ProductStore(Clones.clone(address(_masterProductStore))),
452
471
  bundleSet: BundleSet(Clones.clone(_masterInstanceBundleSet)),
453
472
  riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
473
+ requestSet: RequestSet(Clones.clone(address(_masterInstanceRequestSet))),
454
474
  instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
455
475
  }),
456
476
  getRegistry(),
@@ -34,20 +34,20 @@ contract InstanceStore is
34
34
  BaseStore
35
35
  {
36
36
 
37
- event LogProductStoreComponentInfoCreated(NftId indexed componentNftId, StateId indexed state, address indexed createdby, address txOrigin);
38
- event LogProductStoreComponentInfoUpdated(NftId indexed componentNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
39
- event LogProductStorePoolInfoCreated(NftId indexed poolNftId, StateId indexed state, address indexed createdBy, address txOrigin);
40
- event LogProductStorePoolInfoUpdated(NftId indexed poolNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
41
- event LogProductStoreDistributorTypeInfoCreated(DistributorType indexed distributorType, StateId indexed state, address indexed createdBy, address txOrigin);
42
- event LogProductStoreDistributorTypeInfoUpdated(DistributorType indexed distributorType, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
43
- event LogProductStoreDistributorInfoCreated(NftId indexed distributorNftId, StateId indexed state, address indexed createdBy, address txOrigin);
44
- event LogProductStoreDistributorInfoUpdated(NftId indexed distributorNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
45
- event LogProductStoreReferralInfoCreated(ReferralId indexed referralId, StateId indexed state, address indexed createdBy, address txOrigin);
46
- event LogProductStoreReferralInfoUpdated(ReferralId indexed referralId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
47
- event LogProductStoreBundleInfoCreated(NftId indexed bundleNftId, StateId indexed state, address indexed createdBy, address txOrigin);
48
- event LogProductStoreBundleInfoUpdated(NftId indexed bundleNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
49
- event LogProductStoreRequestInfoCreated(RequestId indexed requestId, StateId indexed state, address indexed createdBy, address txOrigin);
50
- event LogProductStoreRequestInfoUpdated(RequestId indexed requestId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
37
+ event LogProductStoreComponentInfoCreated(NftId componentNftId, StateId state, address createdby, address txOrigin);
38
+ event LogProductStoreComponentInfoUpdated(NftId componentNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
39
+ event LogProductStorePoolInfoCreated(NftId poolNftId, StateId state, address createdBy, address txOrigin);
40
+ event LogProductStorePoolInfoUpdated(NftId poolNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
41
+ event LogProductStoreDistributorTypeInfoCreated(DistributorType distributorType, StateId state, address createdBy, address txOrigin);
42
+ event LogProductStoreDistributorTypeInfoUpdated(DistributorType distributorType, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
43
+ event LogProductStoreDistributorInfoCreated(NftId distributorNftId, StateId state, address createdBy, address txOrigin);
44
+ event LogProductStoreDistributorInfoUpdated(NftId distributorNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
45
+ event LogProductStoreReferralInfoCreated(ReferralId referralId, StateId state, address createdBy, address txOrigin);
46
+ event LogProductStoreReferralInfoUpdated(ReferralId referralId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
47
+ event LogProductStoreBundleInfoCreated(NftId bundleNftId, StateId state, address createdBy, address txOrigin);
48
+ event LogProductStoreBundleInfoUpdated(NftId bundleNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
49
+ event LogProductStoreRequestInfoCreated(RequestId requestId, StateId state, address createdBy, address txOrigin);
50
+ event LogProductStoreRequestInfoUpdated(RequestId requestId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
51
51
 
52
52
 
53
53
  mapping(Key32 => IComponents.ComponentInfo) private _components;
@@ -29,20 +29,20 @@ contract ProductStore is
29
29
  ObjectCounter,
30
30
  ObjectLifecycle
31
31
  {
32
- event LogProductStoreProductInfoCreated(NftId indexed productNftId, StateId indexed state, address indexed createdBy, address txOrigin);
33
- event LogProductStoreProductInfoUpdated(NftId indexed productNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
34
- event LogProductStoreFeeInfoCreated(NftId indexed productNftId, StateId indexed state, address indexed createdBy, address txOrigin);
35
- event LogProductStoreFeeInfoUpdated(NftId indexed productNftId, address indexed updatedBy, address indexed txOrigin, Blocknumber lastUpdatedIn);
36
- event LogProductStoreRiskInfoCreated(RiskId indexed riskId, StateId indexed state, address indexed createdBy, address txOrigin);
37
- event LogProductStoreRiskInfoUpdated(RiskId indexed riskId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
38
- event LogProductStorePolicyInfoCreated(NftId indexed policyNftId, StateId indexed state, address indexed createdBy, address txOrigin);
39
- event LogProductStorePolicyInfoUpdated(NftId indexed policyNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
40
- event LogProductStorePremiumInfoCreated(NftId indexed policyNftId, StateId indexed state, address indexed createdBy, address txOrigin);
41
- event LogProductStorePremiumInfoUpdated(NftId indexed policyNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
42
- event LogProductStoreClaimInfoCreated(NftId indexed policyNftId, ClaimId indexed claimId, StateId indexed state, address createdBy, address txOrigin);
43
- event LogProductStoreClaimInfoUpdated(NftId indexed policyNftId, ClaimId indexed claimId, StateId indexed oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
44
- event LogProductStorePayoutInfoCreated(NftId indexed policyNftId, PayoutId indexed payoutId, StateId indexed state, address createdBy, address txOrigin);
45
- event LogProductStorePayoutInfoUpdated(NftId indexed policyNftId, PayoutId indexed payoutId, StateId indexed oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
32
+ event LogProductStoreProductInfoCreated(NftId productNftId, StateId state, address createdBy, address txOrigin);
33
+ event LogProductStoreProductInfoUpdated(NftId productNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
34
+ event LogProductStoreFeeInfoCreated(NftId productNftId, StateId state, address createdBy, address txOrigin);
35
+ event LogProductStoreFeeInfoUpdated(NftId productNftId, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
36
+ event LogProductStoreRiskInfoCreated(RiskId riskId, StateId state, address createdBy, address txOrigin);
37
+ event LogProductStoreRiskInfoUpdated(RiskId riskId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
38
+ event LogProductStorePolicyInfoCreated(NftId policyNftId, StateId state, address createdBy, address txOrigin);
39
+ event LogProductStorePolicyInfoUpdated(NftId policyNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
40
+ event LogProductStorePremiumInfoCreated(NftId policyNftId, StateId state, address createdBy, address txOrigin);
41
+ event LogProductStorePremiumInfoUpdated(NftId policyNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
42
+ event LogProductStoreClaimInfoCreated(NftId policyNftId, ClaimId claimId, StateId state, address createdBy, address txOrigin);
43
+ event LogProductStoreClaimInfoUpdated(NftId policyNftId, ClaimId claimId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
44
+ event LogProductStorePayoutInfoCreated(NftId policyNftId, PayoutId payoutId, StateId state, address createdBy, address txOrigin);
45
+ event LogProductStorePayoutInfoUpdated(NftId policyNftId, PayoutId payoutId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
46
46
 
47
47
  mapping(Key32 key32 => IComponents.ProductInfo) private _products;
48
48
  mapping(Key32 key32 => IComponents.FeeInfo) private _fees;
@@ -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
+ }
@@ -13,12 +13,12 @@ contract RiskSet is
13
13
  ObjectSet
14
14
  {
15
15
 
16
- event LogRiskSetPolicyLinked(RiskId indexed riskId, NftId indexed policyNftId);
17
- event LogRiskSetPolicyUnlinked(RiskId indexed riskId, NftId indexed policyNftId);
16
+ event LogRiskSetPolicyLinked(RiskId riskId, NftId policyNftId);
17
+ event LogRiskSetPolicyUnlinked(RiskId riskId, NftId policyNftId);
18
18
 
19
- event LogRiskSetRiskAdded(NftId indexed productNftId, RiskId indexed riskId);
20
- event LogRiskSetRiskActivated(NftId indexed poolNftId, RiskId indexed riskId);
21
- event LogRiskSetRiskPaused(NftId indexed poolNftId, RiskId indexed riskId);
19
+ event LogRiskSetRiskAdded(NftId productNftId, RiskId riskId);
20
+ event LogRiskSetRiskActive(NftId poolNftId, RiskId riskId);
21
+ event LogRiskSetRiskPaused(NftId poolNftId, RiskId riskId);
22
22
 
23
23
  error ErrorRiskSetRiskLocked(RiskId riskId, NftId policyNftId);
24
24
  error ErrorRiskSetRiskUnknown(RiskId riskId);
@@ -68,7 +68,7 @@ contract RiskSet is
68
68
  function activate(RiskId riskId) external restricted() {
69
69
  NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
70
70
  _activate(productNftId, riskId.toKey32());
71
- emit LogRiskSetRiskActivated(productNftId, riskId);
71
+ emit LogRiskSetRiskActive(productNftId, riskId);
72
72
  }
73
73
 
74
74
  /// @dev Applications linked to paused/archived risks may not be underwritten
@@ -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
  }
@@ -11,11 +11,11 @@ import {Timestamp} from "../type/Timestamp.sol";
11
11
 
12
12
  interface IOracleService is IService {
13
13
 
14
- event LogOracleServiceRequestCreated(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId, Timestamp expiryAt);
15
- event LogOracleServiceResponseProcessed(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId);
16
- event LogOracleServiceDeliveryFailed(RequestId indexed requestId, address indexed requesterAddress, string indexed functionSignature);
17
- event LogOracleServiceResponseResent(RequestId indexed requestId, NftId indexed requesterNftId);
18
- event LogOracleServiceRequestCancelled(RequestId indexed requestId, NftId indexed requesterNftId);
14
+ event LogOracleServiceRequestCreated(RequestId requestId, NftId requesterNftId, NftId oracleNftId, Timestamp expiryAt);
15
+ event LogOracleServiceResponseProcessed(RequestId requestId, NftId oracleNftId);
16
+ event LogOracleServiceDeliveryFailed(RequestId requestId, address requesterAddress, string functionSignature);
17
+ event LogOracleServiceResponseResent(RequestId requestId, NftId requesterNftId);
18
+ event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
19
19
 
20
20
  // create request
21
21
  error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
@@ -2,7 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {Amount} from "../type/Amount.sol";
5
- import {COMPONENT, PRODUCT, ORACLE} from "../type/ObjectType.sol";
5
+ import {COMPONENT, ORACLE} from "../type/ObjectType.sol";
6
6
  import {IAuthorization} from "../authorization/IAuthorization.sol";
7
7
  import {IComponentService} from "../shared/IComponentService.sol";
8
8
  import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
@@ -74,7 +74,32 @@ abstract contract Oracle is
74
74
  revert ErrorOracleNotImplemented("withdrawFees");
75
75
  }
76
76
 
77
+ function activeRequests()
78
+ external
79
+ view
80
+ returns(uint256 numberOfRequests)
81
+ {
82
+ return _getInstanceReader().getActiveRequests(getNftId());
83
+ }
77
84
 
85
+
86
+ function getActiveRequest(uint256 idx)
87
+ external
88
+ view
89
+ returns(RequestId requestId)
90
+ {
91
+ return _getInstanceReader().getActiveRequestAt(getNftId(), idx);
92
+ }
93
+
94
+ function isActiveRequest(RequestId requestId)
95
+ external
96
+ view
97
+ returns(bool isActive)
98
+ {
99
+ return _getInstanceReader().isRequestActive(getNftId(), requestId);
100
+ }
101
+
102
+ // solhint-disable-next-line func-name-mixedcase
78
103
  function __Oracle_init(
79
104
  address registry,
80
105
  NftId productNftId,
@@ -102,10 +127,21 @@ abstract contract Oracle is
102
127
  _registerInterface(type(IOracleComponent).interfaceId);
103
128
  }
104
129
 
130
+ /// @dev Internal function for handling oracle responses.
131
+ /// Default implementation sends response back to oracle service.
132
+ /// Use this function in use case specific external/public functions to handle use case specific response handling.
133
+ function _respond(
134
+ RequestId requestId,
135
+ bytes memory responseData
136
+ )
137
+ internal
138
+ virtual
139
+ {
140
+ _getOracleStorage()._oracleService.respond(requestId, responseData);
141
+ }
105
142
 
106
- /// @dev Internal function for handling requests.
107
- /// Empty implementation.
108
- /// Overwrite this function to implement use case specific handling for oracle calls.
143
+ /// @dev use case specific handling of oracle requests
144
+ /// for now only log is emitted to verify that request has been received by oracle component
109
145
  function _request(
110
146
  RequestId requestId,
111
147
  NftId requesterId,
@@ -113,38 +149,26 @@ abstract contract Oracle is
113
149
  Timestamp expiryAt
114
150
  )
115
151
  internal
116
- virtual
152
+ virtual
117
153
  {
154
+ emit LogOracleRequestReceived(requestId, requesterId);
118
155
  }
119
156
 
120
157
 
121
- /// @dev Internal function for cancelling requests.
122
- /// Empty implementation.
123
- /// Overwrite this function to implement use case specific cancelling.
158
+ /// @dev use case specific handling of oracle requests
159
+ /// for now only log is emitted to verify that cancelling has been received by oracle component
124
160
  function _cancel(
125
161
  RequestId requestId
126
162
  )
127
163
  internal
128
- virtual
129
- {
130
- }
131
-
132
-
133
- /// @dev Internal function for handling oracle responses.
134
- /// Default implementation sends response back to oracle service.
135
- /// Use this function in use case specific external/public functions to handle use case specific response handling.
136
- function _respond(
137
- RequestId requestId,
138
- bytes memory responseData
139
- )
140
- internal
141
- virtual
164
+ virtual
142
165
  {
143
- _getOracleStorage()._oracleService.respond(requestId, responseData);
166
+ emit LogOracleRequestCancelled(requestId);
144
167
  }
145
168
 
146
169
 
147
170
  function _getOracleStorage() private pure returns (OracleStorage storage $) {
171
+ // solhint-disable-next-line no-inline-assembly
148
172
  assembly {
149
173
  $.slot := ORACLE_STORAGE_LOCATION_V1
150
174
  }