@etherisc/gif-next 3.0.0-9bc1abd-389 → 3.0.0-9db267a-850

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 (322) 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 +50 -93
  49. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  50. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +2 -2
  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 +118 -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 +16 -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 +2 -2
  89. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  90. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
  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 +36 -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 +351 -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/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  109. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  110. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  111. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +38 -2
  113. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  114. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  115. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  116. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  117. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  118. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +130 -74
  121. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  123. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  124. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  125. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +65 -57
  126. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  127. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +68 -60
  129. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
  131. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
  133. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  134. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +0 -75
  135. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  136. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  137. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
  139. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
  141. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  142. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  143. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +0 -75
  144. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  145. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  146. package/artifacts/contracts/pool/Pool.sol/Pool.json +0 -75
  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/BasicProduct.sol/BasicProduct.json +0 -75
  159. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  160. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  161. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  162. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +36 -36
  163. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +19 -19
  165. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  166. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  167. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  169. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  170. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +0 -75
  171. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  173. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
  174. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  176. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  177. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
  178. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  179. package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
  180. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  181. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  182. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  183. package/artifacts/contracts/product/Product.sol/Product.json +0 -75
  184. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  185. package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
  186. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  187. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +2 -2
  188. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  193. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.json +34 -30
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -27
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2 -2
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  212. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  213. package/artifacts/contracts/shared/Component.sol/Component.json +0 -75
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +2 -58
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +2 -2
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  222. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +0 -75
  224. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -75
  226. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +0 -56
  228. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +0 -75
  230. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  231. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  236. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  237. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  238. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -75
  239. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  240. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  241. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  242. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  243. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  248. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  249. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  250. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +0 -75
  251. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  252. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +0 -212
  253. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  254. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  255. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -77
  256. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  257. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  258. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  259. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  260. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  261. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  262. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  263. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -214
  264. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  265. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  266. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  267. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  268. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  269. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  270. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  271. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  272. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  273. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  278. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  280. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  281. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  282. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  283. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  288. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  299. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  300. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  301. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  302. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  303. package/contracts/distribution/IDistributionComponent.sol +0 -2
  304. package/contracts/examples/flight/FlightOracle.sol +0 -84
  305. package/contracts/examples/flight/FlightProduct.sol +2 -2
  306. package/contracts/examples/flight/FlightProductAuthorization.sol +1 -1
  307. package/contracts/instance/IInstance.sol +3 -0
  308. package/contracts/instance/IInstanceService.sol +3 -1
  309. package/contracts/instance/Instance.sol +7 -0
  310. package/contracts/instance/InstanceService.sol +59 -37
  311. package/contracts/instance/RequestSet.sol +47 -0
  312. package/contracts/instance/base/ObjectSet.sol +8 -0
  313. package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
  314. package/contracts/oracle/IOracleComponent.sol +10 -0
  315. package/contracts/oracle/Oracle.sol +73 -21
  316. package/contracts/registry/Registry.sol +4 -2
  317. package/contracts/registry/RegistryAuthorization.sol +0 -2
  318. package/contracts/shared/IComponent.sol +0 -4
  319. package/contracts/shared/IComponentService.sol +0 -2
  320. package/contracts/shared/InstanceLinkedComponent.sol +1 -1
  321. package/contracts/staking/IStakingService.sol +0 -9
  322. package/package.json +1 -1
@@ -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,6 +39,7 @@ 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
 
@@ -59,7 +61,7 @@ interface IInstanceService is IService {
59
61
  event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
60
62
  event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
61
63
  event LogInstanceServiceMasterInstanceRegistered(NftId masterInstanceNftId, address masterInstance, address masterInstanceAdmin, address masterAccessManager,
62
- address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceStore, address masterProductStore);
64
+ address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceRequestSet, address masterInstanceStore, address masterProductStore);
63
65
  event LogInstanceServiceMasterInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
64
66
  event LogInstanceServiceInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
65
67
 
@@ -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
@@ -333,6 +336,10 @@ contract Instance is
333
336
  return _riskSet;
334
337
  }
335
338
 
339
+ function getRequestSet() external view returns (RequestSet) {
340
+ return _requestSet;
341
+ }
342
+
336
343
  function getInstanceAdmin() external view returns (InstanceAdmin) {
337
344
  return _instanceAdmin;
338
345
  }
@@ -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,68 @@ 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
335
+
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);
351
361
 
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;
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(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
368
+ if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
369
+
370
+ _masterInstanceBundleSet = bundleSetAddress;
371
+ _masterInstanceRiskSet = riskSetAddress;
372
+ _masterInstanceRequestSet = requestSetAddress;
373
+ }
374
+
375
+ {
376
+ InstanceStore instanceStore = instance.getInstanceStore();
377
+ address instanceStoreAddress = address(instanceStore);
378
+ ProductStore productStore = instance.getProductStore();
379
+ address productStoreAddress = address(productStore);
380
+
381
+ if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
382
+ if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
383
+
384
+ if(instanceStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceStoreAuthorityMismatch(); }
385
+ if(productStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceProductStoreAuthorityMismatch(); }
386
+
387
+ _masterInstanceStore = instanceStoreAddress;
388
+ _masterProductStore = productStoreAddress;
389
+ }
369
390
  }
370
391
 
371
392
  {
@@ -375,7 +396,7 @@ contract InstanceService is
375
396
 
376
397
  emit LogInstanceServiceMasterInstanceRegistered(
377
398
  masterInstanceNftId, _masterInstance, _masterInstanceAdmin, _masterAccessManager,
378
- _masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceStore, _masterProductStore);
399
+ _masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceRequestSet, _masterInstanceStore, _masterProductStore);
379
400
  }
380
401
  }
381
402
 
@@ -447,6 +468,7 @@ contract InstanceService is
447
468
  productStore: ProductStore(Clones.clone(address(_masterProductStore))),
448
469
  bundleSet: BundleSet(Clones.clone(_masterInstanceBundleSet)),
449
470
  riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
471
+ requestSet: RequestSet(Clones.clone(address(_masterInstanceRequestSet))),
450
472
  instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
451
473
  }),
452
474
  getRegistry(),
@@ -0,0 +1,47 @@
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} 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
+ }
@@ -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
  }
@@ -8,9 +8,11 @@ import {IComponentService} from "../shared/IComponentService.sol";
8
8
  import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
9
9
  import {IOracleComponent} from "./IOracleComponent.sol";
10
10
  import {IOracleService} from "./IOracleService.sol";
11
+ import {LibRequestIdSet} from "../type/RequestIdSet.sol";
11
12
  import {NftId} from "../type/NftId.sol";
12
13
  import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
13
14
  import {RequestId} from "../type/RequestId.sol";
15
+ import {FULFILLED} from "../type/StateId.sol";
14
16
  import {Timestamp} from "../type/Timestamp.sol";
15
17
 
16
18
 
@@ -21,6 +23,10 @@ abstract contract Oracle is
21
23
  // keccak256(abi.encode(uint256(keccak256("etherisc.storage.Oracle")) - 1)) & ~bytes32(uint256(0xff));
22
24
  bytes32 public constant ORACLE_STORAGE_LOCATION_V1 = 0xaab7c0ea03d290e56d6c060e0733d3ebcbe647f7694616a2ec52738a64b2f900;
23
25
 
26
+ // TODO decide if this variable should be moved to instance store
27
+ // if so it need to manage active requests by requestor nft id
28
+ LibRequestIdSet.Set internal _activeRequests;
29
+
24
30
  struct OracleStorage {
25
31
  IComponentService _componentService;
26
32
  IOracleService _oracleService;
@@ -74,6 +80,33 @@ abstract contract Oracle is
74
80
  revert ErrorOracleNotImplemented("withdrawFees");
75
81
  }
76
82
 
83
+ // TODO decide if the code below should be moved to GIF
84
+ function activeRequests()
85
+ external
86
+ view
87
+ returns(uint256 numberOfRequests)
88
+ {
89
+ return LibRequestIdSet.size(_activeRequests);
90
+ }
91
+
92
+
93
+ // TODO decide if the code below should be moved to GIF
94
+ function getActiveRequest(uint256 idx)
95
+ external
96
+ view
97
+ returns(RequestId requestId)
98
+ {
99
+ return LibRequestIdSet.getElementAt(_activeRequests, idx);
100
+ }
101
+
102
+ // TODO decide if the code below should be moved to GIF
103
+ function isActiveRequest(RequestId requestId)
104
+ external
105
+ view
106
+ returns(bool isActive)
107
+ {
108
+ return LibRequestIdSet.contains(_activeRequests, requestId);
109
+ }
77
110
 
78
111
  function __Oracle_init(
79
112
  address registry,
@@ -102,45 +135,64 @@ abstract contract Oracle is
102
135
  _registerInterface(type(IOracleComponent).interfaceId);
103
136
  }
104
137
 
105
-
106
- /// @dev Internal function for handling requests.
107
- /// Empty implementation.
108
- /// Overwrite this function to implement use case specific handling for oracle calls.
109
- function _request(
138
+ /// @dev Internal function for handling oracle responses.
139
+ /// Default implementation sends response back to oracle service.
140
+ /// Use this function in use case specific external/public functions to handle use case specific response handling.
141
+ function _respond(
110
142
  RequestId requestId,
111
- NftId requesterId,
112
- bytes calldata requestData,
113
- Timestamp expiryAt
143
+ bytes memory responseData
114
144
  )
115
145
  internal
116
146
  virtual
117
147
  {
148
+ _getOracleStorage()._oracleService.respond(requestId, responseData);
118
149
  }
119
150
 
120
-
121
- /// @dev Internal function for cancelling requests.
122
- /// Empty implementation.
123
- /// Overwrite this function to implement use case specific cancelling.
124
- function _cancel(
151
+ // TODO decide if the code below should be moved to GIF
152
+ // check callback result
153
+ function _updateRequestState(
125
154
  RequestId requestId
126
155
  )
127
156
  internal
128
- virtual
129
157
  {
158
+ bool requestFulfilled = _getInstanceReader().getRequestState(
159
+ requestId) == FULFILLED();
160
+
161
+ // remove from active requests when successful
162
+ if (requestFulfilled && LibRequestIdSet.contains(_activeRequests, requestId)) {
163
+ LibRequestIdSet.remove(_activeRequests, requestId);
164
+ }
130
165
  }
131
166
 
132
167
 
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(
168
+ /// @dev use case specific handling of oracle requests
169
+ /// for now only log is emitted to verify that request has been received by oracle component
170
+ function _request(
137
171
  RequestId requestId,
138
- bytes memory responseData
172
+ NftId requesterId,
173
+ bytes calldata requestData,
174
+ Timestamp expiryAt
139
175
  )
140
176
  internal
141
- virtual
177
+ virtual
142
178
  {
143
- _getOracleStorage()._oracleService.respond(requestId, responseData);
179
+ // TODO decide if the line below should be moved to GIF
180
+ LibRequestIdSet.add(_activeRequests, requestId);
181
+ emit LogOracleRequestReceived(requestId, requesterId);
182
+ }
183
+
184
+
185
+ /// @dev use case specific handling of oracle requests
186
+ /// for now only log is emitted to verify that cancelling has been received by oracle component
187
+ function _cancel(
188
+ RequestId requestId
189
+ )
190
+ internal
191
+ virtual
192
+ {
193
+ // TODO decide if the line below should be moved to GIF
194
+ LibRequestIdSet.remove(_activeRequests, requestId);
195
+ emit LogOracleRequestCancelled(requestId);
144
196
  }
145
197
 
146
198
 
@@ -2,7 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
6
5
  import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
7
6
  import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
8
7
 
@@ -16,7 +15,6 @@ import {IRelease} from "./IRelease.sol";
16
15
  import {IRegisterable} from "../shared/IRegisterable.sol";
17
16
  import {IStaking} from "../staking/IStaking.sol";
18
17
  import {ReleaseRegistry} from "./ReleaseRegistry.sol";
19
- import {TokenRegistry} from "./TokenRegistry.sol";
20
18
  import {RegistryAdmin} from "./RegistryAdmin.sol";
21
19
 
22
20
  /// @dev IMPORTANT
@@ -566,6 +564,8 @@ contract Registry is
566
564
  initialOwner: NFT_LOCK_ADDRESS,
567
565
  data: ""}),
568
566
  true);
567
+
568
+ emit LogRegistryObjectRegistered(protocolNftId, NftIdLib.zero(), PROTOCOL(), false, address(0), NFT_LOCK_ADDRESS);
569
569
  }
570
570
 
571
571
  /// @dev register this registry
@@ -671,6 +671,8 @@ contract Registry is
671
671
 
672
672
  // calls nft receiver
673
673
  CHAIN_NFT.mint(info.initialOwner, info.nftId.toInt());
674
+
675
+ emit LogRegistryObjectRegistered(info.nftId, info.parentNftId, info.objectType, info.isInterceptor, info.objectAddress, info.initialOwner);
674
676
  }
675
677
 
676
678
  function _setAddressForNftId(NftId nftId, address objectAddress)
@@ -144,8 +144,6 @@ contract RegistryAuthorization
144
144
  _setupStakingThAuthorization();
145
145
  }
146
146
 
147
- event LogAccessAdminDebug(string message, string custom, uint256 value);
148
-
149
147
  function _setupRegistryAuthorization() internal {
150
148
  IAccess.FunctionInfo[] storage functions;
151
149
 
@@ -25,10 +25,6 @@ interface IComponent is
25
25
  error ErrorComponentWalletAddressIsSameAsCurrent();
26
26
  error ErrorComponentWalletNotComponent();
27
27
 
28
- event LogComponentWalletAddressChanged(address oldWallet, address newWallet);
29
- event LogComponentWalletTokensTransferred(address from, address to, uint256 amount);
30
- event LogComponentTokenHandlerApproved(address tokenHandler, address token, Amount limit, bool isMaxAmount);
31
-
32
28
  /// @dev returns the name of this component
33
29
  /// to successfully register the component with an instance the name MUST be unique in the linked instance
34
30
  function getName() external view returns (string memory name);
@@ -48,8 +48,6 @@ interface IComponentService is
48
48
  event LogComponentServiceComponentLocked(address component, bool locked);
49
49
  event LogComponentServiceTokenHandlerDeployed(NftId componentNftId, address tokenHandler, address token);
50
50
  event LogComponentServiceRegistered(NftId instanceNftId, NftId componentNftId, ObjectType componentType, address component, address token, address initialOwner);
51
- event LogComponentServiceWalletAddressChanged(NftId componentNftId, address currentWallet, address newWallet);
52
- event LogComponentServiceWalletTokensTransferred(NftId componentNftId, address currentWallet, address newWallet, uint256 currentBalance);
53
51
  event LogComponentServiceComponentFeesWithdrawn(NftId componentNftId, address recipient, address token, Amount withdrawnAmount);
54
52
  event LogComponentServiceProductFeesUpdated(NftId productNftId);
55
53
  event LogComponentServiceDistributionFeesUpdated(NftId distributionNftId);
@@ -92,7 +92,7 @@ abstract contract InstanceLinkedComponent is
92
92
  }
93
93
 
94
94
 
95
- function _resendRequest(RequestId requestId)
95
+ function _resendResponse(RequestId requestId)
96
96
  internal
97
97
  virtual
98
98
  {
@@ -18,20 +18,11 @@ interface IStakingService is IService
18
18
 
19
19
  event LogStakingServiceProtocolTargetRegistered(NftId protocolNftId);
20
20
  event LogStakingServiceInstanceTargetRegistered(NftId instanceNftId, uint256 chainId, Seconds initialLockingPeriod, UFixed initialRewardRate);
21
- event LogStakingServiceLockingPeriodSet(NftId targetNftId, Seconds oldLockingDuration, Seconds lockingDuration);
22
- event LogStakingServiceRewardRateSet(NftId targetNftId, UFixed oldRewardRate, UFixed rewardRate);
23
21
 
24
22
  event LogStakingServiceRewardReservesIncreased(NftId targetNftId, address rewardProvider, Amount dipAmount, Amount newBalance);
25
23
  event LogStakingServiceRewardReservesDecreased(NftId targetNftId, address targetOwner, Amount dipAmount, Amount newBalance);
26
24
 
27
25
  event LogStakingServiceStakeObjectCreated(NftId stakeNftId, NftId targetNftId, address stakeOwner);
28
- event LogStakingServiceStakeCreated(NftId stakeNftId, NftId targetNftId, address owner, Amount stakedAmount);
29
- event LogStakingServiceStakeIncreased(NftId stakeNftId, address owner, Amount stakedAmount, Amount stakeBalance);
30
- event LogStakingServiceUnstaked(NftId stakeNftId, address stakeOwner, Amount totalAmount);
31
- event LogStakingServiceStakeRestaked(address stakeOwner, NftId indexed stakeNftId, NftId newStakeNftId, NftId indexed newTargetNftId, Amount indexed newStakeBalance);
32
-
33
- event LogStakingServiceRewardsUpdated(NftId stakeNftId);
34
- event LogStakingServiceRewardsClaimed(NftId stakeNftId, address stakeOwner, Amount rewardsClaimedAmount);
35
26
 
36
27
  // modifiers
37
28
  error ErrorStakingServiceNotStakingOwner(address account);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "3.0.0-9bc1abd-389",
3
+ "version": "3.0.0-9db267a-850",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {