@etherisc/gif-next 3.0.0-1b49bd6-565 → 3.0.0-1c2086e-623

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 (545) hide show
  1. package/README.md +9 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +119 -117
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +46 -91
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +145 -168
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +85 -83
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -222
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +59 -168
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +252 -238
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +154 -144
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +58 -180
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +145 -111
  39. package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.dbg.json +4 -0
  40. package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.json +376 -0
  41. package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.json +1391 -0
  43. package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.json +844 -0
  45. package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.json +2433 -0
  47. package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.json +891 -0
  49. package/artifacts/contracts/examples/crop/Location.sol/LocationLib.dbg.json +4 -0
  50. package/artifacts/contracts/examples/crop/Location.sol/LocationLib.json +199 -0
  51. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  52. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
  53. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  54. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +108 -245
  55. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  56. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  57. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  58. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +141 -283
  59. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  60. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  61. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  62. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  63. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
  64. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +221 -86
  65. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
  66. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +2 -2
  67. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  69. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
  70. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +253 -275
  71. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  72. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +112 -41
  73. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
  74. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +112 -249
  75. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
  76. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
  77. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
  78. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +461 -866
  79. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
  80. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +113 -42
  81. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  82. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  83. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
  84. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +2 -2
  85. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
  86. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +2 -2
  87. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  88. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +104 -255
  89. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  90. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  91. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  92. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +177 -226
  93. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  94. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +124 -256
  95. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  96. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  97. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  98. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +124 -261
  99. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  100. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  101. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  102. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  103. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  104. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +69 -77
  105. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  106. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  107. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  108. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +52 -91
  109. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  110. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +152 -92
  111. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  112. package/artifacts/contracts/instance/Instance.sol/Instance.json +82 -158
  113. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  114. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +226 -248
  115. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  116. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  117. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  118. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +186 -44
  119. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  120. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +201 -149
  121. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +116 -108
  123. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  124. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +171 -121
  125. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  126. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +166 -107
  127. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +4 -0
  128. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
  129. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  130. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +98 -106
  131. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  132. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +9 -9
  133. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  134. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  135. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  136. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  137. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  138. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  139. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  140. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +9 -4
  141. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  142. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +40 -4
  143. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  144. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  145. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  146. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  147. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  148. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  149. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  150. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  151. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +152 -195
  152. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  153. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  154. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  155. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  156. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +132 -152
  157. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  158. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +102 -93
  159. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  160. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +138 -145
  161. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  162. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +167 -162
  163. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +133 -115
  165. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  166. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +77 -167
  167. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  168. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  169. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  170. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +149 -203
  171. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -133
  173. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  174. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +64 -98
  175. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  176. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +75 -178
  177. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  178. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +136 -132
  179. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  180. package/artifacts/contracts/pool/Pool.sol/Pool.json +77 -167
  181. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  182. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
  183. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  184. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +215 -271
  185. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +134 -144
  187. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  188. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +81 -156
  189. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  190. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -114
  191. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  192. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +61 -151
  193. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  194. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  195. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  196. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +139 -200
  197. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -136
  199. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  200. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +50 -89
  201. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  202. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +56 -89
  203. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  204. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +85 -91
  205. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  206. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +47 -86
  207. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  208. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +60 -163
  209. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  210. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +63 -120
  211. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  212. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +148 -182
  213. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  214. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +25 -17
  215. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +132 -126
  217. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  218. package/artifacts/contracts/product/PricingService.sol/PricingService.json +98 -165
  219. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  220. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -120
  221. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  222. package/artifacts/contracts/product/Product.sol/Product.json +61 -151
  223. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  224. package/artifacts/contracts/product/RiskService.sol/RiskService.json +88 -205
  225. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  226. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +110 -120
  227. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  228. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +58 -8
  229. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  230. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +86 -179
  231. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  232. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +218 -204
  233. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  234. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  235. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  236. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  237. package/artifacts/contracts/registry/Registry.sol/Registry.json +176 -328
  238. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  239. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +221 -242
  240. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  241. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
  242. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  243. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +246 -287
  244. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  245. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +114 -119
  246. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  247. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +236 -245
  248. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  249. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  250. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  251. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +219 -158
  252. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  253. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  254. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  255. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +38 -22
  256. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  257. package/artifacts/contracts/shared/Component.sol/Component.json +41 -161
  258. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  259. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +552 -180
  260. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  261. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +145 -119
  262. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  263. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
  264. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  265. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  266. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  267. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  268. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  269. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  270. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +40 -173
  271. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  272. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +40 -173
  273. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  274. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +455 -95
  275. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  276. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +58 -161
  277. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  278. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  279. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +30 -3
  280. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  281. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
  282. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  283. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +27 -79
  284. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  285. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
  286. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  287. package/artifacts/contracts/shared/IService.sol/IService.json +34 -73
  288. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  289. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  290. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  291. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +59 -149
  292. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  293. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  294. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  295. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  296. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +36 -17
  297. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  298. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
  299. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  300. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +26 -78
  301. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  302. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
  303. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  304. package/artifacts/contracts/shared/Service.sol/Service.json +33 -72
  305. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  306. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -82
  307. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  308. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -70
  309. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  310. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  311. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  312. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +147 -248
  313. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  314. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +51 -296
  315. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  316. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  317. package/artifacts/contracts/staking/Staking.sol/Staking.json +200 -317
  318. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  319. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
  320. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  321. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +128 -116
  322. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  323. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
  324. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  325. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +80 -353
  326. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  327. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +115 -109
  328. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  329. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +234 -242
  330. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  331. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +20 -33
  332. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  333. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
  334. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  335. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  336. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
  338. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  340. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  342. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  344. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  346. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
  348. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  350. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  351. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  352. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  354. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  355. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  356. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
  358. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  360. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  362. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
  364. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  365. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  366. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +17 -22
  368. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  370. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  371. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
  372. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  373. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  374. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  375. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  376. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  377. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  378. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  379. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  380. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  381. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  382. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  383. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
  384. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  385. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  386. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  387. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  388. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  389. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  390. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  391. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +90 -67
  392. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  393. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  394. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  395. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  396. package/contracts/accounting/AccountingService.sol +22 -33
  397. package/contracts/accounting/AccountingServiceManager.sol +6 -4
  398. package/contracts/accounting/IAccountingService.sol +7 -8
  399. package/contracts/authorization/AccessAdmin.sol +35 -55
  400. package/contracts/authorization/AccessAdminLib.sol +27 -13
  401. package/contracts/authorization/AccessManagerCloneable.sol +52 -24
  402. package/contracts/authorization/Authorization.sol +2 -2
  403. package/contracts/authorization/IAccessAdmin.sol +11 -10
  404. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  405. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  406. package/contracts/distribution/BasicDistribution.sol +2 -0
  407. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  408. package/contracts/distribution/Distribution.sol +2 -0
  409. package/contracts/distribution/DistributionService.sol +44 -43
  410. package/contracts/distribution/DistributionServiceManager.sol +6 -4
  411. package/contracts/distribution/IDistributionComponent.sol +0 -2
  412. package/contracts/distribution/IDistributionService.sol +8 -7
  413. package/contracts/examples/crop/AccountingToken.sol +26 -0
  414. package/contracts/examples/crop/CropPool.sol +89 -0
  415. package/contracts/examples/crop/CropPoolAuthorization.sol +37 -0
  416. package/contracts/examples/crop/CropProduct.sol +512 -0
  417. package/contracts/examples/crop/CropProductAuthorization.sol +69 -0
  418. package/contracts/examples/crop/Location.sol +50 -0
  419. package/contracts/examples/fire/FirePool.sol +4 -0
  420. package/contracts/examples/fire/FireProduct.sol +5 -1
  421. package/contracts/examples/flight/FlightLib.sol +95 -108
  422. package/contracts/examples/flight/FlightNft.sol +234 -0
  423. package/contracts/examples/flight/FlightOracle.sol +26 -60
  424. package/contracts/examples/flight/FlightOracleAuthorization.sol +27 -5
  425. package/contracts/examples/flight/FlightPool.sol +5 -1
  426. package/contracts/examples/flight/FlightProduct.sol +292 -252
  427. package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
  428. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  429. package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
  430. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
  431. package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
  432. package/contracts/examples/unpermissioned/SimpleProduct.sol +5 -5
  433. package/contracts/instance/BaseStore.sol +4 -0
  434. package/contracts/instance/BundleSet.sol +7 -8
  435. package/contracts/instance/IBaseStore.sol +8 -0
  436. package/contracts/instance/IInstance.sol +10 -7
  437. package/contracts/instance/IInstanceService.sol +11 -4
  438. package/contracts/instance/Instance.sol +19 -7
  439. package/contracts/instance/InstanceAdmin.sol +18 -11
  440. package/contracts/instance/InstanceAuthorizationV3.sol +17 -5
  441. package/contracts/instance/InstanceReader.sol +70 -23
  442. package/contracts/instance/InstanceService.sol +88 -54
  443. package/contracts/instance/InstanceServiceManager.sol +6 -4
  444. package/contracts/instance/InstanceStore.sol +14 -14
  445. package/contracts/instance/ProductStore.sol +16 -15
  446. package/contracts/instance/RequestSet.sol +63 -0
  447. package/contracts/instance/RiskSet.sol +6 -7
  448. package/contracts/instance/TargetNames.sol +1 -0
  449. package/contracts/instance/base/BalanceStore.sol +7 -7
  450. package/contracts/instance/base/Cloneable.sol +10 -4
  451. package/contracts/instance/base/ObjectCounter.sol +7 -5
  452. package/contracts/instance/base/ObjectSet.sol +11 -3
  453. package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
  454. package/contracts/oracle/BasicOracle.sol +3 -0
  455. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  456. package/contracts/oracle/IOracleComponent.sol +10 -0
  457. package/contracts/oracle/IOracleService.sol +9 -5
  458. package/contracts/oracle/Oracle.sol +54 -29
  459. package/contracts/oracle/OracleService.sol +89 -56
  460. package/contracts/oracle/OracleServiceManager.sol +6 -4
  461. package/contracts/pool/BasicPool.sol +4 -2
  462. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  463. package/contracts/pool/BundleService.sol +22 -28
  464. package/contracts/pool/BundleServiceManager.sol +7 -5
  465. package/contracts/pool/IBundleService.sol +9 -10
  466. package/contracts/pool/IPoolComponent.sol +1 -1
  467. package/contracts/pool/IPoolService.sol +14 -13
  468. package/contracts/pool/Pool.sol +3 -1
  469. package/contracts/pool/PoolLib.sol +102 -5
  470. package/contracts/pool/PoolService.sol +101 -67
  471. package/contracts/pool/PoolServiceManager.sol +6 -4
  472. package/contracts/product/ApplicationService.sol +34 -13
  473. package/contracts/product/ApplicationServiceManager.sol +6 -4
  474. package/contracts/product/BasicProduct.sol +2 -0
  475. package/contracts/product/BasicProductAuthorization.sol +4 -5
  476. package/contracts/product/ClaimService.sol +35 -11
  477. package/contracts/product/ClaimServiceManager.sol +7 -5
  478. package/contracts/product/IApplicationService.sol +8 -8
  479. package/contracts/product/IClaimService.sol +9 -9
  480. package/contracts/product/IPolicyService.sol +8 -7
  481. package/contracts/product/IRiskService.sol +4 -6
  482. package/contracts/product/PolicyService.sol +58 -45
  483. package/contracts/product/PolicyServiceLib.sol +5 -3
  484. package/contracts/product/PolicyServiceManager.sol +6 -4
  485. package/contracts/product/PricingService.sol +8 -7
  486. package/contracts/product/PricingServiceManager.sol +6 -4
  487. package/contracts/product/Product.sol +3 -5
  488. package/contracts/product/RiskService.sol +43 -16
  489. package/contracts/product/RiskServiceManager.sol +6 -4
  490. package/contracts/registry/ChainNft.sol +10 -9
  491. package/contracts/registry/IRegistry.sol +23 -28
  492. package/contracts/registry/IRegistryService.sol +14 -10
  493. package/contracts/registry/IRelease.sol +3 -0
  494. package/contracts/registry/Registry.sol +93 -136
  495. package/contracts/registry/RegistryAdmin.sol +29 -12
  496. package/contracts/registry/RegistryAuthorization.sol +3 -6
  497. package/contracts/registry/RegistryService.sol +82 -99
  498. package/contracts/registry/RegistryServiceManager.sol +11 -4
  499. package/contracts/registry/ReleaseAdmin.sol +27 -13
  500. package/contracts/registry/ReleaseRegistry.sol +81 -72
  501. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  502. package/contracts/registry/TokenRegistry.sol +18 -9
  503. package/contracts/shared/Component.sol +22 -27
  504. package/contracts/shared/ComponentService.sol +168 -49
  505. package/contracts/shared/ComponentServiceManager.sol +7 -5
  506. package/contracts/shared/ContractLib.sol +93 -359
  507. package/contracts/shared/IComponent.sol +3 -9
  508. package/contracts/shared/IComponentService.sol +44 -8
  509. package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
  510. package/contracts/shared/INftOwnable.sol +3 -1
  511. package/contracts/shared/IRegisterable.sol +3 -14
  512. package/contracts/shared/IRegistryLinked.sol +3 -1
  513. package/contracts/shared/IService.sol +2 -2
  514. package/contracts/shared/InstanceLinkedComponent.sol +65 -30
  515. package/contracts/shared/NftOwnable.sol +22 -9
  516. package/contracts/shared/PolicyHolder.sol +4 -2
  517. package/contracts/shared/Registerable.sol +20 -37
  518. package/contracts/shared/RegistryLinked.sol +23 -4
  519. package/contracts/shared/Service.sol +9 -8
  520. package/contracts/shared/TokenHandler.sol +6 -9
  521. package/contracts/staking/IStaking.sol +35 -33
  522. package/contracts/staking/IStakingService.sol +7 -16
  523. package/contracts/staking/Staking.sol +38 -32
  524. package/contracts/staking/StakingLib.sol +1 -3
  525. package/contracts/staking/StakingManager.sol +6 -3
  526. package/contracts/staking/StakingReader.sol +17 -9
  527. package/contracts/staking/StakingService.sol +15 -19
  528. package/contracts/staking/StakingServiceManager.sol +8 -4
  529. package/contracts/staking/StakingStore.sol +11 -11
  530. package/contracts/staking/TargetHandler.sol +7 -6
  531. package/contracts/type/RequestId.sol +6 -0
  532. package/contracts/type/RiskId.sol +8 -8
  533. package/contracts/type/Version.sol +16 -15
  534. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  535. package/contracts/upgradeability/ProxyManager.sol +54 -46
  536. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  537. package/package.json +3 -3
  538. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  539. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  540. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  541. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  542. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  543. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  544. package/contracts/shared/IVersionable.sol +0 -19
  545. package/contracts/shared/Versionable.sol +0 -47
@@ -0,0 +1,63 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IComponents} from "./module/IComponents.sol";
5
+
6
+ import {Key32} from "../type/Key32.sol";
7
+ import {LibNftIdSet} from "../type/NftIdSet.sol";
8
+ import {LibRequestIdSet} from "../type/RequestIdSet.sol";
9
+ import {NftId} from "../type/NftId.sol";
10
+ import {ObjectSet} from "./base/ObjectSet.sol";
11
+ import {ObjectSetHelperLib} from "./base/ObjectSetHelperLib.sol";
12
+ import {RequestId, RequestIdLib} from "../type/RequestId.sol";
13
+
14
+ contract RequestSet is
15
+ ObjectSet
16
+ {
17
+ using LibNftIdSet for LibNftIdSet.Set;
18
+ using LibRequestIdSet for LibRequestIdSet.Set;
19
+
20
+ event LogRequestSetRequestAdded(NftId indexed oracleNftId, RequestId indexed requestId);
21
+ event LogRequestSetRequestRemoved(NftId indexed oracleNftId, RequestId indexed requestId);
22
+
23
+ error ErrorRequestSetOracleNotRegistered(NftId oracleNftId);
24
+
25
+ /// @dev add a new request to a oracle registerd with this instance
26
+ // the corresponding oracles existence is checked via instance reader
27
+ function add(NftId oracleNftId, RequestId requestId) external restricted() {
28
+ IComponents.ComponentInfo memory componentInfo = ObjectSetHelperLib.getComponentInfo(_instanceAddress, oracleNftId);
29
+
30
+ // ensure pool is registered with instance
31
+ if (bytes(componentInfo.name).length == 0) {
32
+ revert ErrorRequestSetOracleNotRegistered(oracleNftId);
33
+ }
34
+
35
+ _add(oracleNftId, _toRequestKey32(requestId));
36
+ emit LogRequestSetRequestAdded(oracleNftId, requestId);
37
+ }
38
+
39
+ function remove(NftId oracleNftId, RequestId requestId) external restricted() {
40
+ _remove(oracleNftId, _toRequestKey32(requestId));
41
+ emit LogRequestSetRequestRemoved(oracleNftId, requestId);
42
+ }
43
+
44
+ function _toRequestKey32(RequestId requestId) private pure returns (Key32) {
45
+ return requestId.toKey32();
46
+ }
47
+
48
+ function activeRequests(NftId oracleNftId) external view returns (uint256 numberOfRequests) {
49
+ return _objects(oracleNftId);
50
+ }
51
+
52
+ function activeRequestAt(NftId oracleNftId, uint256 idx) external view returns (RequestId requestId) {
53
+ return _toRequestId(_getActiveObject(oracleNftId, idx));
54
+ }
55
+
56
+ function contains(NftId oracleNftId, RequestId requestId) external view returns (bool) {
57
+ return _contains(oracleNftId, _toRequestKey32(requestId));
58
+ }
59
+
60
+ function _toRequestId(Key32 key) private pure returns (RequestId) {
61
+ return RequestIdLib.toRequestId(key.toKeyId());
62
+ }
63
+ }
@@ -13,12 +13,11 @@ contract RiskSet is
13
13
  ObjectSet
14
14
  {
15
15
 
16
- event LogRiskSetPolicyLinked(RiskId riskId, NftId policyNftId);
17
- event LogRiskSetPolicyUnlinked(RiskId riskId, NftId policyNftId);
16
+ event LogRiskSetPolicyLinked(RiskId indexed riskId, NftId indexed policyNftId);
17
+ event LogRiskSetPolicyUnlinked(RiskId indexed riskId, NftId indexed policyNftId);
18
18
 
19
- event LogRiskSetRiskAdded(NftId productNftId, RiskId riskId);
20
- event LogRiskSetRiskActive(NftId poolNftId, RiskId riskId);
21
- event LogRiskSetRiskPaused(NftId poolNftId, RiskId riskId);
19
+ event LogRiskSetRiskAdded(NftId indexed productNftId, RiskId indexed riskId);
20
+ event LogRiskSetRiskActivated(NftId indexed poolNftId, RiskId indexed riskId, bool indexed active);
22
21
 
23
22
  error ErrorRiskSetRiskLocked(RiskId riskId, NftId policyNftId);
24
23
  error ErrorRiskSetRiskUnknown(RiskId riskId);
@@ -68,14 +67,14 @@ contract RiskSet is
68
67
  function activate(RiskId riskId) external restricted() {
69
68
  NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
70
69
  _activate(productNftId, riskId.toKey32());
71
- emit LogRiskSetRiskActive(productNftId, riskId);
70
+ emit LogRiskSetRiskActivated(productNftId, riskId, true);
72
71
  }
73
72
 
74
73
  /// @dev Applications linked to paused/archived risks may not be underwritten
75
74
  function deactivate(RiskId riskId) external restricted() {
76
75
  NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
77
76
  _deactivate(productNftId, riskId.toKey32());
78
- emit LogRiskSetRiskPaused(productNftId, riskId);
77
+ emit LogRiskSetRiskActivated(productNftId, riskId, false);
79
78
  }
80
79
 
81
80
  function checkRisk(NftId productNftId, RiskId riskId)
@@ -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
 
@@ -10,16 +10,16 @@ contract BalanceStore {
10
10
  error ErrorBalanceStoreTargetAlreadyRegistered(NftId targetNftId);
11
11
  error ErrorBalanceStoreTargetNotRegistered(NftId targetNftId);
12
12
 
13
- event LogBalanceStoreTargetRegistered(NftId targetNftId);
13
+ event LogBalanceStoreTargetRegistered(NftId indexed targetNftId);
14
14
 
15
- event LogBalanceStoreFeesIncreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
16
- event LogBalanceStoreFeesDecreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
15
+ event LogBalanceStoreFeesIncreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
16
+ event LogBalanceStoreFeesDecreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
17
17
 
18
- event LogBalanceStoreLockedIncreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
19
- event LogBalanceStoreLockedDecreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
18
+ event LogBalanceStoreLockedIncreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
19
+ event LogBalanceStoreLockedDecreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
20
20
 
21
- event LogBalanceStoreBalanceIncreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
22
- event LogBalanceStoreBalanceDecreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
21
+ event LogBalanceStoreBalanceIncreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
22
+ event LogBalanceStoreBalanceDecreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
23
23
 
24
24
  mapping(NftId nftId => Amount balance) private _balanceAmount;
25
25
  mapping(NftId nftId => Amount locked) private _lockedAmount;
@@ -4,19 +4,25 @@ pragma solidity ^0.8.20;
4
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
5
 
6
6
  import {IRegistry} from "../../registry/IRegistry.sol";
7
- import {RegistryLinked} from "../../shared/RegistryLinked.sol";
8
7
 
9
8
  abstract contract Cloneable is
10
- AccessManagedUpgradeable,
11
- RegistryLinked
9
+ AccessManagedUpgradeable
12
10
  {
11
+ IRegistry internal _registry;
12
+
13
13
  /// @dev call to initialize MUST be made in the same transaction as cloning of the contract
14
14
  function __Cloneable_init(
15
- address authority
15
+ address authority,
16
+ address registry
16
17
  )
17
18
  internal
18
19
  onlyInitializing
19
20
  {
20
21
  __AccessManaged_init(authority);
22
+ _registry = IRegistry(registry);
23
+ }
24
+
25
+ function getRegistry() external view returns (IRegistry) {
26
+ return _registry;
21
27
  }
22
28
  }
@@ -1,20 +1,22 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Blocknumber, BlocknumberLib} from "../../type/Blocknumber.sol";
5
4
  import {NftId} from "../../type/NftId.sol";
6
- import {Amount} from "../../type/Amount.sol";
7
5
  import {RequestId, RequestIdLib} from "../../type/RequestId.sol";
6
+ import {RiskId, RiskIdLib} from "../../type/RiskId.sol";
8
7
 
9
8
  contract ObjectCounter {
10
9
 
11
- // TODO refactor risk id
12
- // mapping(NftId productNftId => uint64 risks) private _riskCounter;
13
-
10
+ uint64 private _riskCounter = 0;
14
11
  uint256 private _requestCounter = 0;
15
12
 
16
13
  function _createNextRequestId() internal returns (RequestId requestId) {
17
14
  _requestCounter++;
18
15
  requestId = RequestIdLib.toRequestId(_requestCounter);
19
16
  }
17
+
18
+ function _createNextRiskId() internal returns (RiskId riskId) {
19
+ _riskCounter++;
20
+ riskId = RiskIdLib.toRiskId(_riskCounter);
21
+ }
20
22
  }
@@ -12,7 +12,7 @@ contract ObjectSet is
12
12
  {
13
13
  using LibKey32Set for LibKey32Set.Set;
14
14
 
15
- event LogObjectSetInitialized(address instance);
15
+ event LogObjectSetInitialized(address indexed instance);
16
16
 
17
17
  error ErrorObjectSetNftIdInvalid(NftId instanceNftId);
18
18
 
@@ -21,12 +21,12 @@ contract ObjectSet is
21
21
  address internal _instanceAddress;
22
22
 
23
23
  /// @dev This initializer needs to be called from the instance itself.
24
- function initialize(address authority)
24
+ function initialize(address authority, address registry)
25
25
  external
26
26
  initializer()
27
27
  {
28
28
  _instanceAddress = msg.sender;
29
- __Cloneable_init(authority);
29
+ __Cloneable_init(authority, registry);
30
30
 
31
31
  emit LogObjectSetInitialized(address(_instanceAddress));
32
32
  }
@@ -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
  }
@@ -22,7 +22,9 @@ contract BasicOracle is
22
22
  _respond(requestId, responseData);
23
23
  }
24
24
 
25
+
25
26
  function _initializeBasicOracle(
27
+ address registry,
26
28
  NftId instanceNftId,
27
29
  IAuthorization authorization,
28
30
  address initialOwner,
@@ -34,6 +36,7 @@ contract BasicOracle is
34
36
  {
35
37
 
36
38
  __Oracle_init(
39
+ registry,
37
40
  instanceNftId,
38
41
  authorization,
39
42
  initialOwner,
@@ -8,8 +8,6 @@ import {IAccess} from "../authorization/IAccess.sol";
8
8
  import {IOracle} from "./IOracle.sol";
9
9
  import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
10
10
  import {RoleId} from "../type/RoleId.sol";
11
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
12
- import {VersionPartLib} from "../type/Version.sol";
13
11
 
14
12
 
15
13
  contract BasicOracleAuthorization
@@ -23,7 +21,7 @@ contract BasicOracleAuthorization
23
21
  Authorization(
24
22
  componentName,
25
23
  ORACLE(),
26
- GIF_INITIAL_RELEASE(),
24
+ 3,
27
25
  commitHash,
28
26
  TargetType.Component,
29
27
  false)
@@ -13,6 +13,10 @@ import {Timestamp} from "../type/Timestamp.sol";
13
13
  interface IOracleComponent is IInstanceLinkedComponent {
14
14
  error ErrorOracleNotImplemented(string methodName);
15
15
 
16
+ event LogOracleRequestReceived(RequestId indexed requestId, NftId indexed requesterId);
17
+ event LogOracleRequestCancelled(RequestId indexed requestId);
18
+
19
+
16
20
  /// @dev callback method for requesting some data from the oracle
17
21
  function request(
18
22
  RequestId requestId,
@@ -30,4 +34,10 @@ interface IOracleComponent is IInstanceLinkedComponent {
30
34
 
31
35
  /// @dev returns true iff the component needs to be called when selling/renewing policis
32
36
  function isVerifying() external view returns (bool verifying);
37
+
38
+ function activeRequests() external view returns(uint256 numberOfRequests);
39
+
40
+ function getActiveRequest(uint256 idx) external view returns(RequestId requestId);
41
+
42
+ function isActiveRequest(RequestId requestId) external view returns(bool isActive);
33
43
  }
@@ -11,16 +11,20 @@ import {Timestamp} from "../type/Timestamp.sol";
11
11
 
12
12
  interface IOracleService is IService {
13
13
 
14
- event LogOracleServiceRequestCreated(RequestId requestId, NftId requesterNftId, NftId oracleNftId, Timestamp expiryAt);
15
- event LogOracleServiceResponseProcessed(RequestId requestId, NftId oracleNftId);
16
- event LogOracleServiceDeliveryFailed(RequestId requestId, address requesterAddress, string functionSignature);
17
- event LogOracleServiceResponseResent(RequestId requestId, NftId requesterNftId);
18
- event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
14
+ event LogOracleServiceRequestCreated(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId, Timestamp expiryAt);
15
+ event LogOracleServiceResponseProcessed(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId);
16
+ event LogOracleServiceDeliveryFailed(RequestId indexed requestId, address indexed requesterAddress, string functionSignature);
17
+ event LogOracleServiceResponseResent(RequestId indexed requestId, NftId indexed requesterNftId);
18
+ event LogOracleServiceRequestCancelled(RequestId indexed requestId, NftId indexed requesterNftId);
19
19
 
20
20
  // create request
21
+ error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
21
22
  error ErrorOracleServiceExpiryInThePast(Timestamp blockTimestamp, Timestamp expiryAt);
22
23
  error ErrorOracleServiceCallbackMethodNameEmpty();
23
24
 
25
+ // respond
26
+ error ErrorOracleServiceNotResponsibleOracle(RequestId requestId, NftId expectedOracleNftId, NftId oracleNftId);
27
+
24
28
  // get request info
25
29
  error ErrorOracleServiceRequestStateNotActive(RequestId requestId, StateId state);
26
30
  error ErrorOracleServiceCallerNotResponsibleOracle(RequestId requestId, NftId oracleNftId, NftId callerNftId);
@@ -2,14 +2,13 @@
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
- import {IComponent} from "../shared/IComponent.sol";
8
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
9
9
  import {IOracleComponent} from "./IOracleComponent.sol";
10
10
  import {IOracleService} from "./IOracleService.sol";
11
11
  import {NftId} from "../type/NftId.sol";
12
- import {Component} from "../shared/Component.sol";
13
12
  import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
14
13
  import {RequestId} from "../type/RequestId.sol";
15
14
  import {Timestamp} from "../type/Timestamp.sol";
@@ -64,10 +63,10 @@ abstract contract Oracle is
64
63
  }
65
64
 
66
65
  /// @dev Not relevant for oracle components
67
- function withdrawFees(Amount amount)
66
+ function withdrawFees(Amount)
68
67
  external
69
68
  virtual
70
- override(IComponent, Component)
69
+ override(IInstanceLinkedComponent, InstanceLinkedComponent)
71
70
  onlyOwner()
72
71
  restricted()
73
72
  returns (Amount)
@@ -75,8 +74,34 @@ abstract contract Oracle is
75
74
  revert ErrorOracleNotImplemented("withdrawFees");
76
75
  }
77
76
 
77
+ function activeRequests()
78
+ external
79
+ view
80
+ returns(uint256 numberOfRequests)
81
+ {
82
+ return _getInstanceReader().getActiveRequests(getNftId());
83
+ }
78
84
 
85
+
86
+ function getActiveRequest(uint256 idx)
87
+ external
88
+ view
89
+ returns(RequestId requestId)
90
+ {
91
+ return _getInstanceReader().getActiveRequestAt(getNftId(), idx);
92
+ }
93
+
94
+ function isActiveRequest(RequestId requestId)
95
+ external
96
+ view
97
+ returns(bool isActive)
98
+ {
99
+ return _getInstanceReader().isRequestActive(getNftId(), requestId);
100
+ }
101
+
102
+ // solhint-disable-next-line func-name-mixedcase
79
103
  function __Oracle_init(
104
+ address registry,
80
105
  NftId productNftId,
81
106
  IAuthorization authorization,
82
107
  address initialOwner,
@@ -87,6 +112,7 @@ abstract contract Oracle is
87
112
  onlyInitializing()
88
113
  {
89
114
  __InstanceLinkedComponent_init(
115
+ registry,
90
116
  productNftId,
91
117
  name,
92
118
  ORACLE(),
@@ -101,49 +127,48 @@ abstract contract Oracle is
101
127
  _registerInterface(type(IOracleComponent).interfaceId);
102
128
  }
103
129
 
104
-
105
- /// @dev Internal function for handling requests.
106
- /// Empty implementation.
107
- /// Overwrite this function to implement use case specific handling for oracle calls.
108
- function _request(
130
+ /// @dev Internal function for handling oracle responses.
131
+ /// Default implementation sends response back to oracle service.
132
+ /// Use this function in use case specific external/public functions to handle use case specific response handling.
133
+ function _respond(
109
134
  RequestId requestId,
110
- NftId requesterId,
111
- bytes calldata requestData,
112
- Timestamp expiryAt
135
+ bytes memory responseData
113
136
  )
114
137
  internal
115
138
  virtual
116
139
  {
140
+ _getOracleStorage()._oracleService.respond(requestId, responseData);
117
141
  }
118
142
 
119
-
120
- /// @dev Internal function for cancelling requests.
121
- /// Empty implementation.
122
- /// Overwrite this function to implement use case specific cancelling.
123
- function _cancel(
124
- RequestId requestId
143
+ /// @dev use case specific handling of oracle requests
144
+ /// for now only log is emitted to verify that request has been received by oracle component
145
+ function _request(
146
+ RequestId requestId,
147
+ NftId requesterId,
148
+ bytes calldata,
149
+ Timestamp
125
150
  )
126
151
  internal
127
- virtual
152
+ virtual
128
153
  {
154
+ emit LogOracleRequestReceived(requestId, requesterId);
129
155
  }
130
156
 
131
157
 
132
- /// @dev Internal function for handling oracle responses.
133
- /// Default implementation sends response back to oracle service.
134
- /// Use this function in use case specific external/public functions to handle use case specific response handling.
135
- function _respond(
136
- RequestId requestId,
137
- bytes memory responseData
158
+ /// @dev use case specific handling of oracle requests
159
+ /// for now only log is emitted to verify that cancelling has been received by oracle component
160
+ function _cancel(
161
+ RequestId requestId
138
162
  )
139
163
  internal
140
- virtual
164
+ virtual
141
165
  {
142
- _getOracleStorage()._oracleService.respond(
143
- requestId, responseData);
166
+ emit LogOracleRequestCancelled(requestId);
144
167
  }
145
168
 
169
+
146
170
  function _getOracleStorage() private pure returns (OracleStorage storage $) {
171
+ // solhint-disable-next-line no-inline-assembly
147
172
  assembly {
148
173
  $.slot := ORACLE_STORAGE_LOCATION_V1
149
174
  }