@etherisc/gif-next 3.0.0-9db267a-850 → 3.0.0-9db9ac5-352

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 (294) 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/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  15. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  16. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -2
  17. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  18. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  19. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  20. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
  22. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
  24. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  26. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  27. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  28. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +2 -2
  29. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  30. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
  31. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  32. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2 -2
  33. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  34. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +2 -2
  35. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  36. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
  37. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +2 -2
  38. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
  39. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +1 -1
  40. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +2 -2
  41. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
  42. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +22 -99
  43. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +20 -20
  45. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
  46. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +2 -2
  47. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +2 -2
  49. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
  50. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2 -2
  51. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
  52. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +2 -2
  53. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +1 -1
  54. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +2 -2
  55. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
  56. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +2 -2
  59. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  60. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
  61. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +18 -50
  63. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  64. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +2 -2
  65. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  66. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  68. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2 -2
  69. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
  71. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  72. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  73. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  74. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  75. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  76. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  77. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +10 -0
  78. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  79. package/artifacts/contracts/instance/Instance.sol/Instance.json +10 -10
  80. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +76 -76
  82. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +21 -21
  84. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +103 -36
  86. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +30 -20
  88. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  89. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +11 -11
  90. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  91. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  92. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  93. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  94. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +129 -14
  96. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  98. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  99. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  100. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  101. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  102. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  103. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  104. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  105. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  106. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  107. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  108. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  109. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  110. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  111. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +14 -62
  114. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  116. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +38 -38
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +20 -20
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  148. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +2 -2
  150. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +2 -2
  152. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  153. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  157. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
  160. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  161. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  162. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
  164. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  165. package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
  166. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  167. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  168. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  170. package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +2 -2
  173. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  176. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  178. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  180. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  181. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
  182. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  183. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  188. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  196. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  197. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +2 -2
  199. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +2 -2
  201. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  202. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  203. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  204. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  206. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  207. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  208. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  210. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  212. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  213. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  214. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  216. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  217. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  218. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  219. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  220. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  221. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  222. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  226. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  227. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  228. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  229. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  230. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  231. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
  232. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  233. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  234. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  235. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  236. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  237. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  238. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  239. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
  240. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  241. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  242. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  243. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  244. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  245. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  246. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  247. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  248. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  249. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  256. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  257. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  259. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  261. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  263. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
  264. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  265. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  266. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  267. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  277. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  278. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  279. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  280. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  281. package/contracts/examples/flight/FlightOracle.sol +0 -13
  282. package/contracts/examples/flight/FlightOracleAuthorization.sol +2 -3
  283. package/contracts/instance/IInstanceService.sol +2 -0
  284. package/contracts/instance/Instance.sol +1 -0
  285. package/contracts/instance/InstanceAdmin.sol +2 -1
  286. package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
  287. package/contracts/instance/InstanceReader.sol +15 -0
  288. package/contracts/instance/InstanceService.sol +3 -1
  289. package/contracts/instance/RequestSet.sol +17 -1
  290. package/contracts/instance/TargetNames.sol +1 -0
  291. package/contracts/oracle/Oracle.sol +6 -34
  292. package/contracts/oracle/OracleService.sol +25 -22
  293. package/contracts/type/RequestId.sol +6 -0
  294. package/package.json +1 -1
@@ -13,7 +13,7 @@ import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
13
13
  import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
14
14
  import {Str} from "../type/String.sol";
15
15
  import {VersionPart} from "../type/Version.sol";
16
- import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
16
+ import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME, REQUEST_SET_TARGET_NAME} from "./TargetNames.sol";
17
17
 
18
18
 
19
19
  contract InstanceAdmin is
@@ -123,6 +123,7 @@ contract InstanceAdmin is
123
123
  _createInstanceTarget(address(_instance.getProductStore()), PRODUCT_STORE_TARGET_NAME);
124
124
  _createInstanceTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
125
125
  _createInstanceTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
126
+ _createInstanceTarget(address(_instance.getRequestSet()), REQUEST_SET_TARGET_NAME);
126
127
  }
127
128
 
128
129
 
@@ -10,9 +10,10 @@ import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION
10
10
  import {BundleSet} from "../instance/BundleSet.sol";
11
11
  import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
12
12
  import {InstanceStore} from "../instance/InstanceStore.sol";
13
- import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
13
+ import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME, REQUEST_SET_TARGET_NAME} from "./TargetNames.sol";
14
14
  import {ProductStore} from "../instance/ProductStore.sol";
15
15
  import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
16
+ import {RequestSet} from "../instance/RequestSet.sol";
16
17
  import {RiskSet} from "../instance/RiskSet.sol";
17
18
 
18
19
 
@@ -71,6 +72,7 @@ contract InstanceAuthorizationV3
71
72
  _addInstanceTarget(PRODUCT_STORE_TARGET_NAME);
72
73
  _addInstanceTarget(BUNDLE_SET_TARGET_NAME);
73
74
  _addInstanceTarget(RISK_SET_TARGET_NAME);
75
+ _addInstanceTarget(REQUEST_SET_TARGET_NAME);
74
76
  }
75
77
 
76
78
 
@@ -84,6 +86,18 @@ contract InstanceAuthorizationV3
84
86
  _setupProductStoreAuthorization();
85
87
  _setupBundleSetAuthorization();
86
88
  _setUpRiskSetAuthorization();
89
+ _setUpRequestIdSetAuthorization();
90
+ }
91
+
92
+ function _setUpRequestIdSetAuthorization()
93
+ internal
94
+ {
95
+ IAccess.FunctionInfo[] storage functions;
96
+
97
+ // authorize oracle service role
98
+ functions = _authorizeForTarget(REQUEST_SET_TARGET_NAME, getServiceRole(ORACLE()));
99
+ _authorize(functions, RequestSet.add.selector, "add");
100
+ _authorize(functions, RequestSet.remove.selector, "remove");
87
101
  }
88
102
 
89
103
 
@@ -30,6 +30,7 @@ import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
30
30
  import {ProductStore} from "./ProductStore.sol";
31
31
  import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
32
32
  import {RequestId} from "../type/RequestId.sol";
33
+ import {RequestSet} from "./RequestSet.sol";
33
34
  import {RiskId} from "../type/RiskId.sol";
34
35
  import {RiskSet} from "./RiskSet.sol";
35
36
  import {RoleId, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
@@ -56,6 +57,7 @@ contract InstanceReader {
56
57
  ProductStore internal _productStore;
57
58
  BundleSet internal _bundleSet;
58
59
  RiskSet internal _riskSet;
60
+ RequestSet internal _requestSet;
59
61
  IDistributionService internal _distributionService;
60
62
 
61
63
  /// @dev This initializer needs to be called from the instance itself.
@@ -85,6 +87,7 @@ contract InstanceReader {
85
87
  _productStore = _instance.getProductStore();
86
88
  _bundleSet = _instance.getBundleSet();
87
89
  _riskSet = _instance.getRiskSet();
90
+ _requestSet = _instance.getRequestSet();
88
91
  _distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
89
92
  }
90
93
 
@@ -366,6 +369,18 @@ contract InstanceReader {
366
369
  return getState(requestId.toKey32());
367
370
  }
368
371
 
372
+ function getActiveRequests(NftId oracleNftId) external view returns(uint256 numberOfRequests) {
373
+ return _requestSet.activeRequests(oracleNftId);
374
+ }
375
+
376
+ function getActiveRequestAt(NftId oracleNftId, uint256 idx) external view returns(RequestId requestId) {
377
+ return _requestSet.activeRequestAt(oracleNftId, idx);
378
+ }
379
+
380
+ function isRequestActive(NftId oracleNftId, RequestId requestId) external view returns(bool isActive) {
381
+ return _requestSet.contains(oracleNftId, requestId);
382
+ }
383
+
369
384
  //--- pool functions -----------------------------------------------------------//
370
385
 
371
386
  /// @dev Returns the pool info for the given pool NFT ID.
@@ -332,7 +332,7 @@ contract InstanceService is
332
332
  IInstance instance = IInstance(instanceAddress);
333
333
  address accessManagerAddress = instance.authority();
334
334
  InstanceAdmin instanceAdmin = instance.getInstanceAdmin();
335
-
335
+
336
336
  {
337
337
  address instanceAdminAddress = address(instanceAdmin);
338
338
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -364,8 +364,10 @@ contract InstanceService is
364
364
  if(requestSetAddress == address(0)) { revert ErrorInstanceServiceRequestSetZero(); }
365
365
  if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
366
366
  if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
367
+ if(requestSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRequestSetAuthorityMismatch(); }
367
368
  if(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
368
369
  if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
370
+ if(requestSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRequestSetInstanceMismatch(); }
369
371
 
370
372
  _masterInstanceBundleSet = bundleSetAddress;
371
373
  _masterInstanceRiskSet = riskSetAddress;
@@ -9,7 +9,7 @@ import {LibRequestIdSet} from "../type/RequestIdSet.sol";
9
9
  import {NftId} from "../type/NftId.sol";
10
10
  import {ObjectSet} from "./base/ObjectSet.sol";
11
11
  import {ObjectSetHelperLib} from "./base/ObjectSetHelperLib.sol";
12
- import {RequestId} from "../type/RequestId.sol";
12
+ import {RequestId, RequestIdLib} from "../type/RequestId.sol";
13
13
 
14
14
  contract RequestSet is
15
15
  ObjectSet
@@ -44,4 +44,20 @@ contract RequestSet is
44
44
  function _toRequestKey32(RequestId requestId) private pure returns (Key32) {
45
45
  return requestId.toKey32();
46
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
+ }
47
63
  }
@@ -7,4 +7,5 @@ string constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
7
7
  string constant PRODUCT_STORE_TARGET_NAME = "ProductStore";
8
8
  string constant BUNDLE_SET_TARGET_NAME = "BundleSet";
9
9
  string constant RISK_SET_TARGET_NAME = "RiskSet";
10
+ string constant REQUEST_SET_TARGET_NAME = "RequestSet";
10
11
 
@@ -2,17 +2,15 @@
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";
9
9
  import {IOracleComponent} from "./IOracleComponent.sol";
10
10
  import {IOracleService} from "./IOracleService.sol";
11
- import {LibRequestIdSet} from "../type/RequestIdSet.sol";
12
11
  import {NftId} from "../type/NftId.sol";
13
12
  import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
14
13
  import {RequestId} from "../type/RequestId.sol";
15
- import {FULFILLED} from "../type/StateId.sol";
16
14
  import {Timestamp} from "../type/Timestamp.sol";
17
15
 
18
16
 
@@ -23,10 +21,6 @@ abstract contract Oracle is
23
21
  // keccak256(abi.encode(uint256(keccak256("etherisc.storage.Oracle")) - 1)) & ~bytes32(uint256(0xff));
24
22
  bytes32 public constant ORACLE_STORAGE_LOCATION_V1 = 0xaab7c0ea03d290e56d6c060e0733d3ebcbe647f7694616a2ec52738a64b2f900;
25
23
 
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
-
30
24
  struct OracleStorage {
31
25
  IComponentService _componentService;
32
26
  IOracleService _oracleService;
@@ -80,34 +74,32 @@ abstract contract Oracle is
80
74
  revert ErrorOracleNotImplemented("withdrawFees");
81
75
  }
82
76
 
83
- // TODO decide if the code below should be moved to GIF
84
77
  function activeRequests()
85
78
  external
86
79
  view
87
80
  returns(uint256 numberOfRequests)
88
81
  {
89
- return LibRequestIdSet.size(_activeRequests);
82
+ return _getInstanceReader().getActiveRequests(getNftId());
90
83
  }
91
84
 
92
85
 
93
- // TODO decide if the code below should be moved to GIF
94
86
  function getActiveRequest(uint256 idx)
95
87
  external
96
88
  view
97
89
  returns(RequestId requestId)
98
90
  {
99
- return LibRequestIdSet.getElementAt(_activeRequests, idx);
91
+ return _getInstanceReader().getActiveRequestAt(getNftId(), idx);
100
92
  }
101
93
 
102
- // TODO decide if the code below should be moved to GIF
103
94
  function isActiveRequest(RequestId requestId)
104
95
  external
105
96
  view
106
97
  returns(bool isActive)
107
98
  {
108
- return LibRequestIdSet.contains(_activeRequests, requestId);
99
+ return _getInstanceReader().isRequestActive(getNftId(), requestId);
109
100
  }
110
101
 
102
+ // solhint-disable-next-line func-name-mixedcase
111
103
  function __Oracle_init(
112
104
  address registry,
113
105
  NftId productNftId,
@@ -148,23 +140,6 @@ abstract contract Oracle is
148
140
  _getOracleStorage()._oracleService.respond(requestId, responseData);
149
141
  }
150
142
 
151
- // TODO decide if the code below should be moved to GIF
152
- // check callback result
153
- function _updateRequestState(
154
- RequestId requestId
155
- )
156
- internal
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
- }
165
- }
166
-
167
-
168
143
  /// @dev use case specific handling of oracle requests
169
144
  /// for now only log is emitted to verify that request has been received by oracle component
170
145
  function _request(
@@ -176,8 +151,6 @@ abstract contract Oracle is
176
151
  internal
177
152
  virtual
178
153
  {
179
- // TODO decide if the line below should be moved to GIF
180
- LibRequestIdSet.add(_activeRequests, requestId);
181
154
  emit LogOracleRequestReceived(requestId, requesterId);
182
155
  }
183
156
 
@@ -190,13 +163,12 @@ abstract contract Oracle is
190
163
  internal
191
164
  virtual
192
165
  {
193
- // TODO decide if the line below should be moved to GIF
194
- LibRequestIdSet.remove(_activeRequests, requestId);
195
166
  emit LogOracleRequestCancelled(requestId);
196
167
  }
197
168
 
198
169
 
199
170
  function _getOracleStorage() private pure returns (OracleStorage storage $) {
171
+ // solhint-disable-next-line no-inline-assembly
200
172
  assembly {
201
173
  $.slot := ORACLE_STORAGE_LOCATION_V1
202
174
  }
@@ -2,16 +2,14 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {ContractLib} from "../shared/ContractLib.sol";
5
- import {IComponent} from "../shared/IComponent.sol";
6
5
  import {IInstance} from "../instance/IInstance.sol";
7
- import {IInstanceService} from "../instance/IInstanceService.sol";
8
6
  import {InstanceReader} from "../instance/InstanceReader.sol";
9
7
  import {IOracle} from "./IOracle.sol";
10
8
  import {IOracleComponent} from "./IOracleComponent.sol";
11
9
  import {IOracleService} from "./IOracleService.sol";
12
10
  import {IRegistry} from "../registry/IRegistry.sol";
13
11
  import {NftId} from "../type/NftId.sol";
14
- import {ObjectType, COMPONENT, ORACLE, PRODUCT} from "../type/ObjectType.sol";
12
+ import {ObjectType, ORACLE, PRODUCT} from "../type/ObjectType.sol";
15
13
  import {RequestId} from "../type/RequestId.sol";
16
14
  import {Service} from "../shared/Service.sol";
17
15
  import {StateId, ACTIVE, KEEP_STATE, FULFILLED, FAILED, CANCELLED} from "../type/StateId.sol";
@@ -56,7 +54,7 @@ contract OracleService is
56
54
  // get and check active caller
57
55
  (
58
56
  IRegistry.ObjectInfo memory requesterInfo,
59
- address instance
57
+ address instanceAddress
60
58
  ) = ContractLib.getAndVerifyAnyComponent(
61
59
  getRegistry(), msg.sender, true);
62
60
 
@@ -69,7 +67,7 @@ contract OracleService is
69
67
  // effects
70
68
  {
71
69
  // create request info
72
- IOracle.RequestInfo memory request = IOracle.RequestInfo({
70
+ IOracle.RequestInfo memory requestInfo = IOracle.RequestInfo({
73
71
  requesterNftId: requesterNftId,
74
72
  callbackMethodName: callbackMethodName,
75
73
  oracleNftId: oracleNftId,
@@ -80,8 +78,9 @@ contract OracleService is
80
78
  isCancelled: false
81
79
  });
82
80
 
83
- // store request with instance
84
- requestId = IInstance(instance).getInstanceStore().createRequest(request);
81
+ // store request with instance
82
+ requestId = IInstance(instanceAddress).getInstanceStore().createRequest(requestInfo);
83
+ IInstance(instanceAddress).getRequestSet().add(oracleNftId, requestId);
85
84
  }
86
85
 
87
86
  emit LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt);
@@ -116,22 +115,23 @@ contract OracleService is
116
115
  NftId oracleNftId = info.nftId;
117
116
  IInstance instance = IInstance(instanceAddress);
118
117
  bool callerIsOracle = true;
119
- IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
120
- request.responseData = responseData;
121
- request.respondedAt = TimestampLib.current();
118
+ IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
119
+ requestInfo.responseData = responseData;
120
+ requestInfo.respondedAt = TimestampLib.current();
122
121
 
123
122
  instance.getInstanceStore().updateRequest(
124
- requestId, request, KEEP_STATE());
123
+ requestId, requestInfo, KEEP_STATE());
125
124
 
126
125
  IRegistry.ObjectInfo memory requesterInfo = getRegistry().getObjectInfo(
127
- request.requesterNftId);
126
+ requestInfo.requesterNftId);
128
127
 
129
128
  string memory functionSignature = string(
130
129
  abi.encodePacked(
131
- request.callbackMethodName,
130
+ requestInfo.callbackMethodName,
132
131
  "(uint64,bytes)"
133
132
  ));
134
133
 
134
+ // solhint-disable-next-line avoid-low-level-calls
135
135
  (success, ) = requesterInfo.objectAddress.call(
136
136
  abi.encodeWithSignature(
137
137
  functionSignature,
@@ -141,6 +141,7 @@ contract OracleService is
141
141
  // check that calling requestor was successful
142
142
  if (success) {
143
143
  instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
144
+ instance.getRequestSet().remove(oracleNftId, requestId);
144
145
  } else {
145
146
  instance.getInstanceStore().updateRequestState(requestId, FAILED());
146
147
  emit LogOracleServiceDeliveryFailed(requestId, requesterInfo.objectAddress, functionSignature);
@@ -164,24 +165,26 @@ contract OracleService is
164
165
  NftId requesterNftId = info.nftId;
165
166
  IInstance instance = IInstance(instanceAddress);
166
167
  bool callerIsOracle = false;
167
- IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
168
+ IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
168
169
 
169
170
  // attempt to deliver response to requester
170
171
  string memory functionSignature = string(
171
172
  abi.encodePacked(
172
- request.callbackMethodName,
173
+ requestInfo.callbackMethodName,
173
174
  "(uint64,bytes)"
174
175
  ));
175
176
 
176
- (bool success, bytes memory returnData) = info.objectAddress.call(
177
+ // solhint-disable-next-line avoid-low-level-calls
178
+ (bool success, ) = info.objectAddress.call(
177
179
  abi.encodeWithSignature(
178
180
  functionSignature,
179
181
  requestId,
180
- request.responseData));
182
+ requestInfo.responseData));
181
183
 
182
184
  // check that calling requestor was successful
183
185
  if (success) {
184
186
  instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
187
+ instance.getRequestSet().remove(requestInfo.oracleNftId, requestId);
185
188
  emit LogOracleServiceResponseResent(requestId, requesterNftId);
186
189
  } else {
187
190
  emit LogOracleServiceDeliveryFailed(requestId, info.objectAddress, functionSignature);
@@ -204,20 +207,20 @@ contract OracleService is
204
207
  IInstance instance = IInstance(instanceAddress);
205
208
  bool callerIsOracle = false;
206
209
  // TODO property isCancelled and state update to CANCELLED are redundant, get rid of isCancelled
207
- IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
208
- request.isCancelled = true;
210
+ IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
211
+ requestInfo.isCancelled = true;
209
212
 
210
- instance.getInstanceStore().updateRequest(requestId, request, CANCELLED());
213
+ instance.getInstanceStore().updateRequest(requestId, requestInfo, CANCELLED());
214
+ instance.getRequestSet().remove(requestInfo.oracleNftId, requestId);
211
215
 
212
216
  // call oracle component
213
217
  // TODO add check that oracle is active?
214
- address oracleAddress = getRegistry().getObjectAddress(request.oracleNftId);
218
+ address oracleAddress = getRegistry().getObjectAddress(requestInfo.oracleNftId);
215
219
  IOracleComponent(oracleAddress).cancel(requestId);
216
220
 
217
221
  emit LogOracleServiceRequestCancelled(requestId, requesterNftId);
218
222
  }
219
223
 
220
-
221
224
  function _checkRequestParams(
222
225
  IRegistry registry,
223
226
  NftId oracleNftId,
@@ -72,4 +72,10 @@ library RequestIdLib {
72
72
  function toKeyId(RequestId id) public pure returns (KeyId keyId) {
73
73
  return KeyId.wrap(bytes31(uint248(RequestId.unwrap(id))));
74
74
  }
75
+
76
+ function toRequestId(KeyId keyId) public pure returns (RequestId requestId) {
77
+ uint248 keyIdInt = uint248(bytes31(KeyId.unwrap(keyId)));
78
+ assert(keyIdInt < type(uint64).max);
79
+ return RequestId.wrap(uint64(keyIdInt));
80
+ }
75
81
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "3.0.0-9db267a-850",
3
+ "version": "3.0.0-9db9ac5-352",
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": {